96 lines
4.0 KiB
Markdown
96 lines
4.0 KiB
Markdown
|
|
# Relationship App — Planning
|
||
|
|
|
||
|
|
## Phase 1 — Foundation & Infrastructure (1.0.x)
|
||
|
|
|
||
|
|
### Batch 1.0.1: Expo Project Bootstrap (Scarlett)
|
||
|
|
- Initialize Expo project with TypeScript template
|
||
|
|
- Configure ESLint + Prettier
|
||
|
|
- Create folder architecture (app/, components/, lib/, constants/, assets/)
|
||
|
|
- Configure app entry points (app/_layout.tsx, app/index.tsx)
|
||
|
|
- Verify: `npx expo start` runs clean
|
||
|
|
|
||
|
|
### Batch 1.0.2: Navigation Foundation (Scarlett)
|
||
|
|
- Install and configure Expo Router
|
||
|
|
- Create tab layout with placeholder tabs (Home, Questions, Milestones, Settings)
|
||
|
|
- Create stack layout for detail screens
|
||
|
|
- Verify: navigation between tabs and stacks works
|
||
|
|
|
||
|
|
### Batch 1.0.3: Supabase Project Setup (Neo)
|
||
|
|
- Create Supabase project (or document connection to existing)
|
||
|
|
- Configure environment variables (.env.local, .env.example)
|
||
|
|
- Create Supabase client in lib/supabase.ts
|
||
|
|
- Create lib/supabase.ts with init and auth helpers
|
||
|
|
- Verify: client connects to Supabase instance, health check passes
|
||
|
|
|
||
|
|
### Batch 1.0.4: Database Schema — Users & Couples (Neo)
|
||
|
|
- Create `profiles` table (id, email, display_name, avatar_url, created_at)
|
||
|
|
- Create `couples` table (id, partner1_id, partner2_id, created_at)
|
||
|
|
- Create `couple_members` table (id, couple_id, user_id, joined_at)
|
||
|
|
- Row Level Security on all tables
|
||
|
|
- Verify: can insert/select with proper RLS, cross-couple isolation works
|
||
|
|
|
||
|
|
### Batch 1.0.5: Auth — Magic Link Email (Neo)
|
||
|
|
- Configure Supabase Auth for email magic links
|
||
|
|
- Auth hook: useAuth() with session state
|
||
|
|
- Protected route wrapper component
|
||
|
|
- Logout handling
|
||
|
|
- Verify: magic link flow works end-to-end
|
||
|
|
|
||
|
|
### Batch 1.0.6: Auth UI — Login Screen (Scarlett)
|
||
|
|
- Login screen with email input + "Send Magic Link" button
|
||
|
|
- Loading state, success message, error state
|
||
|
|
- Deep link handling for magic link redirect
|
||
|
|
- Verify: user can request and receive magic link, redirect works
|
||
|
|
|
||
|
|
### Batch 1.0.7: Pairing — Code Generation (Neo)
|
||
|
|
- Generate unique 6-character pair codes
|
||
|
|
- `pair_codes` table (id, code, creator_id, status, expires_at, created_at)
|
||
|
|
- API: create pair code, expire old codes
|
||
|
|
- RLS: only creator can generate, only partner can claim
|
||
|
|
- Verify: code generation works, uniqueness constraint, expiration works
|
||
|
|
|
||
|
|
### Batch 1.0.8: Pairing — Join Flow (Neo)
|
||
|
|
- Claim pair code endpoint
|
||
|
|
- Couple creation logic on successful claim
|
||
|
|
- RLS: couple_members only visible to members
|
||
|
|
- Verify: two users can pair, couple created correctly
|
||
|
|
|
||
|
|
### Batch 1.0.9: Pairing UI — Enter Code Screen (Scarlett)
|
||
|
|
- "Share Your Code" screen showing generated code with copy button
|
||
|
|
- "Enter Partner's Code" screen with input + submit
|
||
|
|
- Paired state screen showing partner info
|
||
|
|
- Loading/success/error states throughout
|
||
|
|
- Verify: full pairing flow works on device
|
||
|
|
|
||
|
|
### Batch 1.0.10: Design System — Theme & Tokens (Scarlett)
|
||
|
|
- Create constants/Colors.ts with warm color palette
|
||
|
|
- Create constants/Spacing.ts with spacing scale
|
||
|
|
- Create constants/Typography.ts with font sizes/weights
|
||
|
|
- NativeWind config extending Tailwind theme with custom tokens
|
||
|
|
- Dark mode color tokens
|
||
|
|
- Verify: tokens render correctly in both modes
|
||
|
|
|
||
|
|
### Batch 1.0.11: Design System — Base Components (Scarlett)
|
||
|
|
- Button component (variants: primary, secondary, ghost; sizes: sm, md, lg)
|
||
|
|
- Input component (text input with label, error state)
|
||
|
|
- Card component (with header, body, footer)
|
||
|
|
- Avatar component (with fallback initials)
|
||
|
|
- Verify: all components render in light/dark mode
|
||
|
|
|
||
|
|
### Batch 1.0.12: Home Screen (Scarlett)
|
||
|
|
- Home screen layout with greeting, daily question card, quick actions
|
||
|
|
- Navigation to question packs
|
||
|
|
- Warm, calm aesthetic matching design philosophy
|
||
|
|
- Verify: home screen renders with placeholder data
|
||
|
|
|
||
|
|
## Phase 2 — Core Question Engine (1.1.x)
|
||
|
|
*(Planned — not yet broken into batches)*
|
||
|
|
|
||
|
|
## Phase 3 — Milestones & Memories (1.2.x)
|
||
|
|
*(Planned — not yet broken into batches)*
|
||
|
|
|
||
|
|
## Phase 4 — Messaging & Notifications (1.3.x)
|
||
|
|
*(Planned — not yet broken into batches)*
|
||
|
|
|
||
|
|
## Phase 5 — Polish & Launch Prep (1.4.x)
|
||
|
|
*(Planned — not yet broken into batches)*
|