From 137b9b8cb933b6090e38e78d7c745cd22cc6f7f5 Mon Sep 17 00:00:00 2001 From: pacnpal <183241239+pacnpal@users.noreply.github.com> Date: Fri, 26 Dec 2025 20:14:56 -0500 Subject: [PATCH] docs: Add comprehensive gap analysis matrix comparing source documentation to codebase implementation. --- GAP_ANALYSIS_MATRIX.md | 412 +++++++++++++++++++++++++++++++++++++++++ IMPLEMENTATION_PLAN.md | 66 +++++++ 2 files changed, 478 insertions(+) create mode 100644 GAP_ANALYSIS_MATRIX.md diff --git a/GAP_ANALYSIS_MATRIX.md b/GAP_ANALYSIS_MATRIX.md new file mode 100644 index 00000000..5bbaeb12 --- /dev/null +++ b/GAP_ANALYSIS_MATRIX.md @@ -0,0 +1,412 @@ +# GAP_ANALYSIS_MATRIX.md + +> Full Project Synchronization: Source Docs vs. Codebase Comparison +> Generated: 2025-12-26 + +--- + +## Summary Statistics + +| Category | Missing | Partial | Wrong | Complete | +|----------|---------|---------|-------|----------| +| Pages/Routes | 12 | 8 | 2 | 15 | +| Components | 8 | 5 | 0 | 14 | +| Features | 10 | 6 | 1 | 18 | +| **TOTAL** | **30** | **19** | **3** | **47** | + +--- + +## 1. PAGES GAP ANALYSIS + +### 1.1 Homepage (`/`) + +| Feature Name | Source Doc File | Status | Action Required | +|--------------|-----------------|--------|-----------------| +| Hero Search | PAGES.md (L46-47) | ✅ Complete | None | +| Discovery Tabs (11 categories) | PAGES.md (L51-53), SITE_OVERVIEW.md (L83-93) | ⚠️ Partial | CURRENT: 4 tabs only (Trending, New & Opening, Top Rated, Closing). MISSING: All, Parks, Coasters, Flat Rides, Water Rides, Dark Rides, Shows, Transport | +| Content Grid per Tab | PAGES.md (L55-58) | ⚠️ Partial | Cards exist but not all categories implemented | +| Recent Changes Feed | PAGES.md (L62-65) | ✅ Complete | Implemented in index.vue | + +### 1.2 Parks Pages + +| Feature Name | Source Doc File | Status | Action Required | +|--------------|-----------------|--------|-----------------| +| `/parks` - Parks Listing | PAGES.md (L101-130) | ✅ Complete | Implemented | +| `/parks/nearby` - Location-Based Discovery | PAGES.md (L147-188), SITE_OVERVIEW.md (L25-26) | ❌ Missing | Create new page with Leaflet map, geolocation, radius slider | +| `/parks/{slug}` - Park Detail | PAGES.md (L191-256) | ⚠️ Partial | Missing: Reviews Tab, Photos Tab, History Tab, Hero "Edit" and "📷" buttons | +| Park Detail - Overview Tab | PAGES.md (L233) | ⚠️ Partial | Missing: Location map embed, Contact info, Operator/Owner links | +| Park Detail - Rides Tab | PAGES.md (L234) | ✅ Complete | Implemented with filters | +| Park Detail - Reviews Tab | PAGES.md (L235) | ❌ Missing | No reviews tab implemented | +| Park Detail - Photos Tab | PAGES.md (L236) | ❌ Missing | No photos gallery tab | +| Park Detail - History Tab | PAGES.md (L237) | ❌ Missing | No version history/timeline | + +### 1.3 Rides Pages + +| Feature Name | Source Doc File | Status | Action Required | +|--------------|-----------------|--------|-----------------| +| `/rides` - All Rides Listing | PAGES.md (L262-288) | ✅ Complete | Implemented | +| `/parks/{park}/rides/{ride}` - Ride Detail | PAGES.md (L302-362) | ⚠️ Partial | Missing: Specifications Tab, Reviews Tab, Photos Tab, History Tab | +| Ride Specifications Tab | PAGES.md (L337-361) | ❌ Missing | Need category-specific spec display (Coasters, Flat, Water, Dark) | +| Ride Reviews Tab | PAGES.md (L325) | ❌ Missing | No reviews tab | +| Ride Photos Tab | PAGES.md (L325) | ❌ Missing | No photos gallery | +| Ride History Tab | PAGES.md (L325) | ❌ Missing | No version history | +| Advanced Filters (Speed/Height sliders) | PAGES.md (L275-279) | ❌ Missing | Rides listing needs spec-based filters | + +### 1.4 Company Pages + +| Feature Name | Source Doc File | Status | Action Required | +|--------------|-----------------|--------|-----------------| +| `/manufacturers` - Listing | PAGES.md (L371-393) | ✅ Complete | Implemented | +| `/manufacturers/{slug}` - Detail | PAGES.md (L395-418) | ✅ Complete | Implemented | +| `/designers` - Designers Listing | PAGES.md (L371), SITE_OVERVIEW.md (L45) | ❌ Missing | Create new page for ride designers | +| `/operators` - Operators Listing | PAGES.md (L372), SITE_OVERVIEW.md (L46) | ❌ Missing | Create new page for park operators | +| `/owners` - Property Owners | PAGES.md (L373), SITE_OVERVIEW.md (L47) | ❌ Missing | Create new page for property owners | +| Company Tabs (Overview, Rides, Models, History) | PAGES.md (L412-413) | ⚠️ Partial | Missing Models Tab, History Tab | + +### 1.5 Ride Models + +| Feature Name | Source Doc File | Status | Action Required | +|--------------|-----------------|--------|-----------------| +| `/ride-models/{slug}` - Model Detail | PAGES.md (L422-450) | ❌ Missing | Create page showing standard specs and all installations | + +### 1.6 Search + +| Feature Name | Source Doc File | Status | Action Required | +|--------------|-----------------|--------|-----------------| +| `/search` - Global Search Page | PAGES.md (L454-497) | ✅ Complete | Implemented | +| Type Tabs Filter | PAGES.md (L469-471) | ⚠️ Partial | Basic implementation exists, verify all types | +| Recent Searches | PAGES.md (L496) | ❌ Missing | No recent search history | +| Keyboard Navigation | PAGES.md (L495) | ⚠️ Partial | Verify arrow key / enter support | + +### 1.7 Authentication + +| Feature Name | Source Doc File | Status | Action Required | +|--------------|-----------------|--------|-----------------| +| `/auth` - Sign In / Sign Up | PAGES.md (L500-551) | ⚠️ Partial | Missing: Magic Link, Google OAuth, Discord OAuth buttons | +| CAPTCHA Verification | PAGES.md (L548) | ❌ Missing | No CAPTCHA on forms | +| MFA Support (TOTP) | PAGES.md (L548) | ❌ Missing | No MFA setup/verification UI | +| Email Confirmation Flow | PAGES.md (L549) | ⚠️ Partial | Backend exists, verify frontend flow | + +### 1.8 User Profile + +| Feature Name | Source Doc File | Status | Action Required | +|--------------|-----------------|--------|-----------------| +| `/profile/{username}` - Public Profile | PAGES.md (L554-591) | ✅ Complete | Implemented at `/profiles/[username].vue` | +| Profile Stats (Credits, Reviews, Photos) | PAGES.md (L567) | ⚠️ Partial | Verify all stats displayed | +| Badge Display | PAGES.md (L570) | ❌ Missing | No badge system UI | +| Activity Tab | PAGES.md (L587) | ⚠️ Partial | Basic implementation | +| Reviews Tab | PAGES.md (L588) | ❌ Missing | No dedicated reviews tab on profile | +| Lists Tab | PAGES.md (L589) | ⚠️ Partial | Lists exist but verify integration | +| Ride Credits Tab | PAGES.md (L590) | ❌ Missing | Credits not shown on public profile | + +### 1.9 User Settings + +| Feature Name | Source Doc File | Status | Action Required | +|--------------|-----------------|--------|-----------------| +| `/settings` - Account Settings | PAGES.md (L594-631) | ❌ Missing | Create settings page with sidebar navigation | +| Account Section | PAGES.md (L625) | ❌ Missing | Email, password, delete account | +| Security Section | PAGES.md (L626) | ❌ Missing | MFA, sessions, login history | +| Privacy Section | PAGES.md (L627) | ❌ Missing | Profile visibility, activity sharing | +| Notifications Section | PAGES.md (L628) | ❌ Missing | Email preferences, in-app alerts | +| Location & Units Section | PAGES.md (L629) | ❌ Missing | Preferred units, home location | +| Data Section | PAGES.md (L630) | ❌ Missing | Export data, submission history | + +### 1.10 Ride Credits + +| Feature Name | Source Doc File | Status | Action Required | +|--------------|-----------------|--------|-----------------| +| `/my-credits` - Ride Credits Dashboard | PAGES.md (L634-678) | ❌ Missing | Create full credits management page | +| Statistics Display | PAGES.md (L646-649) | ❌ Missing | Total, Unique, Parks, Countries | +| Quick Increment (+/-) | PAGES.md (L654-662) | ❌ Missing | In-line count adjustment | +| Add Credit Flow | PAGES.md (L671) | ❌ Missing | Search and log new ride | +| Filter by Category/Park/Year | PAGES.md (L650) | ❌ Missing | Comprehensive filtering | + +### 1.11 User Lists + +| Feature Name | Source Doc File | Status | Action Required | +|--------------|-----------------|--------|-----------------| +| `/my-lists` - Personal Rankings | PAGES.md (L681-714) | ⚠️ Partial | Basic list management exists | +| Create List | PAGES.md (L689) | ✅ Complete | Exists at `/lists/create.vue` | +| Drag-and-Drop Reorder | PAGES.md (L700) | ❌ Missing | No drag-and-drop | +| Public/Private Toggle | PAGES.md (L694-700) | ⚠️ Partial | Verify implementation | + +### 1.12 Reviews + +| Feature Name | Source Doc File | Status | Action Required | +|--------------|-----------------|--------|-----------------| +| Write Review Form | PAGES.md (L722-741) | ❌ Missing | Need review form component with star rating | +| Review Display Card | PAGES.md (L746-756) | ❌ Missing | Need ReviewCard component | +| Reply to Review | PAGES.md (L754) | ❌ Missing | No reply functionality | +| Report Review | PAGES.md (L754) | ❌ Missing | No report button | +| Vote (Thumbs Up/Down) | PAGES.md (L754) | ❌ Missing | No voting system | + +### 1.13 Photo System + +| Feature Name | Source Doc File | Status | Action Required | +|--------------|-----------------|--------|-----------------| +| Upload Interface | PAGES.md (L765-793) | ⚠️ Partial | GalleryUploader exists, verify features | +| Drag & Drop Upload | PAGES.md (L774-775) | ⚠️ Partial | Verify implementation | +| Photo Gallery with Lightbox | PAGES.md (L797-815) | ❌ Missing | No lightbox viewer | +| Edit/Crop Before Upload | PAGES.md (L511) | ❌ Missing | No image editing | + +### 1.14 Content Submission + +| Feature Name | Source Doc File | Status | Action Required | +|--------------|-----------------|--------|-----------------| +| `/submit/park` - Submit New Park | PAGES.md (L823), USER_FLOWS.md (L340-436) | ❌ Missing | Multi-step wizard form | +| `/submit/ride` - Submit New Ride | PAGES.md (L823) | ❌ Missing | Multi-step wizard form | +| `/submit/company` - Submit Company | PAGES.md (L823) | ❌ Missing | Multi-step wizard form | +| `/my-submissions` - Submission History | SITE_OVERVIEW.md (L64) | ❌ Missing | View user's past submissions | +| Auto-Save Drafts | PAGES.md (L858) | ❌ Missing | No draft persistence | +| Unit Toggle in Forms | PAGES.md (L864) | ❌ Missing | Metric/Imperial toggle | + +### 1.15 Moderation + +| Feature Name | Source Doc File | Status | Action Required | +|--------------|-----------------|--------|-----------------| +| `/moderation` - Queue Dashboard | PAGES.md (L874-898) | ✅ Complete | Implemented | +| `/moderation/{id}` - Review Interface | PAGES.md (L902-929) | ⚠️ Partial | Basic review exists, missing side-by-side diff | +| Claim/Unclaim System | PAGES.md (L886-890), USER_FLOWS.md (L695-700) | ✅ Complete | Implemented with SSE | +| Side-by-Side Diff Viewer | PAGES.md (L910-918), COMPONENTS.md (L872-884) | ❌ Missing | No visual diff comparison | +| Approve Selected Fields | PAGES.md (L925) | ❌ Missing | Only full approve/reject | + +### 1.16 Admin Pages + +| Feature Name | Source Doc File | Status | Action Required | +|--------------|-----------------|--------|-----------------| +| `/admin` - Dashboard | PAGES.md (L937-962) | ❌ Missing | Only `/admin/system` exists | +| `/admin/users` - User Management | PAGES.md (L965-986), USER_FLOWS.md (L752-800) | ⚠️ Partial | Basic user list at `/moderation/users.vue` | +| `/admin/monitoring` - System Health | SITE_OVERVIEW.md (L73) | ❌ Missing | No monitoring dashboard | +| `/admin/errors` - Error Tracking | SITE_OVERVIEW.md (L74) | ❌ Missing | No error tracker UI | +| Ban User Flow | USER_FLOWS.md (L788-797) | ❌ Missing | No ban/unban UI | + +### 1.17 Static Pages + +| Feature Name | Source Doc File | Status | Action Required | +|--------------|-----------------|--------|-----------------| +| `/terms` - Terms of Service | PAGES.md (L995-997) | ❌ Missing | Create static page | +| `/privacy` - Privacy Policy | PAGES.md (L999-1003) | ❌ Missing | Create static page | +| `/guidelines` - Community Guidelines | PAGES.md (L1005-1009) | ❌ Missing | Create static page | +| `/contact` - Contact Form | PAGES.md (L1011-1042) | ⚠️ Partial | `/support/index.vue` exists but verify full form | +| `/blog` - Blog | PAGES.md (L1044-1048) | ✅ Complete | Implemented | + +--- + +## 2. COMPONENTS GAP ANALYSIS + +### 2.1 Layout Components + +| Component | Source Doc File | Status | Action Required | +|-----------|-----------------|--------|-----------------| +| Header | COMPONENTS.md (L71-93) | ✅ Complete | AppHeader.vue exists | +| Footer | COMPONENTS.md (L96-120) | ❌ Missing | No dedicated footer component | +| PageContainer | COMPONENTS.md (L123-152) | ⚠️ Partial | Layout exists, verify max-width | +| Sidebar (Settings/Admin) | COMPONENTS.md (L155-172) | ❌ Missing | No sidebar navigation | + +### 2.2 Navigation Components + +| Component | Source Doc File | Status | Action Required | +|-----------|-----------------|--------|-----------------| +| MainNav | COMPONENTS.md (L178-201) | ✅ Complete | In AppHeader | +| TabNav | COMPONENTS.md (L204-221) | ✅ Complete | Using UTabs | +| Breadcrumbs | COMPONENTS.md (L224-237) | ❌ Missing | No breadcrumb component | +| Pagination | COMPONENTS.md (L240-256) | ⚠️ Partial | Verify existence | + +### 2.3 Display Components + +| Component | Source Doc File | Status | Action Required | +|-----------|-----------------|--------|-----------------| +| Card | COMPONENTS.md (L261-289) | ✅ Complete | BentoCard and others | +| Badge | COMPONENTS.md (L292-311) | ✅ Complete | EntityStatusBadge, StatusBadge | +| Avatar | COMPONENTS.md (L314-331) | ⚠️ Partial | AvatarUploader exists, check display | +| Image (Lazy/Blur) | COMPONENTS.md (L334-358) | ⚠️ Partial | Verify lazy loading | + +### 2.4 Form Components + +| Component | Source Doc File | Status | Action Required | +|-----------|-----------------|--------|-----------------| +| Input | COMPONENTS.md (L363-388) | ✅ Complete | Using NuxtUI | +| Select | COMPONENTS.md (L391-416) | ✅ Complete | Using NuxtUI | +| Checkbox/Radio/Switch | COMPONENTS.md (L419-456) | ✅ Complete | Using NuxtUI | +| Button | COMPONENTS.md (L459-488) | ✅ Complete | Using UButton | +| DatePicker | COMPONENTS.md (L491-518) | ❌ Missing | No date picker | +| Slider (Range) | COMPONENTS.md (L521-537) | ❌ Missing | No range slider | + +### 2.5 Feedback Components + +| Component | Source Doc File | Status | Action Required | +|-----------|-----------------|--------|-----------------| +| Toast | COMPONENTS.md (L542-559) | ✅ Complete | Using NuxtUI | +| Alert | COMPONENTS.md (L562-575) | ✅ Complete | Using NuxtUI | +| Modal/Dialog | COMPONENTS.md (L578-603) | ✅ Complete | Modals exist | +| Loading States | COMPONENTS.md (L606-628) | ⚠️ Partial | Spinner exists, verify skeleton | +| Empty State | COMPONENTS.md (L631-647) | ⚠️ Partial | Basic empty states | + +### 2.6 Data Display Components + +| Component | Source Doc File | Status | Action Required | +|-----------|-----------------|--------|-----------------| +| Table | COMPONENTS.md (L652-672) | ⚠️ Partial | Verify sortable/filterable | +| Stats Card | COMPONENTS.md (L675-686) | ✅ Complete | In BentoCard | +| Rating Display (Stars) | COMPONENTS.md (L689-704) | ❌ Missing | Need StarRating component | + +### 2.7 Entity Components + +| Component | Source Doc File | Status | Action Required | +|-----------|-----------------|--------|-----------------| +| ParkCard | COMPONENTS.md (L709-737) | ⚠️ Partial | Verify all fields | +| RideCard | COMPONENTS.md (L740-767) | ⚠️ Partial | Verify all fields | +| ReviewCard | COMPONENTS.md (L770-786) | ❌ Missing | Create ReviewCard | +| CreditCard | COMPONENTS.md (L789-805) | ❌ Missing | Create CreditCard for ride credits | + +### 2.8 Specialty Components + +| Component | Source Doc File | Status | Action Required | +|-----------|-----------------|--------|-----------------| +| UnitDisplay | COMPONENTS.md (L811-827) | ⚠️ Partial | useUnits exists, verify display | +| Map (Leaflet) | COMPONENTS.md (L829-852) | ⚠️ Partial | map.vue exists, verify features | +| Timeline | COMPONENTS.md (L855-868) | ⚠️ Partial | timeline.vue exists | +| Diff Viewer | COMPONENTS.md (L871-885) | ❌ Missing | Create for moderation | +| ImageGallery | COMPONENTS.md (L888-906) | ❌ Missing | With lightbox | +| SearchAutocomplete | COMPONENTS.md (L909-923) | ✅ Complete | GlobalSearch.vue | +| Tooltip | COMPONENTS.md (L926-938) | ✅ Complete | Using NuxtUI | +| HoverCard | COMPONENTS.md (L941-957) | ❌ Missing | Rich preview on hover | + +--- + +## 3. USER FLOWS GAP ANALYSIS + +### 3.1 Discovery Flows + +| Flow | Source Doc File | Status | Action Required | +|------|-----------------|--------|-----------------| +| Homepage Discovery | USER_FLOWS.md (L21-49) | ⚠️ Partial | Missing all 11 discovery tabs | +| Search Flow | USER_FLOWS.md (L51-93) | ✅ Complete | Implemented | +| Parks Nearby Flow | USER_FLOWS.md (L95-148) | ❌ Missing | No nearby page with geolocation | + +### 3.2 Authentication Flows + +| Flow | Source Doc File | Status | Action Required | +|------|-----------------|--------|-----------------| +| Sign Up Flow | USER_FLOWS.md (L154-208) | ⚠️ Partial | Missing OAuth, Magic Link, CAPTCHA | +| Sign In Flow | USER_FLOWS.md (L210-279) | ⚠️ Partial | Missing MFA check, Ban check UI | + +### 3.3 Content Viewing Flows + +| Flow | Source Doc File | Status | Action Required | +|------|-----------------|--------|-----------------| +| Park Page Journey | USER_FLOWS.md (L283-334) | ⚠️ Partial | Missing Reviews/Photos/History tabs | + +### 3.4 Contribution Flows + +| Flow | Source Doc File | Status | Action Required | +|------|-----------------|--------|-----------------| +| Submit New Content | USER_FLOWS.md (L340-437) | ❌ Missing | No submission forms | +| Edit Content Flow | USER_FLOWS.md (L439-485) | ❌ Missing | No edit forms | +| Photo Upload Flow | USER_FLOWS.md (L487-545) | ⚠️ Partial | Basic upload exists | + +### 3.5 Engagement Flows + +| Flow | Source Doc File | Status | Action Required | +|------|-----------------|--------|-----------------| +| Write Review Flow | USER_FLOWS.md (L551-609) | ❌ Missing | No review writing UI | +| Log Ride Credit Flow | USER_FLOWS.md (L611-660) | ❌ Missing | No credit logging UI | + +### 3.6 Moderation Flows + +| Flow | Source Doc File | Status | Action Required | +|------|-----------------|--------|-----------------| +| Moderator Queue Workflow | USER_FLOWS.md (L664-746) | ⚠️ Partial | Missing diff viewer | + +### 3.7 Admin Flows + +| Flow | Source Doc File | Status | Action Required | +|------|-----------------|--------|-----------------| +| User Management Flow | USER_FLOWS.md (L750-800) | ⚠️ Partial | Basic list, missing actions | + +--- + +## 4. DESIGN SYSTEM GAP ANALYSIS + +| Feature | Source Doc File | Status | Action Required | +|---------|-----------------|--------|-----------------| +| Light/Dark Mode | DESIGN_SYSTEM.md (L23-75) | ✅ Complete | Implemented with ThemeSwitcher | +| Typography (Inter) | DESIGN_SYSTEM.md (L101-150) | ✅ Complete | Inter font loaded | +| Spacing System | DESIGN_SYSTEM.md (L154-172) | ✅ Complete | Using TailwindCSS | +| Border Radius | DESIGN_SYSTEM.md (L175-184) | ✅ Complete | Using TailwindCSS | +| Shadows | DESIGN_SYSTEM.md (L187-218) | ✅ Complete | Using TailwindCSS | +| Glow Effects (Dark Mode) | DESIGN_SYSTEM.md (L220-227) | ⚠️ Partial | Verify implementation | +| Animations | DESIGN_SYSTEM.md (L230-278) | ⚠️ Partial | Basic transitions | +| Glass Card (Dark Mode) | DESIGN_SYSTEM.md (L335-339) | ❌ Missing | No glassmorphism cards | +| Accessibility (Focus States) | DESIGN_SYSTEM.md (L468-471) | ✅ Complete | Using TailwindCSS | +| Reduced Motion | DESIGN_SYSTEM.md (L473-476) | ❌ Missing | No prefers-reduced-motion | + +--- + +## 5. PRIORITY BATCHES + +Based on the gaps identified above, here are the recommended implementation batches: + +### BATCH 1: Critical Missing Pages (HIGH PRIORITY) +1. `/my-credits` - Ride Credits Dashboard +2. `/settings` - Full Settings Page (6 sections) +3. `/parks/nearby` - Location-based Discovery +4. `/my-submissions` - Submission History +5. Static Pages: `/terms`, `/privacy`, `/guidelines` + +### BATCH 2: Missing Tabs on Existing Pages (HIGH PRIORITY) +1. Park Detail - Add Reviews, Photos, History tabs +2. Ride Detail - Add Specifications, Reviews, Photos, History tabs +3. Homepage - Expand to 11 Discovery Tabs (vs current 4) +4. Profile - Add Reviews, Ride Credits tabs + +### BATCH 3: Missing Components (MEDIUM PRIORITY) +1. ReviewCard component +2. CreditCard component +3. StarRating component +4. Diff Viewer component +5. ImageGallery with Lightbox +6. Footer component +7. Breadcrumbs component +8. DatePicker component +9. Range Slider component + +### BATCH 4: Submission Forms (MEDIUM PRIORITY) +1. `/submit/park` - Park submission wizard +2. `/submit/ride` - Ride submission wizard +3. `/submit/company` - Company submission wizard +4. Edit forms for existing entities + +### BATCH 5: Company Pages (MEDIUM PRIORITY) +1. `/designers` - Designers listing and detail +2. `/operators` - Operators listing and detail +3. `/owners` - Property Owners listing and detail +4. `/ride-models/{slug}` - Ride Model detail page + +### BATCH 6: Enhanced Features (LOW PRIORITY) +1. OAuth Authentication (Google, Discord) +2. Magic Link Login +3. CAPTCHA on forms +4. MFA Setup UI +5. Review voting (thumbs up/down) +6. Review replies +7. Recent searches history +8. Drag-and-drop list reordering +9. Glass card effects +10. Reduced motion support + +--- + +## 6. SOURCE DOCUMENT REFERENCE + +| File | Lines | Primary Coverage | +|------|-------|------------------| +| SITE_OVERVIEW.md | 245 | Site map, user roles, key journeys | +| PAGES.md | 1058 | All page specifications | +| COMPONENTS.md | 967 | UI component library | +| USER_FLOWS.md | 882 | User journey diagrams | +| DESIGN_SYSTEM.md | 496 | Visual identity, colors, typography | + +--- + +*This matrix is the Source of Truth for synchronization. Update as gaps are addressed.* diff --git a/IMPLEMENTATION_PLAN.md b/IMPLEMENTATION_PLAN.md index 12be007d..12564025 100644 --- a/IMPLEMENTATION_PLAN.md +++ b/IMPLEMENTATION_PLAN.md @@ -111,3 +111,69 @@ - Go to Settings -> Privacy -> Toggle "Private Profile". - Open Profile URL in Incognito -> Verify 404 or "Private" message. - Go to Settings -> Data -> "Download Data" -> Verify JSON structure. + +--- + +## Gap Reconciliation Batches (Added 2025-12-26) + +> [!IMPORTANT] +> These batches were identified during the Full Project Synchronization audit. +> Refer to `GAP_ANALYSIS_MATRIX.md` for detailed per-feature status. + +### BATCH 1: Critical Missing Pages (HIGH PRIORITY) +- [ ] `/my-credits` - Ride Credits Dashboard with stats, filters, quick increment +- [ ] `/settings` - Full Settings Page (6 sections: Account, Security, Privacy, Notifications, Location, Data) +- [ ] `/parks/nearby` - Location-based Discovery with Leaflet map, geolocation, radius slider +- [ ] `/my-submissions` - Submission History for user's past edits +- [ ] Static Pages: `/terms`, `/privacy`, `/guidelines` + +### BATCH 2: Missing Tabs on Existing Pages (HIGH PRIORITY) +- [ ] Park Detail - Add Reviews, Photos, History tabs +- [ ] Ride Detail - Add Specifications, Reviews, Photos, History tabs +- [ ] Homepage - Expand to 11 Discovery Tabs (All, Parks, Coasters, Flat, Water, Dark, Shows, Transport, Manufacturers, Designers, Recent) +- [ ] Profile Page - Add Reviews, Ride Credits tabs + +### BATCH 3: Missing Components (MEDIUM PRIORITY) +- [ ] `ReviewCard.vue` - User review display with voting +- [ ] `CreditCard.vue` - Ride credit display with quick actions +- [ ] `StarRating.vue` - Star rating visualization +- [ ] `DiffViewer.vue` - Side-by-side comparison for moderation +- [ ] `ImageGallery.vue` - Photo gallery with lightbox +- [ ] `AppFooter.vue` - Site-wide footer +- [ ] `Breadcrumbs.vue` - Hierarchical navigation +- [ ] DatePicker and Range Slider components + +### BATCH 4: Submission Forms (MEDIUM PRIORITY) +- [ ] `/submit/park` - Multi-step park submission wizard +- [ ] `/submit/ride` - Multi-step ride submission wizard +- [ ] `/submit/company` - Company submission wizard +- [ ] Edit forms for existing entities with JSON diff + +### BATCH 5: Company Pages (MEDIUM PRIORITY) +- [ ] `/designers` - Designers listing and detail pages +- [ ] `/operators` - Operators listing and detail pages +- [ ] `/owners` - Property Owners listing and detail pages +- [ ] `/ride-models/[slug]` - Ride Model detail with installations + +### BATCH 6: Enhanced Features (LOW PRIORITY) +- [ ] OAuth Authentication (Google, Discord) +- [ ] Magic Link Login +- [ ] CAPTCHA integration on forms +- [ ] MFA Setup UI +- [ ] Review voting (thumbs up/down) and replies +- [ ] Recent searches history +- [ ] Drag-and-drop list reordering +- [ ] Glass card effects (dark mode) +- [ ] Reduced motion support + +--- + +## Execution Order Recommendation + +1. **Start with BATCH 1** - Critical pages users expect +2. **Then BATCH 2** - Complete existing pages +3. **Then BATCH 3** - Components needed by batches 1 & 2 +4. **Then BATCH 4** - Enable user contributions +5. **Then BATCH 5** - Additional entity types +6. **Finally BATCH 6** - Polish and enhancements +