TaskFlow is a sleek, modern task management application built with Python and Flask. Originally developed as a web application, it has been optimized to run natively as a standalone Windows desktop program using FlaskWebGUI. It features a custom dark-mode interface, seamless deadline tracking, and a timezone-agnostic database.
- Native Desktop Experience: Runs as a standalone window without browser tabs or search bars.
- Modern UI/UX: Custom "Glassmorphism" dark mode styling with an intuitive, responsive Bento Grid layout.
- Precision Deadline Tracking: Integrated with Flatpickr to bypass clunky native HTML5 inputs, ensuring perfect DateTime formatting between the frontend and the backend.
- Timezone Agnostic Backend: All timestamps are securely stored in UTC and dynamically formatted for the local timezone on the dashboard.
- Backend: Python 3, Flask, SQLAlchemy (SQLite)
- Frontend: HTML5, Jinja2, Custom CSS, Bootstrap 4
- Forms & Validation: Flask-WTF, WTForms
- Libraries:
FlaskWebGUI(Desktop Wrapper),Flatpickr(JavaScript Datetime Engine)
1. Clone the repository
git clone https://github.com/CodebyLK/Task-Manager.git
cd "Task Manager"2. Set up a virtual environment
python -m venv env
env\Scripts\activate3. Install dependencies
pip install Flask Flask-SQLAlchemy Flask-WTF WTForms flaskwebgui4. Initialize the database
Run this in your terminal to build the initial data.db file:
python -c "from app import app, db; app.app_context().push(); db.create_all()"Desktop Mode (Default) Run the application normally to launch the native desktop window:
python app.pySilent Desktop Shortcut (Windows) To run the app without the background terminal:
- Create a desktop shortcut.
- Set the target to:
"[Path_to_Project]\env\Scripts\pythonw.exe" "[Path_to_Project]\app.py" - Double-click to launch silently.
Web Server Mode
To run it in a standard web browser, open app.py and swap the active runner:
if __name__ == '__main__':
# Standard Web Server
app.run(debug=True, host='0.0.0.0', port=8000)
# Desktop App Mode
# FlaskUI(app=app, server="flask", width=1000, height=800).run()Task Manager/
├── static/
│ └── favicon.ico # App window icon
├── templates/
│ ├── base.html # Master layout & custom CSS
│ ├── index.html # Bento Grid dashboard
│ ├── add.html # Task creation form
│ ├── edit.html # Task modification form
│ └── delete.html # Deletion confirmation
├── app.py # App initialization & GUI wrapper
├── forms.py # WTForms data validation
├── models.py # SQLAlchemy database schema
└── routes.py # Core application logic
Lena