Skip to content

yogeshkumarsaini/Daily-Journal-Application

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📓 Daily Journal Application

A console-based Daily Journal App built using Java that allows users to securely write, manage, and search personal journal entries.
This project demonstrates OOP, File Handling, Serialization, Date/Time API, and Password Encryption.


🚀 Features

  • 🔐 Password Protection (SHA-256 Encrypted)
  • ➕ Add new journal entries
  • 📖 View all saved entries
  • 🔍 Search entry by ID
  • 📅 Search entries by date
  • ✏ Edit existing entries
  • 🗑 Delete entries
  • 💾 Persistent storage using file serialization
  • 🧱 OOP-based design
  • 🖥 Menu-driven console interface

🧠 Concepts Used

  • Object-Oriented Programming (OOP)
  • Java Collections (ArrayList)
  • File Handling (ObjectInputStream / ObjectOutputStream)
  • Serialization
  • Java Time API (LocalDateTime, DateTimeFormatter)
  • SHA-256 Password Hashing
  • Exception Handling
  • CRUD Operations

📁 Project Structure

journalapp/
│
├── AuthManager.java → Handles encrypted login system
├── JournalEntry.java → Model class for journal entries
├── JournalManager.java → Business logic & file handling
└── Main.java → Menu-driven user interface

🔐 Security

The application stores passwords using SHA-256 hashing instead of plain text.
This ensures that even if the password file is accessed, the real password cannot be read.


🖥 How to Run

  1. Clone the repository
  2. Open in any Java IDE (IntelliJ, Eclipse, VS Code)
  3. Compile all files
  4. Run Main.java

On first run, you will be asked to set a password.


📅 Date Format for Search

When searching by date, use:

dd-MM-yyyy

Example: 03-02-2026

About

A secure console-based Daily Journal Application in Java with password authentication, entry management, date search, and file storage using OOP principles.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages