# 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:**
- [x] 01-01-PLAN.md — Setup project structure and core dependencies
- [x] 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:**
1. User can view a weekly calendar grid showing tasks organized by day
2. User can add new tasks by clicking on specific days in the weekly view
3. User can edit task details including title, date, and description
4. User can delete tasks from the weekly view
5. User can mark tasks as complete or incomplete with visual indicators
6. User can navigate between weeks using previous/next buttons
7. User can switch between day and week views to see different perspectives
8. User can drag and drop tasks between days to reorganize them
9. 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:**
- [x] 02-01-PLAN.md — Enhance User Experience with Advanced Features
- [x] 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:**
1. Application has a clean, minimalist interface that is easy to use
2. Application is responsive and works well on desktop and tablet devices
3. Tasks are clearly distinguishable from calendar events in the UI
4. Adding and editing tasks follows an intuitive workflow with minimal steps
5. Completed tasks are visually marked in a clear way (e.g., strikethrough, different color)
6. User can create recurring tasks that repeat daily, weekly, or monthly
7. User can assign categories or tags to organize tasks
8. User can set reminders for specific tasks to be notified before due time
9. User can prioritize tasks using high, medium, or low priority levels
10. 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:**
1. User can connect their Google Calendar account through a secure authorization flow
2. User can connect their Apple Calendar account through a secure authorization flow
3. Events from connected calendars appear in the weekly view alongside user tasks
4. User can view event details when selecting calendar events in the view
5. 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:**
1. User can create new calendar events directly from the application interface
2. User can edit existing calendar events with details such as title, date, and description
3. User can delete calendar events from the application
4. User can set reminders for calendar events
5. User can export their tasks to CSV or JSON formats
6. User can import tasks from CSV or JSON files
7. User can manually backup their data to an external location
8. 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 |