mirror of
https://github.com/pacnpal/thrillwiki_django_no_react.git
synced 2026-02-05 09:25:18 -05:00
74 lines
2.3 KiB
Markdown
74 lines
2.3 KiB
Markdown
# 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
|