A desktop task manager built with Python and FreeSimpleGUI to practice event-driven programming, file persistence, and clean application structure.
The application allows users to add, edit, and complete tasks through a graphical interface while storing data locally in a text file.
- ✅ Add new todos
- ✅ Edit existing todos
- ✅ Mark todos as completed
- ✅ Persistent storage using a text file
- ✅ Duplicate todo prevention
- ✅ Empty input validation
- ✅ Success and warning popup messages
- ✅ Live date and time display
python-task-manager-gui/
│
├── assets/
│ └── screenshot-main.png
│
├── main.py
├── file_manager.py
├── todos.txt
│
├── README.md
├── CHANGELOG.md
├── ROADMAP.md
├── requirements.txt
├── LICENSE
└── .gitignore
- Python 3.12+
- FreeSimpleGUI
Install the dependency:
pip install -r requirements.txtpython main.py- Python
- FreeSimpleGUI
- Event-Driven Programming
- File Handling
This project helped me strengthen my understanding of:
- Event-driven programming
- GUI development with FreeSimpleGUI
- File handling and data persistence
- Input validation
- Refactoring repeated code into reusable helper functions
- Organizing a Python project for GitHub
Some ideas for future versions include:
- Delete selected todo
- Search todos
- Keyboard shortcuts
- Categories
- Priorities
- Due dates
- SQLite database
- PyQt6 implementation
See ROADMAP.md for more details.
This project is licensed under the MIT License. See the LICENSE file for details.
Zahra Bakhtiary
