An advanced Python application that helps you organize your daily tasks and automatically generates an optimized schedule based on task priorities, preferences, and time constraints.
- User-friendly GUI built with Tkinter
- Add, edit, and remove tasks
- Specify task duration in minutes or hours
- Set task priorities (High, Medium, Low)
- Color-coded task display
- Automatic routine generation
- Export routine to TXT or CSV files
- Task categorization (Work, Personal, Health, Study, Other)
- Recurring tasks (Daily, Weekly, Monthly)
- Preferred time slots for tasks
- Customizable working hours
- Category and priority-based filtering
- Task statistics and analytics
- Data persistence (save/load tasks)
- Smart scheduling with conflict resolution
- Automatic 15-minute breaks between tasks
- Python 3.x
- Tkinter (usually comes with Python)
- Make sure you have Python installed on your system
- Navigate to the project directory in your terminal
- Run the application:
python main.py-
Task Management:
- Enter task details: name, duration, priority, category
- Set preferred time (optional, in HH:MM format)
- Choose recurring pattern if applicable
- Click "Add Task" to add to the list
- Tasks are color-coded by priority (red=high, orange=medium, green=low)
-
Task List Features:
- Double-click any task to edit its details
- Use category and priority filters to organize your view
- Select a task and click "Remove Task" to delete it
- "Clear Tasks" removes all tasks
-
Settings:
- Set your working hours in the Settings tab
- Changes are automatically saved
-
Statistics:
- View task distribution by priority and category
- Track total planned time
- Monitor recurring tasks
- Click "Update Statistics" to refresh
-
Generating Routine:
- Click "Generate Routine" to create an optimized schedule
- Schedule respects:
- Working hours
- Task priorities
- Preferred times
- Recurring patterns
- 15-minute breaks automatically added between tasks
- Unscheduled tasks are listed separately
-
Saving/Loading:
- "Save Tasks" preserves your task list for future sessions
- "Save Routine" exports the generated schedule
- Choose between TXT or CSV format
- Tasks are automatically loaded on startup
- Schedule generation prioritizes:
- Tasks with preferred times
- High priority tasks
- Medium priority tasks
- Low priority tasks
- The scheduler attempts to honor preferred times when possible
- Tasks that don't fit within working hours are listed as unscheduled
- Working hours and task data are automatically saved between sessions