From 15c9f94d67c8e2876c72b0a9e0fc0a671c9a4195 Mon Sep 17 00:00:00 2001 From: Jean-Luc Makiola Date: Sun, 12 Apr 2026 20:50:09 +0200 Subject: [PATCH] =?UTF-8?q?docs(phase-30):=20complete=20phase=20execution?= =?UTF-8?q?=20=E2=80=94=20onboarding=20redesign?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.6 (1M context) --- .planning/ROADMAP.md | 4 +- .planning/STATE.md | 16 ++-- .../30-onboarding-redesign/30-VERIFICATION.md | 77 +++++++++++++++++++ 3 files changed, 87 insertions(+), 10 deletions(-) create mode 100644 .planning/phases/30-onboarding-redesign/30-VERIFICATION.md diff --git a/.planning/ROADMAP.md b/.planning/ROADMAP.md index 75b97f9..82bfb29 100644 --- a/.planning/ROADMAP.md +++ b/.planning/ROADMAP.md @@ -82,7 +82,7 @@ - [x] **Phase 28: Profile & Logto Integration** — Fix profile page, integrate Logto for profile management, customize login branding, configure email verification (completed 2026-04-12) - [x] **Phase 29: Image Presentation** — Fit-within framing with letterbox/pillarbox instead of hard crops, optional crop positioning (completed 2026-04-12) -- [ ] **Phase 30: Onboarding Redesign** — Catalog-driven onboarding replacing manual entry, visual refresh to match current UI (promotes 999.2) +- [x] **Phase 30: Onboarding Redesign** — Catalog-driven onboarding replacing manual entry, visual refresh to match current UI (promotes 999.2) (completed 2026-04-12) - [x] **Phase 31: Mobile Polish** — Icon-based action buttons on item views, small UX improvements (completed 2026-04-12) ### v2.3 Global & Social Ready (Planned) @@ -258,7 +258,7 @@ Plans: | 27. Top Nav Restructure & Search Bar Rethink | v2.1 | 4/4 | Complete | 2026-04-12 | | 28. Profile & Logto Integration | v2.2 | 3/3 | Complete | 2026-04-12 | | 29. Image Presentation | v2.2 | 4/4 | Complete | 2026-04-12 | -| 30. Onboarding Redesign | v2.2 | TBD | Pending | — | +| 30. Onboarding Redesign | v2.2 | 3/3 | Complete | 2026-04-12 | | 31. Mobile Polish | v2.2 | 2/2 | Complete | 2026-04-12 | | 32. Setup Sharing System | v2.3 | TBD | Pending | — | | 33. Currency System | v2.3 | TBD | Pending | — | diff --git a/.planning/STATE.md b/.planning/STATE.md index 532a079..eb05059 100644 --- a/.planning/STATE.md +++ b/.planning/STATE.md @@ -4,13 +4,13 @@ milestone: v2.2 milestone_name: User Experience Polish status: executing stopped_at: Phase 31 context gathered -last_updated: "2026-04-12T18:18:59.511Z" +last_updated: "2026-04-12T18:50:04.872Z" last_activity: 2026-04-12 progress: total_phases: 36 - completed_phases: 23 - total_plans: 64 - completed_plans: 62 + completed_phases: 24 + total_plans: 67 + completed_plans: 65 percent: 97 --- @@ -21,13 +21,13 @@ progress: See: .planning/PROJECT.md (updated 2026-04-09) **Core value:** Help people make better gear decisions — discover what others use, compare real-world data, and see how a potential buy affects your setup before committing. -**Current focus:** Phase 31 — Mobile Polish +**Current focus:** Phase 30 — Onboarding Redesign ## Current Position -Phase: 999.1 +Phase: 31 Plan: Not started -Status: Executing Phase 31 +Status: Executing Phase 30 Last activity: 2026-04-12 Progress: [░░░░░░░░░░] 0% @@ -36,7 +36,7 @@ Progress: [░░░░░░░░░░] 0% **Velocity:** -- Total plans completed: 64 (all milestones through v2.0) +- Total plans completed: 67 (all milestones through v2.0) - v1.3: 6 plans across 4 phases (2026-03-16 to 2026-04-08) - v2.0: 32 plans across 10 phases (2026-03-17 to 2026-04-08) diff --git a/.planning/phases/30-onboarding-redesign/30-VERIFICATION.md b/.planning/phases/30-onboarding-redesign/30-VERIFICATION.md new file mode 100644 index 0000000..518e9f8 --- /dev/null +++ b/.planning/phases/30-onboarding-redesign/30-VERIFICATION.md @@ -0,0 +1,77 @@ +--- +phase: 30 +status: passed +verified: 2026-04-12 +--- + +# Phase 30: Onboarding Redesign — Verification + +## Automated Checks + +| Check | Status | Detail | +|-------|--------|--------| +| Lint (biome) | PASS | 198 files checked, no errors | +| Build (vite) | PASS | Built in 770ms, no errors | +| Key files exist | PASS | All 14 new files present | +| Old wizard removed | PASS | OnboardingWizard.tsx deleted | +| No stale refs | PASS | No OnboardingWizard imports remain | +| Schema drift | PASS | No schema changes in this phase | + +## Must-Haves Verification + +### Plan 01: Backend +- [x] Shared hobby config with 6 hobbies and tag mappings (`src/shared/hobbyConfig.ts`) +- [x] Popular items by tags endpoint with owner count ordering (`GET /api/discovery/popular-items`) +- [x] Batch onboarding completion endpoint with auto-category creation (`POST /api/onboarding/complete`) +- [x] Zod validation on onboarding endpoint (`completeOnboardingSchema`) +- [x] Existing tests unaffected (311 pre-existing failures, 0 new) + +### Plan 02: Frontend +- [x] Full-screen onboarding flow with 5 steps +- [x] Hobby picker with card-based selection (multi-select) +- [x] Item browser with selectable item grid +- [x] Review screen with grouped items and remove +- [x] CSS step transitions (no framer-motion) +- [x] Copy matches UI-SPEC exactly + +### Plan 03: Integration +- [x] OnboardingWizard replaced by OnboardingFlow in __root.tsx +- [x] Old OnboardingWizard.tsx deleted with no stale references +- [x] Onboarding triggers correctly for new users +- [x] Build succeeds + +## Decision Coverage (D-01 to D-18) + +| Decision | Status | Implementation | +|----------|--------|---------------| +| D-01 Flow structure | PASS | Welcome > Hobby > Browse > Review > Done | +| D-02 Display name not in onboarding | PASS | Not included (correct) | +| D-03 Profile pic not in onboarding | PASS | Not included (correct) | +| D-04 Hobby selection is key step | PASS | OnboardingHobbyPicker with visual cards | +| D-05 Categories auto-created | PASS | onboarding.service.ts auto-creates from global item categories | +| D-06 Card-based hobby picker | PASS | HobbyCard with icons, 40x40 cards | +| D-07 Hobbies map to tags | PASS | hobbyConfig.ts HOBBIES array with tags | +| D-08 Multi-hobby selection | PASS | selectedHobbies array, toggle logic | +| D-09 Popular items browsable grid | PASS | OnboardingItemBrowser with responsive grid | +| D-10 Popular by owner count | PASS | SQL COUNT(DISTINCT items.id) ordering | +| D-11 Check items batch selection | PASS | SelectableItemCard with checkmark overlay | +| D-12 Review before commit | PASS | OnboardingReview with grouped items | +| D-13 Full-screen experience | PASS | fixed inset-0 z-50 bg-white | +| D-14 Replace centered modal | PASS | Old wizard deleted, new flow is full-screen | +| D-15 Smooth transitions | PASS | CSS opacity + translate-y transitions | +| D-16 Triggers on first login | PASS | showWizard condition preserved | +| D-17 Hobby selection required | PASS | Continue button disabled when empty | +| D-18 Other steps skippable | PASS | Skip links on browse and review steps | + +## Human Verification Needed + +| Item | Description | +|------|-------------| +| Visual polish | Full-screen steps with generous spacing and modern feel | +| Step transitions | Smooth fade + slide between steps | +| Hobby card design | Cards match Notion/Linear style | +| Responsive layout | Item grid adjusts to 2/3/4 columns | + +## Verification Complete + +Phase 30 passes all automated verification. Human visual testing recommended for polish items.