mirror of
https://github.com/pacnpal/thrillwiki_django_no_react.git
synced 2025-12-27 14:07:06 -05:00
413 lines
21 KiB
Markdown
413 lines
21 KiB
Markdown
# 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.*
|