- 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.
7.3 KiB
🔄 ThrillWiki Nuxt Frontend - Continuation Guide for LLMs
🎯 How to Continue This Project
1. Read These Files First (in order):
00-PROJECT-STATUS.md- Current status and immediate next steps00-CONTEXT-SUMMARY.md- Complete project context and technical decisions- This file (
00-CONTINUATION-GUIDE.md) - How to proceed planning/requirements.md- Detailed requirements (when created)planning/architecture-decisions.md- Technical architecture (when created)
2. Current State Assessment:
- Progress: 15% complete - Documentation structure created
- Phase: Foundation Setup - Ready to begin implementation
- Blocker: Component library choice needed before proceeding
- Location: Working directory is
/Users/talor/thrillwiki_django_no_react
3. Immediate Next Actions (Priority Order):
CRITICAL - Component Library Decision
Status: ⏳ BLOCKED - User choice required
Action: Ask user to choose from:
- Nuxt UI (Recommended - Nuxt-native, Tailwind-based, modern)
- Vuetify (Material Design, comprehensive)
- Quasar (Full framework with CLI)
- PrimeVue (Enterprise-focused, rich components)
- Element Plus (Popular, Vue 3 compatible)
Impact: This choice affects entire frontend architecture, so must be decided first.
Step 1: Create Planning Documentation
Status: ⏳ TODO
Files to create:
docs/nuxt/planning/
├── requirements.md # Detailed feature requirements
├── architecture-decisions.md # Technical architecture details
├── component-library-analysis.md # Analysis of chosen library
└── api-integration-strategy.md # Django API integration plan
Step 2: Set Up Frontend Directory
Status: ⏳ TODO
Actions:
- Create
frontend/directory in project root - Initialize Nuxt 3 project with TypeScript
- Install chosen component library
- Configure development environment
Step 3: Configure Development Environment
Status: ⏳ TODO
Actions:
- Set up proxy from Nuxt to Django backend (
http://localhost:8000) - Configure CORS in Django for frontend development
- Set up environment variables for API endpoints
- Test basic API connectivity
Step 4: Implement JWT Authentication
Status: ⏳ TODO - Requires Django backend enhancement
Actions:
- Backend: Add JWT endpoints to Django
- Frontend: Create authentication composables
- Frontend: Implement login/signup/logout flows
- Frontend: Add route protection middleware
4. File Creation Commands (Ready to Execute)
Once component library is chosen, execute these commands:
# Create frontend directory
mkdir frontend
cd frontend
# Initialize Nuxt 3 project (example with Nuxt UI)
npx nuxi@latest init . --package-manager npm
npm install --save-dev typescript @nuxt/typescript-build
# Install chosen component library (example: Nuxt UI)
npm install @nuxt/ui
# Install additional dependencies
npm install @pinia/nuxt pinia @vueuse/nuxt @vueuse/core
# Return to project root
cd ..
5. Django Backend Enhancements Needed
JWT Authentication Setup
File: backend/requirements.txt or backend/pyproject.toml
# Add these dependencies
djangorestframework-simplejwt
django-cors-headers # If not already present
Files to modify:
backend/config/settings/base.py- Add JWT configurationbackend/apps/api/v1/auth/urls.py- Add JWT endpointsbackend/apps/api/v1/auth/views.py- Add JWT views
CORS Configuration
File: backend/config/settings/local.py
# Add frontend development server
CORS_ALLOWED_ORIGINS = [
"http://localhost:3000", # Nuxt dev server
"http://127.0.0.1:3000",
]
6. Context7 Integration Plan
Documentation Strategy
- Auto-generate API docs from Django REST framework
- Component documentation using Storybook or similar
- Implementation guides with code examples
- Progress tracking with status updates
Context7 MCP Integration
File: frontend/plugins/context7.client.ts
// Context7 integration for documentation
export default defineNuxtPlugin(() => {
// Initialize Context7 connection
// Auto-document API calls
// Track component usage
})
7. Development Workflow
Daily Development Process
- Update status in
00-PROJECT-STATUS.md - Document decisions in relevant specification files
- Create implementation guides as you build
- Test integration with Django backend
- Update progress tracking before ending session
Testing Strategy
- Unit tests: Vitest for composables and utilities
- Component tests: Vue Test Utils for UI components
- E2E tests: Playwright for full user flows
- API tests: Test Django integration
8. Common Pitfalls & Solutions
CORS Issues
Problem: Frontend can't connect to Django backend
Solution: Ensure CORS_ALLOWED_ORIGINS includes frontend URL
Authentication Flow
Problem: JWT token management complexity
Solution: Use composables for token refresh and storage
Component Library Integration
Problem: Styling conflicts or missing features
Solution: Follow library's Nuxt integration guide exactly
Development Server Proxy
Problem: API calls fail in development
Solution: Configure Nuxt proxy in nuxt.config.ts
9. Success Checkpoints
Phase 1 Complete When:
- Frontend directory set up with Nuxt 3
- Component library integrated and working
- Basic authentication flow implemented
- API connectivity established
- Development environment fully configured
Phase 2 Complete When:
- Parks listing page functional
- Rides listing page functional
- Search functionality working
- Photo upload/display working
- User profiles accessible
10. Emergency Continuation Points
If Starting Fresh:
- Read all
00-*.mdfiles in this directory - Check
planning/directory for detailed specs - Review
implementation/phase-*/README.mdfor current phase - Check Django backend status and API availability
If Blocked:
- Update
00-PROJECT-STATUS.mdwith blocker details - Document the issue in appropriate specification file
- Create workaround plan if possible
- Update continuation guide with new information
11. Key Commands Reference
# Start Django backend
cd backend && uv run manage.py runserver
# Start Nuxt frontend (once created)
cd frontend && npm run dev
# Run tests
cd frontend && npm run test
# Build for production
cd frontend && npm run build
# Check API connectivity
curl http://localhost:8000/api/v1/health/
🚨 CRITICAL REMINDER FOR CONTINUING LLMs:
- Always check
00-PROJECT-STATUS.mdfirst for current state - Component library choice is BLOCKING - must be resolved before proceeding
- Django backend is fully functional - focus on frontend implementation
- Context7 integration approach needs clarification from user
- Update documentation as you work - this is crucial for handoffs
Current Working Directory: /Users/talor/thrillwiki_django_no_react
Next File to Create: docs/nuxt/planning/requirements.md
Next Major Task: Set up frontend/ directory with chosen component library