Files
thrillwiki_django_no_react/memory-bank/techContext.md

157 lines
2.8 KiB
Markdown

# Technical Context
## Architecture Overview
### Stack Components
- **Framework**: Django (MVT Architecture)
- **Frontend**: HTMX + AlpineJS + Tailwind CSS
- **Database**: Django ORM
- **Authentication**: Django Built-in Auth
## Technical Architecture
### Backend (Django)
1. Core Framework Features
- MVT pattern implementation
- ORM for data management
- Template system
- Authentication & permissions
- Admin interface
- URL routing
- Form processing
2. Data Layer
- Models & relationships
- Validation rules
- Signal handlers
- Database migrations
### Frontend Architecture
1. HTMX Integration
- Dynamic updates
- Partial page renders
- Server-side processing
- Progressive enhancement
2. AlpineJS Usage
- UI state management
- Component behaviors
- Event handling
- DOM manipulation
3. Tailwind CSS
- Utility-first styling
- Custom theme configuration
- Responsive design
- Dark mode support
## Integration Patterns
### Template System
1. Structure
- Base templates
- Model-specific partials
- Reusable components
- Template inheritance
2. HTMX Patterns
- Partial updates
- Server triggers
- Event handling
- Response processing
### State Management
1. Server-side
- Django sessions
- Database state
- Cache management
2. Client-side
- AlpineJS state
- Local storage
- HTMX state management
## Performance Requirements
### Frontend Targets
- First contentful paint < 1.5s
- Time to interactive < 2s
- Core Web Vitals compliance
- Progressive enhancement
- Latest 2 versions of major browsers
### Backend Optimization
- Database query optimization
- Caching strategy
- Asset optimization
- API response times
## Development Environment
### Required Tools
- Python with virtual environment
- Node.js (Tailwind build)
- Git version control
- VSCode IDE
### Configuration
- Environment variables
- Development settings
- Database setup
- Media handling
## Security Framework
### Authentication
- Django auth system
- Session management
- Permission levels
- User roles
### Data Protection
- CSRF protection
- XSS prevention
- SQL injection prevention
- Input validation
## Testing Strategy
### Backend Testing
- Django test runner
- Unit tests
- Integration tests
- Coverage requirements
### Frontend Testing
- Browser testing
- Performance metrics
- Accessibility testing
- User flow validation
## Deployment Process
### Environment Setup
- Production configuration
- Database migration
- Static file handling
- SSL/TLS setup
### Monitoring
- Error tracking
- Performance monitoring
- User analytics
- System health checks
## Documentation Requirements
### Code Documentation
- Python docstrings
- Type hints
- Component documentation
- API documentation
### System Documentation
- Setup guides
- Architecture docs
- Maintenance procedures
- Troubleshooting guides