This is a simple Task Manager web application built with Flask. It allows users to create, view, edit, and delete tasks. The application also includes features like task sorting, filtering, status updates, a theme switcher for light and dark modes, and a chat interface.
- CRUD Operations: Create, Read, Update, and Delete tasks.
- Task Management:
- View a list of all tasks.
- Add new tasks with a title, description, start date, end date, and status.
- Edit existing tasks.
- Delete tasks.
- Sorting and Filtering:
- Sort tasks by ID, start date, end date, or status.
- Filter tasks by their status (ToDo, InProgress, Completed).
- Status Updates: Easily update the status of a task directly from the main task list.
- Theme Switcher: Toggle between light and dark themes for better user experience.
- Dashboard:
- View task statistics (total, to-do, in-progress, completed).
- Get reminders for urgent and approaching deadline tasks.
- A calendar view of tasks with deadlines.
- A bar chart showing the distribution of task statuses.
- API Endpoints: A RESTful API for managing tasks and interacting with the application programmatically.
- Chat Interface: A simple chat interface to interact with an MCP (Master Control Program) server.
.
├── app.py # Main Flask application file
├── config.py # Configuration file for the application
├── schema.sql # SQL schema for the database
├── tasks.db # SQLite database file
├── static/
│ ├── css/
│ │ └── style.css # CSS styles for the application
│ └── js/
│ └── theme.js # JavaScript for the theme switcher
└── templates/
├── 404.html # 404 error page
├── add.html # Page to add a new task
├── base.html # Base template for all pages
├── edit.html # Page to edit a task
└── index.html # Main page with the task list
- Python 3
- Flask
-
Clone the repository:
git clone https://github.com/your-username/task-manager.git cd task-manager -
Install the dependencies:
pip install Flask
-
Run the application:
python app.py
The application will be running at http://127.0.0.1:5000.
The application provides the following API endpoints:
GET /api/tasks: Get all tasks.GET /api/task/<task_id>: Get a single task by its ID.POST /api/tasks: Create a new task.PUT /api/task/<task_id>: Update an existing task.DELETE /api/task/<task_id>: Delete a task.POST /api/task/<task_id>/status: Update the status of a task.GET /api/tasks/events: Get task events for the calendar.GET /api/tasks/stats: Get task statistics.GET /api/mcp: Get MCP servers.POST /api/mcp/chat: Chat with MCP.
Contributions are welcome! Please feel free to submit a pull request.