To-Do Lists
Relevant source files
The following files were used as context for generating this wiki page:
To-do lists in GoCasa manage tasks that members of a household need to complete. This system tracks standard one-off tasks and recurring items that regenerate based on completion or fixed schedules. These tasks appear on the Today dashboard alongside events and chores to provide a comprehensive household overview.
Sources: GLOSSARY.md:3-5, GLOSSARY.md:83-85
Task Types and Recurrence
The system distinguishes between single tasks and recurring to-dos. Unlike chores, which lapse if not completed within a round, to-dos remain open until a member completes them.
Recurring To-dos
A recurring to-do creates its next instance only after the current one is finished. The system ensures only one copy remains open at any time.
- Repeat from schedule: The next due date follows a strict rule, skipping any dates already missed during the delay.
- Repeat from completion: The next due date is calculated relative to the day the previous instance was completed.
Sources: GLOSSARY.md:65-68, GLOSSARY.md:70-73, GLOSSARY.md:75-78
| Term | Definition |
|---|---|
| Recurring to-do | A task that creates its next copy when completed; only one copy is open at a time. |
| Repeat from schedule | A task whose next due date follows its rule, skipping missed dates. |
| Repeat from completion | A task whose next due date is counted from the day it was completed. |
Sources: GLOSSARY.md:70-78
Logic and State Management
The following diagram illustrates the lifecycle of a recurring to-do and how the system determines the next due date based on the chosen repeat strategy.
The diagram shows the logic for regenerating recurring tasks upon completion.
Sources: GLOSSARY.md:70-78
Implementation Details
While specific To-do List API endpoints are handled by the application logic, the infrastructure shares patterns with other household modules like the Calendar and Chores.
Access Control
An Admin may enable a Lock rule for to-dos. If this rule is active, completing to-dos requires an Admin's PIN. Viewing the list is never locked.
Sources: GLOSSARY.md:20-23
Dashboard Integration
To-dos due on the current day are displayed in the Today view. This view serves as the primary interface for the household, aggregating tasks, events, and weather information.
Sources: GLOSSARY.md:83-85
Data Storage
The application stores task data within a single SQLite file (app.db) located in the DATA_DIR.
Sources: README.md:5, README.md:21
Summary
To-do lists provide a flexible task management system for the household. By supporting both schedule-based and completion-based recurrence, GoCasa accommodates different types of household maintenance and personal tasks. Integration with the central dashboard and optional Admin PIN protection ensures that the system is both accessible for daily use and secure for sensitive household operations.