⚠️ The new ZFordDev Documentation Portal is currently under active development. Search is not yet enabled and some pages are still missing. Please bear with us while we transition to the new system.

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:

Whether you're using Tkinter, PyQt, or the CLI, your date, time, and description are collected as plain text. These values are passed into the core `add_task(...)` method, which validates them and builds a proper Task object. The Task object is written straight into the SQLite database on disk. The in-memory task list updates immediately, and your interface refreshes so the new task appears right away.

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:

  1. On startup, SchedPlus checks for the old JSON file.
  2. If no tasks.db exists yet, the app imports your old tasks into the new database.
  3. The old file is renamed to .bak so 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:

What’s coming next:

SchedPlus is still growing, and we have a clear roadmap for upcoming features: