Smart Task Scheduler & Manager
Features
- Add, view, edit, and delete tasks and subtasks
- Intelligent scheduling based on category (work/personal)
- Real-time desktop notifications using `plyer` / `notify-send`
- Hierarchical tree view for task-subtask structure
- Persistent storage with SQLite database
- Auto-reschedule pending tasks when previous ones are completed
- Simple and clean UI with Tkinter
Technologies & Skills
- Python
- Tkinter (GUI)
- SQLite (Local Database)
- APScheduler (Background Task Scheduling)
- Plyer & notify-send (Notifications)
- Datetime & Time Management
- Object-Oriented Programming
- CRUD Operations
Project Structure
Smart-Task-Scheduler/
│── app.py
│──run_task_manager.sh
│── tasks.db
│── README.md
│── requirements.txt
```
Installation & Setup
1. Clone the repository
```bash
git clone https://github.com/your-username/TASK_MANAGEMENT.git
cd TASK_MANAGEMENT
```
2. Create a virtual environment (optional but recommended)
```bash
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
```
3. Install dependencies
```bash
pip install -r requirements.txt
```
4. Run the app
```bash
python main.py
```
Usage
- Click **“Add Task”** to create a task.
- Choose a **category** (*work* or *personal*) and set the **duration**.
- Use **“Add Subtask”** to create dependent tasks.
- The system automatically assigns the best time slot.
- Get notified when tasks are due.
- Mark tasks as **completed**, **delete**, or **view** details.
Future Enhancements
- Google Calendar / Outlook integration
- Task priority and reporting dashboard
- Mobile app integration
License
This project is open-source and available under the [MIT License](LICENSE).
Author
**Stephen Awili**
IT Technician & Developer
[awilisteve.co.ke](https://awilisteve.co.ke)
awilisteve076@gmail.com
Skills Used:
Subskills:
HTML