mirror of
https://github.com/pacnpal/thrillwiki_django_no_react.git
synced 2025-12-20 17:11:09 -05:00
- Created comprehensive documentation structure - Added productContext.md for product understanding - Added activeContext.md for current development status - Added systemPatterns.md for architecture patterns - Added developmentWorkflow.md for process standards - Added operationalContext.md for runtime details - Added projectBoundaries.md for technical constraints - Added techContext.md for technology stack - Documented all major aspects of the system - Established foundation for maintaining context
2.9 KiB
2.9 KiB
System Patterns
High-Level Architecture
Backend Architecture
- Django-based MVT (Model-View-Template) architecture
- Modular app structure for domain separation
- HTMX for dynamic server-side rendering
- AlpineJS for client-side interactivity
Core Apps
-
Parks & Rides
- parks/ - Park management
- rides/ - Ride information
- designers/ - Ride designer profiles
- companies/ - Park operator profiles
-
User Content
- reviews/ - User reviews
- media/ - Media management
- moderation/ - Content moderation
-
Supporting Systems
- accounts/ - User management
- analytics/ - Usage tracking
- location/ - Geographic services
- email_service/ - Communication
- history_tracking/ - Change tracking
Core Technical Patterns
Data Flow
-
Request Handling
- Django URL routing
- View processing
- HTMX partial updates
- Template rendering
-
Content Management
- Moderated submission flow
- Media processing pipeline
- Review validation system
- History tracking
-
User Interactions
- HTMX for dynamic updates
- AlpineJS for UI state
- Partial template loading
- Progressive enhancement
Database Patterns
- Django ORM for data access
- Related models for complex relationships
- Signals for cross-model updates
- History tracking for changes
Key Technical Decisions
Frontend Strategy
-
Server-Side Rendering
- Django templates as base
- HTMX for dynamic updates
- Partial templates by model
- AlpineJS for client state
-
Styling
- Tailwind CSS
- Component-based design
- Responsive layouts
Backend Organization
-
App Separation
- Domain-driven design
- Clear responsibility boundaries
- Modular functionality
- Reusable components
-
Code Structure
- Models for data definition
- Views for business logic
- Templates for presentation
- URLs for routing
- Signals for cross-cutting concerns
Integration Patterns
-
External Services
- Email service integration
- Media storage handling
- Analytics tracking
- Location services
-
Internal Communication
- Django signals
- Context processors
- Middleware
- Template tags
Data Flow Patterns
Content Creation
-
User Input
- Form submission
- Media upload
- Review creation
- Park/ride updates
-
Processing
- Validation
- Moderation queue
- Media processing
- History tracking
-
Publication
- Approval workflow
- Public visibility
- Notification system
- Cache updates
Query Patterns
-
Efficient Loading
- Select related
- Prefetch related
- Cached queries
- Optimized indexes
-
Search Operations
- Location-based queries
- Full-text search
- Filtered results
- Sorted listings
Error Handling
- Django middleware
- Custom error pages
- Logging system
- User notifications
Security Patterns
- Django authentication
- Permission mixins
- CSRF protection
- XSS prevention
- Input validation