# ThrillWiki Technical Architecture ``` ┌─────────────────────────────────────────────────────────────┐ │ ThrillWiki Platform │ ├─────────────────┬─────────────────────┬───────────────────┤ │ Frontend Layer │ Application Layer │ Storage Layer │ ├─────────────────┤ │ │ │ - Templates │ Django Apps │ - PostgreSQL DB │ │ - Tailwind CSS │ ┌──────────┐ │ - Media Storage │ │ - JavaScript │ │ Parks │ │ - Static Files │ │ │ │ Rides │ │ │ │ Components │ │Companies │ │ │ │ - Photo Gallery │ │Designers │ │ │ │ - Review Forms │ └──────────┘ │ │ │ │ │ │ ├─────────────────┼─────────────────────┼───────────────────┤ │ Auth Layer │ Service Layer │ Analytics Layer │ ├─────────────────┤ │ │ │ - Django Auth │ Core Services │ - Page Tracking │ │ - Social Auth │ ┌──────────┐ │ - Trending Calc │ │ - Permissions │ │ Reviews │ │ - Usage Stats │ │ │ │ Media │ │ │ │ │ │Analytics │ │ │ │ │ └──────────┘ │ │ └─────────────────┴─────────────────────┴───────────────────┘ Data Flow: User Request → URL Router → View → Model → Database ↓ Template → Response Content Relations: Park ──┬── Areas └── Rides ─┬── Manufacturer └── Designer Media Storage: Content ─→ Generic Relation ─→ Photos Analytics Flow: Page View → Tracking → Trending Calculation ``` ## Key Components 1. **Frontend Layer** - Template-based rendering - Tailwind CSS styling - JavaScript enhancements - Interactive components 2. **Application Layer** - Core domain apps - Business logic - Data validation - Content management 3. **Storage Layer** - Database persistence - Media file storage - Caching system 4. **Authentication Layer** - User management - Social authentication - Permission control 5. **Service Layer** - Review system - Media handling - Email services 6. **Analytics Layer** - View tracking - Trend analysis - Usage statistics