mirror of
https://github.com/pacnpal/thrillwiki_django_no_react.git
synced 2025-12-20 03:51:09 -05:00
267 lines
5.2 KiB
Markdown
267 lines
5.2 KiB
Markdown
# Technical Context
|
|
|
|
## Core Technologies
|
|
|
|
### Backend Framework
|
|
1. Django
|
|
- MVT architecture
|
|
- ORM for data management
|
|
- Template system
|
|
- URL routing
|
|
- Form handling
|
|
- Authentication
|
|
- Admin interface
|
|
|
|
2. Python
|
|
- Version requirements
|
|
- Core libraries
|
|
- Package management
|
|
- Virtual environments
|
|
|
|
### Frontend Technologies
|
|
1. HTMX
|
|
- Dynamic updates and server interactions
|
|
- Partial rendering and progressive enhancement
|
|
- Server-side processing and form handling
|
|
- See frontendArchitecture.md for detailed implementation
|
|
|
|
2. AlpineJS
|
|
- UI state management and reactivity
|
|
- Component behavior and lifecycle
|
|
- Event handling and DOM manipulation
|
|
- See frontendArchitecture.md for component patterns
|
|
|
|
3. Tailwind CSS
|
|
- Utility-first styling with custom configuration
|
|
- Component design system
|
|
- Responsive layouts and dark mode support
|
|
- See frontendArchitecture.md for styling guide
|
|
|
|
## Integration Patterns
|
|
|
|
### Template System
|
|
1. Base Structure
|
|
- Base templates
|
|
- Partial templates by model
|
|
- Component reuse
|
|
- Template inheritance
|
|
|
|
2. HTMX Integration
|
|
- Partial updates
|
|
- Server triggers
|
|
- Event handling
|
|
- Response processing
|
|
|
|
### Data Flow
|
|
1. Model Layer
|
|
- Django ORM
|
|
- Database schema
|
|
- Relationships
|
|
- Validation rules
|
|
|
|
2. View Layer
|
|
- Class-based views
|
|
- Function views
|
|
- Mixins
|
|
- Decorators
|
|
|
|
3. Template Layer
|
|
- Django templates
|
|
- HTMX partials
|
|
- AlpineJS components
|
|
- Tailwind styles
|
|
|
|
## Key Libraries/Frameworks
|
|
|
|
### Django Extensions
|
|
1. Core Apps
|
|
- django.contrib.auth
|
|
- django.contrib.admin
|
|
- django.contrib.sessions
|
|
- django.contrib.messages
|
|
|
|
2. Third-Party
|
|
- django-tailwind
|
|
- django-htmx
|
|
- Additional dependencies
|
|
|
|
### Frontend Libraries
|
|
1. CSS Framework
|
|
- Tailwind CSS with custom configuration
|
|
- Theme system with light/dark mode support
|
|
- Component-specific style patterns
|
|
- See frontendArchitecture.md for complete styling guide
|
|
|
|
2. JavaScript
|
|
- AlpineJS for reactive components
|
|
- HTMX for server interactions
|
|
- Location autocomplete system
|
|
- Alert and modal components
|
|
- See frontendArchitecture.md for component documentation
|
|
|
|
3. UI Components
|
|
- Form elements and validation
|
|
- Navigation and menus
|
|
- Status indicators and badges
|
|
- Modal and alert system
|
|
- See frontendArchitecture.md for implementation details
|
|
|
|
## Infrastructure Choices
|
|
|
|
### Development Environment
|
|
1. Local Setup
|
|
- Python environment
|
|
- Django configuration
|
|
- Tailwind setup
|
|
- Development server
|
|
|
|
2. Tools
|
|
- VSCode
|
|
- Git
|
|
- Package managers
|
|
- Development utilities
|
|
|
|
### Production Environment
|
|
1. Hosting
|
|
- Server requirements
|
|
- Domain configuration
|
|
- SSL/TLS setup
|
|
- Static/media serving
|
|
|
|
2. Services
|
|
- Database hosting
|
|
- File storage
|
|
- Email service
|
|
- Monitoring tools
|
|
|
|
## Technical Constraints
|
|
|
|
### Development Rules
|
|
1. Code Standards
|
|
- Python style guide
|
|
- Django best practices
|
|
- Frontend patterns
|
|
- Documentation requirements
|
|
|
|
2. Process Requirements
|
|
- Git workflow
|
|
- Testing standards
|
|
- Review process
|
|
- Deployment steps
|
|
|
|
### Technology Limitations
|
|
1. Frontend
|
|
- HTMX/AlpineJS only (no React/Vue/Angular)
|
|
- Progressive enhancement approach required
|
|
- Must support latest 2 versions of major browsers
|
|
- See frontendArchitecture.md for detailed browser support
|
|
- Performance targets:
|
|
* First contentful paint < 1.5s
|
|
* Time to interactive < 2s
|
|
* Core Web Vitals compliance
|
|
|
|
2. Backend
|
|
- Django version constraints
|
|
- Database limitations
|
|
- API restrictions
|
|
- Security requirements
|
|
|
|
## Development Environment
|
|
|
|
### Local Setup
|
|
1. Required Software
|
|
- Python
|
|
- pip
|
|
- Git
|
|
- Node.js (for Tailwind)
|
|
|
|
2. Configuration
|
|
- Environment variables
|
|
- Development settings
|
|
- Database setup
|
|
- Media handling
|
|
|
|
### Development Tools
|
|
1. Editor Setup
|
|
- VSCode configuration
|
|
- Extensions
|
|
- Linting
|
|
- Formatting
|
|
|
|
2. Testing Tools
|
|
- Django test runner
|
|
- Coverage tools
|
|
- Browser testing
|
|
- Performance testing
|
|
|
|
## Version Control
|
|
|
|
### Git Configuration
|
|
1. Repository Structure
|
|
- Main branch workflow
|
|
- Commit standards
|
|
- Push requirements
|
|
- Version tracking
|
|
|
|
2. Process
|
|
- Commit messages
|
|
- Code review
|
|
- Documentation
|
|
- Deployment
|
|
|
|
## Dependencies
|
|
|
|
### Python Packages
|
|
1. Core Dependencies
|
|
- Django
|
|
- Database adapters
|
|
- Utility packages
|
|
- Testing tools
|
|
|
|
2. Development Dependencies
|
|
- Debug tools
|
|
- Testing utilities
|
|
- Documentation generators
|
|
- Linting tools
|
|
|
|
### Frontend Dependencies
|
|
1. Required Packages
|
|
- Tailwind CSS
|
|
- AlpineJS
|
|
- HTMX
|
|
- Development tools
|
|
|
|
2. Build Tools
|
|
- Node.js
|
|
- npm/yarn
|
|
- Build scripts
|
|
- Asset compilation
|
|
|
|
## Documentation Standards
|
|
|
|
### Code Documentation
|
|
1. Python
|
|
- Docstrings
|
|
- Type hints
|
|
- Comments
|
|
- README files
|
|
|
|
2. Templates
|
|
- Component documentation
|
|
- HTMX attributes
|
|
- AlpineJS directives
|
|
- Style classes
|
|
|
|
### Technical Documentation
|
|
1. System Documentation
|
|
- Architecture overview
|
|
- Setup guides
|
|
- Deployment process
|
|
- Maintenance procedures
|
|
|
|
2. Developer Guides
|
|
- Getting started
|
|
- Best practices
|
|
- Common patterns
|
|
- Troubleshooting
|