- Added 'onDelete' and 'onNotes' support to TaskItem. - Implemented hover actions (Delete and Notes icons) for tasks. - Added Notes Modal for editing task markdown content. - Simplified navigation animation to remove blank flash (single-phase slide-in). - Fixed syntax error in updateTask function. - Updated styles for modal and task actions.
6.2 KiB
Weekly ToDo List Roadmap
Overview
This roadmap delivers a weekly scheduler with calendar integration in five phases. It follows a goal-backward approach where each phase defines what must be TRUE for users when completion occurs. The phases are structured around key user workflows: viewing and managing tasks, enhancing user experience, integrating with external calendars, and enabling data management.
Phases
Phase 1: Setup & Foundation
Goal: Project is initialized with core dependencies and basic weekly view functionality is established.
Plans: 2 plans
Plans:
- 01-01-PLAN.md — Setup project structure and core dependencies
- 01-02-PLAN.md — Create foundational components and data persistence
Requirements:
- CORE-01: User can view tasks and events in a weekly calendar view
- CORE-02: User can add tasks to specific days within the weekly view
- CORE-03: User can edit existing tasks (change title, date, description)
- CORE-04: User can delete tasks from the weekly view
- CORE-05: User can mark tasks as complete/incomplete
- CORE-06: User can navigate between weeks using previous/next buttons
- CORE-07: User can switch between day and week views
- CORE-08: User can drag and drop tasks between days to reorganize them
- CORE-09: User can persist tasks locally in the browser
Success Criteria:
- User can view a weekly calendar grid showing tasks organized by day
- User can add new tasks by clicking on specific days in the weekly view
- User can edit task details including title, date, and description
- User can delete tasks from the weekly view
- User can mark tasks as complete or incomplete with visual indicators
- User can navigate between weeks using previous/next buttons
- User can switch between day and week views to see different perspectives
- User can drag and drop tasks between days to reorganize them
- User's tasks persist between browser sessions using local storage
Phase 2: User Experience & Advanced Features
Goal: Provide an intuitive and polished user experience with advanced task management features.
Plans: 2 plans
Plans:
- 02-01-PLAN.md — Enhance User Experience with Advanced Features
- 02-02-PLAN.md — Improve User Interface and Add Advanced Features
Requirements:
- UX-01: Application has a clean, minimalist interface similar to TeuxDeux
- UX-02: Application is responsive and works well on desktop and tablet
- UX-03: Tasks are visually distinct from calendar events
- UX-04: Intuitive workflow for adding and editing tasks
- UX-05: Clear visual indication of completed tasks
- ADV-01: User can create recurring tasks (daily, weekly, monthly)
- ADV-02: User can assign categories/tags to tasks
- ADV-03: User can set reminders for specific tasks
- ADV-04: User can prioritize tasks (high, medium, low)
- ADV-05: User can add descriptions and notes to tasks
Success Criteria:
- Application has a clean, minimalist interface that is easy to use
- Application is responsive and works well on desktop and tablet devices
- Tasks are clearly distinguishable from calendar events in the UI
- Adding and editing tasks follows an intuitive workflow with minimal steps
- Completed tasks are visually marked in a clear way (e.g., strikethrough, different color)
- User can create recurring tasks that repeat daily, weekly, or monthly
- User can assign categories or tags to organize tasks
- User can set reminders for specific tasks to be notified before due time
- User can prioritize tasks using high, medium, or low priority levels
- User can add detailed descriptions and notes to tasks
Phase 3: Calendar Integration
Goal: Enable connection to external calendar services and display calendar events alongside user tasks.
Plans: 3 plans
Plans:
- 03-01-PLAN.md — Implement calendar event integration for Google and Apple Calendar
- 03-02-PLAN.md — Implement calendar event filtering and detail viewing
- 03-03-PLAN.md — Implement visual styling for calendar events
Requirements:
- CAL-01: User can connect their Google Calendar account to the application
- CAL-02: User can connect their Apple Calendar account to the application
- CAL-03: Connected calendar events appear alongside user tasks in the weekly view
- CAL-04: User can view details of calendar events in the weekly view
- CAL-05: User can filter to show/hide calendar events in the view
Success Criteria:
- User can connect their Google Calendar account through a secure authorization flow
- User can connect their Apple Calendar account through a secure authorization flow
- Events from connected calendars appear in the weekly view alongside user tasks
- User can view event details when selecting calendar events in the view
- User can toggle visibility of calendar events on/off in the weekly view
Phase 4: Calendar Management & Data Export
Goal: Allow users to create, edit, and delete calendar events, plus enable data export/import capabilities.
Requirements:
- CAL-06: User can create new calendar events directly from the application
- CAL-07: User can edit existing calendar events from the application
- CAL-08: User can delete calendar events from the application
- CAL-09: User can set reminders for calendar events
- DATA-01: User can export tasks to a CSV or JSON file
- DATA-02: User can import tasks from a CSV or JSON file
- DATA-03: User can backup their data manually
- DATA-04: User can restore their data from a backup
Success Criteria:
- User can create new calendar events directly from the application interface
- User can edit existing calendar events with details such as title, date, and description
- User can delete calendar events from the application
- User can set reminders for calendar events
- User can export their tasks to CSV or JSON formats
- User can import tasks from CSV or JSON files
- User can manually backup their data to an external location
- User can restore their data from a previously created backup
Progress
| Phase | Goal | Status |
|---|---|---|
| 1 | Setup & Foundation | Complete |
| 2 | User Experience & Advanced Features | Complete |
| 3 | Calendar Integration | Not Started |
| 4 | Calendar Management & Data Export | Not Started |