A simple command-line Task Manager written in Python. This project demonstrates file-based user authentication, task management, and basic report generation.
- 🔑 User Authentication — Login system using
user.txt
. - 👥 User Management — Register new users (admin only).
- 📝 Task Management — Add, view, and complete tasks.
- 📊 Reports — Generate
task_overview.txt
anduser_overview.txt
with detailed stats. - 📈 Admin Dashboard — View total users and tasks in the terminal.
username: admin
password: password
user.txt
. This is for learning/demo purposes only.
-
Clone the repository:
git clone https://github.com/your-username/task-manager.git cd task-manager
-
Run the program:
python task_manager.py
Ensure you open the entire folder in VS Code (or run the script from inside the project directory). Otherwise, the program may look for
tasks.txt
anduser.txt
in your root directory.
task_manager.py
— Main programuser.txt
— Stores credentials (username;password
)tasks.txt
— Stores tasks in the format:username;title;description;due_date;assigned_date;Yes/No
task_overview.txt
— Auto-generated report on tasksuser_overview.txt
— Auto-generated per-user report
r
— Register a user (admin only)a
— Add a taskva
— View all tasksvm
— View my tasksds
— Display statistics (admin only)gr
— Generate reportse
— Exit program
admin;Fix login bug;Ensure login checks password correctly;2025-10-05;2025-09-28;No
- 🚨 Passwords stored in plain text — switch to hashed storage (e.g., bcrypt).
- 🔄 Duplicate functionality in functions vs inline menu code — refactor to avoid redundancy.
- ✏️ Editing/reassigning tasks not yet implemented.
- 🛡️ Add error handling for malformed files.
- ✅ Add unit tests.
Contributions are welcome! To contribute:
- Fork the repo
- Create a feature branch (
git checkout -b feature-name
) - Commit your changes (
git commit -m 'Add new feature'
) - Push to the branch (
git push origin feature-name
) - Open a Pull Request 🎉
This project is released under the MIT License.