A powerful yet minimal C++ command-line Todo application with support for undoing actions, marking tasks as important, and persistent file storage.
Designed for developers who appreciate clean code, functional CLI tools, and efficient task tracking.
- 📌 Add tasks quickly via terminal
- 🗑️ Remove tasks by index
- ✅ Mark tasks as completed
- 🎯 Mark tasks as important (important tasks are listed first)
- 🔁 Undo support for add/remove operations
- 💾 Persistent storage in a simple
tasks.txtfile - 🧼 Clear all tasks with a single command
- 🧠 Smart formatting and readable CLI output
Add Task
Remove Task
Mark Done
Add Important Task
List Tasks
Undo
Clear All
Exit
1 Task: Study C++ STL Added.
4 Important Task: Complete GitHub README (!) Added.
5 --- TO DO --- 0 - [ ] Complete GitHub README (!) 1 - [ ] Study C++ STL
--- COMPLETED ---
- A C++ compiler (GCC, Clang, MSVC, etc.)
g++ main.cpp -o todo
▶️ Run
bash
./todo
All task data will be saved in tasks.txt in the same directory.
📁 File Structure
bash
todo-app/
├── main.cpp # Main application source code
├── tasks.txt # Task data (auto-generated)
├── .gitignore # Ignores binary + task file
└── README.md # Project documentation
🧩 Possible Improvements
⏰ Due dates & scheduling
🔍 Search & filter support
📊 Export tasks to CSV
🖥️ GUI version with Qt or web-based frontend
🤝 Contributing
Pull requests are welcome. Feel free to fork the project and submit improvements.