mirror of
https://github.com/pacnpal/thrillwiki_django_no_react.git
synced 2025-12-21 02:51:08 -05:00
- 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.
228 lines
7.3 KiB
Markdown
228 lines
7.3 KiB
Markdown
# 🔄 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:
|
|
|
|
```bash
|
|
# 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`
|
|
```python
|
|
# 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`
|
|
```python
|
|
# 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`
|
|
```typescript
|
|
// 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**
|
|
|
|
```bash
|
|
# 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
|