diff --git a/.planning/REQUIREMENTS.md b/.planning/REQUIREMENTS.md index c044101..9f51e4b 100644 --- a/.planning/REQUIREMENTS.md +++ b/.planning/REQUIREMENTS.md @@ -1,114 +1,96 @@ -# Requirements: Weekly ToDo List with Calendar Integration +# Requirements: My Weekly To Do List -**Defined:** 2026-01-24 +**Defined:** Sat Jan 24 2026 **Core Value:** Provide users with a streamlined, unified view of their weekly tasks and calendar events that is faster and easier to use than traditional to-do list and calendar applications combined. ## v1 Requirements -### Core Functionality -- [ ] **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 -- [ ] **CORE-10**: User can define how many days are displayed from one till fourteen -- [ ] **CORE-11**: User can move the days/weeks left and right to see the past and the Future tasks +### Authentication +- [ ] **AUTH-01**: User can sign up with email and password +- [ ] **AUTH-02**: User receives email verification after signup +- [ ] **AUTH-03**: User can reset password via email link +- [ ] **AUTH-04**: User session persists across browser refresh + +### Task Management +- [ ] **TASK-01**: User can create tasks with title and description +- [ ] **TASK-02**: User can edit existing tasks +- [ ] **TASK-03**: User can delete tasks +- [ ] **TASK-04**: User can mark tasks as complete/incomplete +- [ ] **TASK-05**: User can view tasks in a weekly grid view ### Calendar Integration -- [ ] **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 +- [ ] **CAL-01**: User can connect their Google Calendar account +- [ ] **CAL-02**: User can connect their Apple Calendar account +- [ ] **CAL-03**: User can view calendar events alongside tasks in weekly view +- [ ] **CAL-04**: User can synchronize tasks and calendar events bidirectionally -### User Experience -- [ ] **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 +### Weekly View +- [ ] **WEEK-01**: User can navigate between weeks +- [ ] **WEEK-02**: User can view tasks and calendar events in a unified weekly view +- [ ] **WEEK-03**: User can drag and drop tasks between days of the week +- [ ] **WEEK-04**: User can see time allocation clearly with visual indicators + +### User Interface +- [ ] **UI-01**: Clean, minimal interface similar to TeuxDeux +- [ ] **UI-02**: Responsive design that works on desktop and tablet +- [ ] **UI-03**: Intuitive controls for task management ## v2 Requirements ### Advanced Task Management -- [ ] **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 +- [ ] **ADV-01**: User can set recurring tasks (daily/weekly/monthly) +- [ ] **ADV-02**: User can assign tasks to specific days of the week +- [ ] **ADV-03**: User can add tags or categories to tasks +- [ ] **ADV-04**: User can set due dates for tasks -### Calendar Features -- [ ] **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 +### Calendar Enhancements +- [ ] **CAL-05**: User can create calendar events directly from the app +- [ ] **CAL-06**: User can filter calendar events by source (Google, Apple, etc.) -### Data Management -- [ ] **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 +### Collaboration +- [ ] **COL-01**: User can share their calendar with others +- [ ] **COL-02**: User can see shared tasks/events in their view ## Out of Scope | Feature | Reason | |---------|--------| -| Multi-user collaboration | Focus on single-user experience for initial release | -| Email notifications | Simplified for MVP, focus on in-app notifications | -| Advanced reporting | Complex analytics beyond MVP scope | -| Mobile application | Web-first approach for initial release | -| Offline functionality | Requires complex sync mechanisms beyond MVP | -| Rich text formatting | Text-only descriptions for simplicity | -| Advanced filtering | Basic filtering by date and status for MVP | +| Mobile app | Web-first, mobile later | +| Team collaboration | Individual productivity focus | +| Advanced reporting | Streamlined interface first | +| Offline mode | Online sync for data consistency | +| Complex scheduling algorithms | Basic drag-and-drop is sufficient for v1 | ## Traceability | Requirement | Phase | Status | |-------------|-------|--------| -| CORE-01 | Phase 1 | Pending | -| CORE-02 | Phase 1 | Pending | -| CORE-03 | Phase 1 | Pending | -| CORE-04 | Phase 1 | Pending | -| CORE-05 | Phase 1 | Pending | -| CORE-06 | Phase 1 | Pending | -| CORE-07 | Phase 1 | Pending | -| CORE-08 | Phase 1 | Pending | -| CORE-09 | Phase 1 | Pending | -| CORE-10 | Phase 1 | Pending | -| CORE-11 | Phase 1 | Pending | +| AUTH-01 | Phase 1 | Pending | +| AUTH-02 | Phase 1 | Pending | +| AUTH-03 | Phase 1 | Pending | +| AUTH-04 | Phase 1 | Pending | +| TASK-01 | Phase 2 | Pending | +| TASK-02 | Phase 2 | Pending | +| TASK-03 | Phase 2 | Pending | +| TASK-04 | Phase 2 | Pending | +| TASK-05 | Phase 2 | Pending | | CAL-01 | Phase 3 | Pending | | CAL-02 | Phase 3 | Pending | | CAL-03 | Phase 3 | Pending | | CAL-04 | Phase 3 | Pending | -| CAL-05 | Phase 3 | Pending | -| UX-01 | Phase 2 | Pending | -| UX-02 | Phase 2 | Pending | -| UX-03 | Phase 2 | Pending | -| UX-04 | Phase 2 | Pending | -| UX-05 | Phase 2 | Pending | -| ADV-01 | Phase 2 | Pending | -| ADV-02 | Phase 2 | Pending | -| ADV-03 | Phase 2 | Pending | -| ADV-04 | Phase 2 | Pending | -| ADV-05 | Phase 2 | Pending | -| CAL-06 | Phase 4 | Pending | -| CAL-07 | Phase 4 | Pending | -| CAL-08 | Phase 4 | Pending | -| CAL-09 | Phase 4 | Pending | -| DATA-01 | Phase 4 | Pending | -| DATA-02 | Phase 4 | Pending | -| DATA-03 | Phase 4 | Pending | -| DATA-04 | Phase 4 | Pending | +| WEEK-01 | Phase 2 | Pending | +| WEEK-02 | Phase 2 | Pending | +| WEEK-03 | Phase 2 | Pending | +| WEEK-04 | Phase 2 | Pending | +| UI-01 | Phase 1 | Pending | +| UI-02 | Phase 1 | Pending | +| UI-03 | Phase 1 | Pending | **Coverage:** -- v1 requirements: 29 total -- Mapped to phases: 29 +- v1 requirements: 18 total +- Mapped to phases: 18 - Unmapped: 0 ✓ --- -*Requirements defined: 2026-01-24* -*Last updated: 2026-01-24 after initial definition* +*Requirements defined: Sat Jan 24 2026* +*Last updated: Sat Jan 24 2026 after initial definition* \ No newline at end of file