My-Weekly-ToDo-List/.planning/phases/03-calendar-integration/03-01-PLAN.md
mARTin 4008b67a7a docs(03): revise phase plans to address checker feedback
- Fixed requirement coverage for CAL-03 (view calendar events in weekly view)
- Reduced tasks in Plan 01 from 4 to 2 to improve scoping
- Added new Plan 03 for calendar event display functionality
- Updated must_haves to reflect new task structure
2026-01-25 13:05:19 +01:00

4.2 KiB

phase plan type wave depends_on files_modified autonomous must_haves
03-calendar-integration 01 execute 1
src/lib/google-calendar.ts
src/lib/apple-calendar.ts
src/app/api/calendar/google/oauth/route.ts
src/app/api/calendar/apple/oauth/route.ts
true
truths artifacts key_links
User can connect their Google Calendar account
User can connect their Apple Calendar account
Connected calendars appear in user's calendar settings
path provides min_lines
src/lib/google-calendar.ts Google Calendar OAuth flow and API wrapper 20
path provides min_lines
src/lib/apple-calendar.ts Apple Calendar OAuth flow and API wrapper 20
path provides exports
src/app/api/calendar/google/oauth/route.ts Google OAuth callback endpoint
GET
path provides exports
src/app/api/calendar/apple/oauth/route.ts Apple OAuth callback endpoint
GET
from to via pattern
src/app/api/calendar/google/oauth/route.ts src/lib/google-calendar.ts import and use import.*google-calendar
from to via pattern
src/app/api/calendar/apple/oauth/route.ts src/lib/apple-calendar.ts import and use import.*apple-calendar
Implement the calendar integration system allowing users to connect Google and Apple calendar accounts with OAuth.

Purpose: Enable users to view and synchronize their calendar events with the weekly task view. Output: Google Calendar and Apple Calendar OAuth flows with API wrappers for calendar event retrieval.

<execution_context> @~/.config/opencode/get-shit-done/workflows/execute-plan.md @~/.config/opencode/get-shit-done/templates/summary.md </execution_context>

@.planning/PROJECT.md @.planning/ROADMAP.md @.planning/STATE.md @.planning/REQUIREMENTS.md

Relevant context from previous phases

@.planning/phases/01-setup-and-authentication/01-01-PLAN.md @.planning/phases/01-setup-and-authentication/01-02-PLAN.md @.planning/phases/02-task-management/02-01-PLAN.md

Implement Google Calendar OAuth Wrapper src/lib/google-calendar.ts Create a TypeScript module that implements Google Calendar OAuth flow using the Google API Client Library for JavaScript. Include functions for: - Initializing OAuth with client ID and scopes - Handling authorization redirects - Retrieving user calendar list - Fetching upcoming events for a specified time period

Reference the authentication setup from Phase 1 and the API patterns used in Phase 2. npm test passes and the module exports required functions without error Module exports initializeOAuth, getUserCalendars, and getUpcomingEvents functions

Implement Apple Calendar OAuth Wrapper src/lib/apple-calendar.ts Create a TypeScript module that implements Apple Calendar OAuth flow using the Apple Developer API. Include functions for: - Initializing OAuth with client ID and scopes - Handling authorization redirects - Retrieving user calendar list - Fetching upcoming events for a specified time period

Reference the authentication setup from Phase 1 and the API patterns used in Phase 2. npm test passes and the module exports required functions without error Module exports initializeOAuth, getUserCalendars, and getUpcomingEvents functions

Verify that all components work in concert: 1. Google and Apple OAuth flows work without errors 2. OAuth tokens are stored in database 3. Calendar list can be fetched for connected accounts 4. Events from calendars are retrievable 5. UI for calendar settings shows connected accounts

<success_criteria>

  • Users can connect Google and Apple calendars via OAuth
  • Connected calendars appear in the user's calendar settings
  • Calendar events can be retrieved for display in the weekly view
  • Tokens are securely stored for accessing calendar data </success_criteria>
After completion, create `.planning/phases/03-calendar-integration/03-01-SUMMARY.md`