A multi-mode Java Todo Application supporting GUI, console, and headless operation with user login and persistent storage.
This project demonstrates advanced Java features including Swing GUI, concurrent console operations, file persistence, and a modular architecture for further expansion.
-
Multi-mode operation
- GUI + Console concurrently
- Headless mode (run with --headless)
-
User Login
- Hardcoded credentials:
- Username:
admin - Password:
1234
- Username:
- GUI login dialog or console login depending on mode
- Hardcoded credentials:
-
Task Management
- Add, complete, and remove tasks
- Color-coded tasks in GUI (red = incomplete, green = completed)
- Pretty console output (
[✓] Taskvs[✗] Task)
-
Persistent Storage
- Tasks saved to
tasks.txtinname;true/falseformat - Automatically loads saved tasks on startup
- Tasks saved to
-
Concurrent Console + GUI
- Console commands work concurrently with GUI updates
- Supports adding, completing, removing tasks from either interface
-
Headless Mode
- Launch with
--headlessto run only the console version (no GUI, login in console)
- Launch with
- Java 17+ (JDK recommended)
- Compatible IDE (IntelliJ, Eclipse) or command-line tools
java Main