- Overview
- Features
- Screenshots
- Requirements
- Installation
- Usage Guide
- Theme Customization
- Project Structure
- Technical Details
- Contributing
- License
- Authors
- Acknowledgments
- Star And Fork
- Support
A sophisticated task management application built with Python Tkinter, designed for professionals who need a robust solution for managing their daily tasks and projects. The application combines modern UI design with powerful features to provide a seamless task management experience.
- Modern UI/UX: Professional-grade interface with dark/light theme support
- Data Security: Automatic backups and data persistence
- Smart Features: Intelligent task organization and reminder system
- Cross-Platform: Works on Windows, macOS, and Linux
-
Create & Edit Tasks
- Title and detailed description
- Due date with calendar picker
- Priority levels (High, Medium, Low)
- Custom categories (Work, Personal, Shopping, Health, Education)
- Status tracking (Complete/Incomplete)
-
Advanced Task Features
- Recurring task support
- Task history tracking
- Bulk task operations
- Task dependencies
- Progress tracking
-
Professional Design
- Clean, intuitive layout
- Custom-styled Treeview
- Responsive design elements
- Professional color scheme
- Custom icons and indicators
-
User Experience
- Right-click context menus
- Drag-and-drop functionality
- Quick action shortcuts
- Intuitive navigation
- Smooth animations
-
Storage & Security
- Excel-based data storage
- Automatic data persistence
- Secure backup system
- Data recovery options
- Export capabilities
-
Organization
- Smart task categorization
- Advanced filtering system
- Powerful search functionality
- Custom sorting options
- Task grouping
-
Productivity Tools
- Smart reminders
- System notifications
- PDF report generation
- Task analytics
- Progress tracking
-
Integration
- System calendar integration
- Email notifications
- Cloud backup support
- Export/Import functionality
- API support
This screenshot shows the main interface where you can add new tasks, view existing tasks in the list, and use filters.
After adding a task, it appears in the task list below the input section, showing all the details including the Reminder Time.
Right-click on any task in the list to access quick actions like Edit, Delete, and Change Status.
Access the history page to view all your past tasks, including completed and deleted ones. The history list also includes the Reminder Time.
This screenshot displays the main application window with the dark theme enabled, showing a task added to the list.
- Python 3.7 or higher
- 4GB RAM minimum
- 100MB free disk space
- Windows 10/11, macOS 10.14+, or Linux
# Core Dependencies
pandas==2.1.4 # Data manipulation and analysis
openpyxl==3.1.2 # Excel file handling
tkcalendar==1.6.1 # Calendar widget
ttkthemes==3.2.2 # UI theming
reportlab==4.0.8 # PDF generation
plyer==2.1.0 # System notifications
schedule==1.2.0 # Task scheduling
pillow==10.2.0 # Image processing
python-dateutil==2.8.2 # Date handling
-
Clone the repository:
git clone https://github.com/sabbirahmad12/to-do-list-application.git cd to-do-list-application
-
Create a virtual environment (recommended):
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install dependencies:
pip install -r requirements.txt
-
Run the application:
python main.py
-
Install development dependencies:
pip install -r requirements-dev.txt
-
Set up pre-commit hooks:
pre-commit install
-
Adding Tasks
# Example task creation task = { "Title": "Project Meeting", "Description": "Weekly team sync", "Due Date": "2024-03-25", "Priority": "High", "Category": "Work" }
-
Managing Tasks
- Use right-click menu for quick actions
- Drag and drop for reordering
- Double-click to edit
- Use keyboard shortcuts for efficiency
-
Task Organization
- Create custom categories
- Set up recurring tasks
- Use filters and search
- Generate reports
-
Data Management
- Regular backups
- Data export
- History tracking
- Analytics
-
Light Theme
- Professional white background
- High contrast text
- Subtle shadows
- Clean lines
-
Dark Theme
- Eye-friendly dark mode
- Reduced eye strain
- Modern aesthetics
- Consistent contrast
- Priority colors
- Category indicators
- Status badges
- Custom fonts
- Icon sets
project/
├── data/ # Data storage
│ ├── tasks.xlsx # Main task database
│ └── history.xlsx # Task history
├── backups/ # Backup storage
│ └── task_backups/ # Automatic backups
├── img/ # Image assets
│ └── img.png # Application logo
├── main.py # Main application
├── database.py # Database operations
├── notifications.py # Notification system
├── history.py # History management
└── requirements.txt # Dependencies
- Frontend: Tkinter-based GUI
- Backend: Python with pandas
- Storage: Excel-based database
- Notifications: System-level integration
-
Main Application (main.py)
- UI rendering
- Event handling
- Theme management
- User interactions
-
Database Manager (database.py)
- Data persistence
- CRUD operations
- Backup management
- Data validation
-
Notification System (notifications.py)
- Reminder scheduling
- System notifications
- Email alerts
- Sound notifications
-
History Manager (history.py)
- Task history
- Activity logging
- Analytics
- Report generation
We welcome contributions! Please follow these steps:
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
- Follow PEP 8 style guide
- Write unit tests
- Update documentation
- Use meaningful commit messages
This project is licensed under the MIT License - see the LICENSE file for details.
- Md Sabbir Ahmad - Initial work - GitHub Profile
- Thanks to all contributors
- Inspired by modern task management tools
- Built with Python and Tkinter
- Uses various open-source libraries