Files
thrillwiki_django_no_react/docs/nuxt/00-CONTINUATION-GUIDE.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

7.3 KiB

🔄 ThrillWiki Nuxt Frontend - Continuation Guide for LLMs

🎯 How to Continue This Project

1. Read These Files First (in order):

  1. 00-PROJECT-STATUS.md - Current status and immediate next steps
  2. 00-CONTEXT-SUMMARY.md - Complete project context and technical decisions
  3. This file (00-CONTINUATION-GUIDE.md) - How to proceed
  4. planning/requirements.md - Detailed requirements (when created)
  5. 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:

  1. Create frontend/ directory in project root
  2. Initialize Nuxt 3 project with TypeScript
  3. Install chosen component library
  4. Configure development environment

Step 3: Configure Development Environment

Status: TODO
Actions:

  1. Set up proxy from Nuxt to Django backend (http://localhost:8000)
  2. Configure CORS in Django for frontend development
  3. Set up environment variables for API endpoints
  4. Test basic API connectivity

Step 4: Implement JWT Authentication

Status: TODO - Requires Django backend enhancement
Actions:

  1. Backend: Add JWT endpoints to Django
  2. Frontend: Create authentication composables
  3. Frontend: Implement login/signup/logout flows
  4. 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 configuration
  • backend/apps/api/v1/auth/urls.py - Add JWT endpoints
  • backend/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

  1. Auto-generate API docs from Django REST framework
  2. Component documentation using Storybook or similar
  3. Implementation guides with code examples
  4. 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

  1. Update status in 00-PROJECT-STATUS.md
  2. Document decisions in relevant specification files
  3. Create implementation guides as you build
  4. Test integration with Django backend
  5. 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:

  1. Read all 00-*.md files in this directory
  2. Check planning/ directory for detailed specs
  3. Review implementation/phase-*/README.md for current phase
  4. Check Django backend status and API availability

If Blocked:

  1. Update 00-PROJECT-STATUS.md with blocker details
  2. Document the issue in appropriate specification file
  3. Create workaround plan if possible
  4. 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:

  1. Always check 00-PROJECT-STATUS.md first for current state
  2. Component library choice is BLOCKING - must be resolved before proceeding
  3. Django backend is fully functional - focus on frontend implementation
  4. Context7 integration approach needs clarification from user
  5. 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