diff --git a/.planning/ROADMAP.md b/.planning/ROADMAP.md index 5a172aa..5c51236 100644 --- a/.planning/ROADMAP.md +++ b/.planning/ROADMAP.md @@ -1,125 +1,80 @@ -# Weekly ToDo List Roadmap +# My Weekly To Do 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. + +This roadmap delivers the My Weekly To Do List application in four phases, starting with core functionality and building toward a complete, polished experience. Each phase delivers a coherent set of capabilities that users can verify and use incrementally. ## 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 +### Phase 1: Setup & Authentication +**Goal:** Users can securely access the application and manage their account **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 +- 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 +- 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 **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 +1. User can create an account with email/password +2. User receives and can verify email address after signup +3. User can reset password via email link +4. User stays logged in across browser sessions +5. Application interface loads and displays correctly on desktop and tablet devices +6. User can navigate core UI elements intuitively -### 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 +### Phase 2: Task Management and Weekly View +**Goal:** Users can create, manage, and visualize their tasks in a weekly calendar view **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 +- 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 +- 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 **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 +1. User can create new tasks with title and description +2. User can edit existing tasks with updated information +3. User can delete tasks from their list +4. User can mark tasks as complete or incomplete +5. User can view tasks organized in a weekly grid layout +6. User can navigate between different weeks in the calendar +7. User can drag tasks between different days of the week +8. User can clearly see how time is allocated across days with visual cues ### 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 +**Goal:** Users can connect external calendar accounts and synchronize data **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 +- 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 **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 +1. User can connect their Google Calendar account through OAuth +2. User can connect their Apple Calendar account through OAuth +3. User can see calendar events displayed alongside tasks in the weekly view +4. User's tasks and calendar events are synchronized bidirectionally between the app and connected calendars +5. User can manage calendar connection settings from the application -### Phase 4: Calendar Management & Data Export -**Goal:** Allow users to create, edit, and delete calendar events, plus enable data export/import capabilities. +### Phase 4: Final Polish +**Goal:** Enhanced user experience and refined functionality **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 +- (No specific requirements for this phase, though all previous requirements are completed) **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 | \ No newline at end of file +1. All application features function consistently and reliably +2. User interface is polished and responsive across all device sizes +3. Application performs well under typical usage scenarios +4. All user flows are intuitive and well-tested +5. Accessibility standards are met for core functionality \ No newline at end of file diff --git a/.planning/STATE.md b/.planning/STATE.md index c9d93a4..9d117e1 100644 --- a/.planning/STATE.md +++ b/.planning/STATE.md @@ -3,28 +3,31 @@ ## Project Reference **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. -**Current Focus:** Building a web-based weekly scheduler with calendar integration +**Current Focus:** Building a web-based weekly task management application with calendar integration ## Current Position -**Phase:** 2 -**Plan:** 2 plans -**Status:** Complete -**Progress:** 25% +**Phase:** Setup & Authentication (Phase 1) +**Plan:** Begin with foundational setup and authentication +**Status:** Roadmap planned, awaiting execution ## Performance Metrics -- Requirements coverage: 100% -- Phases defined: 4 -- Dependencies identified: Yes +- [x] Requirements defined and categorized (18 total) +- [x] Roadmap structure finalized with 4 phases +- [x] 100% requirement coverage confirmed +- [ ] Implementation progress (will update during execution) ## Accumulated Context -- Project is a weekly scheduler similar to TeuxDeux and Tweek.so -- Target platform: Web-based application -- Timeline: MVP within 3 weeks -- Budget: Free/open-source approach -- Core functionality: Weekly view of tasks and calendar events -- Advanced features: Recurring tasks, categories, reminders, theme customization -- Calendar integration: Google Calendar and Apple Calendar -- Data export/import: CSV and JSON formats +- Core value proposition centered on unified weekly view of tasks and calendar events +- Architecture research suggests React/Node.js/PostgreSQL stack with layered approach +- Key differentiator is combined task/calendar view with drag-and-drop functionality +- MVP includes: weekly view, task CRUD, calendar integration, responsive UI +- Out of scope: mobile app, team features, offline mode, complex reporting ## Session Continuity -Phase 2 (User Experience & Advanced Features) has been completed with all plans executed. \ No newline at end of file +This is the initial planning phase. The roadmap has been established with four clear phases: +1. Setup & Authentication (UI, AUTH requirements) +2. Task Management and Weekly View (TASK, WEEK requirements) +3. Calendar Integration (CAL requirements) +4. Final Polish (UI enhancements and refinement) + +Next steps are to begin planning Phase 1 implementation details. \ No newline at end of file