A simple Java console-based Email System where users can compose, send, view, and delete emails. All data is stored in a local text file using File I/O. This project demonstrates OOP concepts, layered architecture, and basic CRUD operations in Java.
EmailSystem/ β βββ EmailSystem.java # Main class (entry point) βββ Email.java # Model class βββ EmailDAO.java # Data Access Object (File I/O handling) βββ EmailService.java # Business logic βββ emails.txt # Email storage file (auto-created) βββ README.md # Project documentation βββ images/ # Screenshots (optional)
Java JDK 8 or later Any Java IDE (VS Code / IntelliJ / Eclipse) or Terminal + Text Editor (Notepad++, Sublime, etc.)
- Open the project folderin VS code.
- Press F5 or click Run>start Debugging.
- Select configuration: Main.
- Use number options in the terminal to interact with the menu.
Feature Description β Send Email Compose and send email with subject and body π© View Emails View all sent and received emails π₯ View Inbox View only received emails (receiver mailbox) ποΈ Delete Email Delete email using sender, receiver, and subject πΎ File I/O Uses a text file (emails.txt) for persistent storage π Input Validation Basic validation on inputs like email format and empty fields
+----------------------+ | EmailSystem | <-- Main (UI + Menu) +----------------------+ | β +----------------------+ | EmailService | <-- Logic Layer +----------------------+ | β +----------------------+ | EmailDAO | <-- File I/O +----------------------+ | β +----------------------+ | Email | <-- Model +----------------------+
Java Classes & Objects
Inheritance & Encapsulation
File Handling (BufferedReader/Writer)
Modular Programming
CRUD operations
Layered Architecture (Model β DAO β Service β UI)