# Migration Source: thrillwiki-87

The React project at `/Volumes/macminissd/Projects/thrillwiki-87` is the **authoritative source** for ThrillWiki features and functionality.

## Core Principle

**thrillwiki-87 is LAW.** When migrating features, the React implementation defines:
- What features must exist
- How they should behave
- What data structures are required
- What UI patterns to follow

## Source Project Structure

```
thrillwiki-87/
├── src/
│   ├── components/    # React components (44 directories)
│   ├── pages/         # Route pages (39 files)
│   ├── hooks/         # React hooks (80+ files)
│   ├── types/         # TypeScript definitions (63 files)
│   ├── contexts/      # React contexts
│   ├── lib/           # Utilities
│   └── integrations/  # External service integrations
├── docs/              # Feature documentation (78 files)
│   ├── SITE_OVERVIEW.md
│   ├── DESIGN_SYSTEM.md
│   ├── COMPONENTS.md
│   ├── PAGES.md
│   └── USER_FLOWS.md
└── supabase/          # Backend schemas and functions
```

## Technology Translation

| React (Source) | Nuxt 4 (Target) |
|----------------|-----------------|
| React component | Vue SFC (.vue) |
| useState | ref() / reactive() |
| useEffect | watch() / onMounted() |
| useContext | provide() / inject() or Pinia |
| React Router | Nuxt file-based routing |
| React Query | useAsyncData / useFetch |
| shadcn-ui | Nuxt UI |
| Supabase client | Django REST API via useApi() |
| Edge Functions | Django views |

## Backend Translation

| Supabase (Source) | Django (Target) |
|-------------------|-----------------|
| Table | Django Model |
| RLS policies | DRF permissions |
| Edge Functions | Django views/viewsets |
| Realtime | SSE / WebSockets |
| Auth | django-allauth + JWT |
| Storage | Cloudflare R2 |

## Migration Workflow

1. **Find source** in thrillwiki-87
2. **Read the docs** in thrillwiki-87/docs/
3. **Check existing** Nuxt implementation
4. **Port missing features** to achieve parity
5. **Verify behavior** matches source

## Key Source Files to Reference

When porting a feature, always check:
- `thrillwiki-87/docs/` for specifications
- `thrillwiki-87/src/types/` for data structures
- `thrillwiki-87/src/hooks/` for business logic
- `thrillwiki-87/src/components/` for UI patterns
