Files
thrillwiki_django_no_react/GAP_ANALYSIS_MATRIX.md

21 KiB

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
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.