Tasks & Scheduling #
SchedPlus keeps things simple. Instead of trying to be a giant calendar app, it focuses on a clean, dependable task engine that works the same whether you're using the terminal or the PyQt interface.
The Task Data Model #
Every task you create in SchedPlus follows the same structure. No matter how you interact with the app, the underlying Task object stays consistent and predictable:
| Field | Type | Description |
|---|---|---|
id |
Integer / Text | A unique identifier used for lookups and updates. |
date |
String (YYYY-MM-DD) |
The day your task is scheduled for. |
time |
String (HH:MM) |
The time slot for the task. |
text |
String | The task description or note. |
createdAt |
Timestamp | When the task was originally created. |
updatedAt |
Timestamp | When the task was last changed. |
Core Task Lifecycle #
SchedPlus handles tasks in a simple, predictable flow. Each step is synchronous and easy to follow:
SQLite Storage & Database Migration #
SchedPlus stores everything in a local SQLite database (data/tasks.db). The UI never touches SQL directly — it simply asks the scheduler for data, and the scheduler handles the rest.
🔄 Automatic Migration from Older Versions #
If you’re coming from an early version of SchedPlus that used a tasks.json file, the app will migrate your data automatically:
- On startup, SchedPlus checks for the old JSON file.
- If no
tasks.dbexists yet, the app imports your old tasks into the new database. - The old file is renamed to
.bakso your data stays safe and won’t be reprocessed again.
Current Scheduling Capabilities & Limitations #
SchedPlus is intentionally lightweight right now. It’s built to be a fast, reliable chronological task manager — not a full calendar suite.
What works great today: #
- Solid CRUD operations (Create, Read, Update, Delete).
- Clean sorting by date and time.
- A fully decoupled architecture — the UI never talks to the database directly.
What’s coming next: #
SchedPlus is still growing, and we have a clear roadmap for upcoming features:
- Conflict Detection: Warnings when two tasks overlap.
- Notifications & Alerts: Local reminders when a task is approaching.
- Recurring Tasks: Daily, weekly, and custom repeat rules.