Files
thrillwiki_django_no_react/docs/nuxt/00-CONTEXT-SUMMARY.md
pacnpal 1b246eeaa4 Add comprehensive test scripts for various models and services
- Implement tests for RideLocation and CompanyHeadquarters models to verify functionality and data integrity.
- Create a manual trigger test script for trending content calculation endpoint, including authentication and unauthorized access tests.
- Develop a manufacturer sync test to ensure ride manufacturers are correctly associated with ride models.
- Add tests for ParkLocation model, including coordinate setting and distance calculations between parks.
- Implement a RoadTripService test suite covering geocoding, route calculation, park discovery, and error handling.
- Create a unified map service test script to validate map functionality, API endpoints, and performance metrics.
2025-09-27 22:26:40 -04:00

133 lines
5.8 KiB
Markdown

# 📋 ThrillWiki Nuxt Frontend - Context Summary for LLMs
## 🎯 Project Overview
Building a modern Nuxt 3 frontend for ThrillWiki (theme park database) that integrates seamlessly with the existing Django REST API backend. The frontend will be implemented in the `frontend/` directory using an existing component library and Context7 for documentation.
## 🏗️ Current System Architecture
```
thrillwiki_django_no_react/
├── backend/ # Django REST API (existing, robust)
│ ├── apps/api/v1/ # Comprehensive REST API
│ ├── templates/ # HTMX + Alpine.js templates (separate system)
│ └── static/ # Backend static files
├── frontend/ # NEW - Nuxt 3 frontend (to be created)
│ ├── components/ # Using existing component library
│ ├── composables/ # API integration & auth
│ ├── pages/ # Route pages
│ └── plugins/ # Context7 integration
├── docs/nuxt/ # This documentation (Context7-powered)
└── context_portal/ # Context7 integration
```
## 🔧 Key Technical Decisions Made
### Framework & Architecture
- **Frontend Framework:** Nuxt 3 with Vue 3 Composition API
- **Language:** TypeScript for type safety
- **Location:** `frontend/` directory (separate from Django backend)
- **State Management:** Pinia for global state
- **Component Library:** TBD - existing reusable library (user choice needed)
### Authentication & API
- **Authentication:** JWT with refresh tokens (requires Django backend enhancement)
- **API Integration:** Django REST API at `/api/v1/`
- **Current Django Auth:** Token-based (needs JWT upgrade)
- **API Client:** Custom composables with $fetch
### Documentation & Knowledge Management
- **Documentation System:** Context7 integration
- **Knowledge Preservation:** LLM-optimized documentation structure
- **Status Tracking:** Comprehensive progress tracking system
### Deployment & Infrastructure
- **Deployment:** Self-hosted with Docker
- **Development:** Separate frontend/backend with proxy
- **Environment:** Development proxy to Django backend
## 📊 Current Django Backend Capabilities
### Existing API Endpoints (Comprehensive)
```
/api/v1/auth/ # Authentication (token-based, needs JWT)
/api/v1/parks/ # Parks CRUD, search, photos
/api/v1/rides/ # Rides CRUD, search, photos
/api/v1/accounts/ # User profiles, top lists
/api/v1/rankings/ # Ride rankings system
/api/v1/maps/ # Geographic data and mapping
/api/v1/history/ # Change tracking and history
/api/v1/trending/ # Trending content
/api/v1/health/ # System health checks
```
### Database Models (Rich Data Structure)
- **Parks:** Name, location, operator, status, photos
- **Rides:** Name, park, category, manufacturer, specs, photos
- **Users:** Profiles, preferences, top lists, reviews
- **Photos:** Park/ride photos with moderation
- **Rankings:** Sophisticated ride ranking system
- **History:** Complete change tracking
- **Companies:** Manufacturers, operators, designers
## 🎯 User Requirements (Final)
### Core Requirements
1. **Context7 Integration:** Use for documentation and knowledge management
2. **Frontend Location:** Implement in `frontend/` directory
3. **Component Library:** Use existing reusable component library (choice needed)
4. **Authentication:** JWT with refresh tokens
5. **Deployment:** Self-hosted infrastructure
6. **Features:** Submission system with moderation capabilities
7. **Design:** Completely responsive, modern interface
### Feature Requirements
- **Content Submission:** Users can submit parks, rides, photos, reviews
- **Moderation System:** Admin interface for content approval/rejection
- **User Management:** Profiles, authentication, preferences
- **Search & Discovery:** Advanced search, filtering, trending content
- **Photo Management:** Upload, gallery, moderation workflow
- **Rankings:** Display and interact with ride ranking system
- **Maps Integration:** Geographic visualization of parks/rides
## 🚨 Critical Dependencies & Blockers
### Immediate Blockers
1. **Component Library Choice:** Must choose before frontend setup
- Options: Nuxt UI, Vuetify, Quasar, PrimeVue, Element Plus
- Impact: Affects entire UI architecture and development approach
### Technical Dependencies
1. **Django JWT Enhancement:** Backend needs JWT endpoints added
2. **Context7 Integration:** Approach for documentation integration
3. **Development Environment:** Frontend/backend proxy configuration
## 🔄 Integration Points
### Django Backend Integration
- **API Consumption:** All data via REST API endpoints
- **Authentication:** JWT tokens for secure API access
- **File Uploads:** Photos and media through Django endpoints
- **Real-time Features:** WebSocket integration for live updates (future)
### Context7 Integration
- **Documentation:** Auto-generated API docs and component docs
- **Knowledge Management:** Preserve implementation context
- **LLM Handoffs:** Structured information for continuation
## 📈 Success Metrics
1. **Functionality Parity:** All Django backend features accessible
2. **Performance:** Fast loading, responsive interactions
3. **User Experience:** Intuitive, modern interface
4. **Maintainability:** Clean, documented, testable code
5. **Scalability:** Ready for future feature additions
## 🎨 Design Philosophy
- **Mobile-First:** Responsive design starting with mobile
- **Modern Aesthetics:** Clean, contemporary interface
- **User-Centric:** Intuitive navigation and interactions
- **Performance-Focused:** Fast loading and smooth animations
- **Accessible:** WCAG compliance and keyboard navigation
---
**Next Steps:** Read `00-CONTINUATION-GUIDE.md` for specific implementation instructions.