mirror of
https://github.com/pacnpal/thrillwiki_django_no_react.git
synced 2025-12-20 08:51:09 -05:00
5.2 KiB
5.2 KiB
Technical Context
Core Technologies
Backend Framework
-
Django
- MVT architecture
- ORM for data management
- Template system
- URL routing
- Form handling
- Authentication
- Admin interface
-
Python
- Version requirements
- Core libraries
- Package management
- Virtual environments
Frontend Technologies
-
HTMX
- Dynamic updates and server interactions
- Partial rendering and progressive enhancement
- Server-side processing and form handling
- See frontendArchitecture.md for detailed implementation
-
AlpineJS
- UI state management and reactivity
- Component behavior and lifecycle
- Event handling and DOM manipulation
- See frontendArchitecture.md for component patterns
-
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
-
Base Structure
- Base templates
- Partial templates by model
- Component reuse
- Template inheritance
-
HTMX Integration
- Partial updates
- Server triggers
- Event handling
- Response processing
Data Flow
-
Model Layer
- Django ORM
- Database schema
- Relationships
- Validation rules
-
View Layer
- Class-based views
- Function views
- Mixins
- Decorators
-
Template Layer
- Django templates
- HTMX partials
- AlpineJS components
- Tailwind styles
Key Libraries/Frameworks
Django Extensions
-
Core Apps
- django.contrib.auth
- django.contrib.admin
- django.contrib.sessions
- django.contrib.messages
-
Third-Party
- django-tailwind
- django-htmx
- Additional dependencies
Frontend Libraries
-
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
-
JavaScript
- AlpineJS for reactive components
- HTMX for server interactions
- Location autocomplete system
- Alert and modal components
- See frontendArchitecture.md for component documentation
-
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
-
Local Setup
- Python environment
- Django configuration
- Tailwind setup
- Development server
-
Tools
- VSCode
- Git
- Package managers
- Development utilities
Production Environment
-
Hosting
- Server requirements
- Domain configuration
- SSL/TLS setup
- Static/media serving
-
Services
- Database hosting
- File storage
- Email service
- Monitoring tools
Technical Constraints
Development Rules
-
Code Standards
- Python style guide
- Django best practices
- Frontend patterns
- Documentation requirements
-
Process Requirements
- Git workflow
- Testing standards
- Review process
- Deployment steps
Technology Limitations
-
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
-
Backend
- Django version constraints
- Database limitations
- API restrictions
- Security requirements
Development Environment
Local Setup
-
Required Software
- Python
- pip
- Git
- Node.js (for Tailwind)
-
Configuration
- Environment variables
- Development settings
- Database setup
- Media handling
Development Tools
-
Editor Setup
- VSCode configuration
- Extensions
- Linting
- Formatting
-
Testing Tools
- Django test runner
- Coverage tools
- Browser testing
- Performance testing
Version Control
Git Configuration
-
Repository Structure
- Main branch workflow
- Commit standards
- Push requirements
- Version tracking
-
Process
- Commit messages
- Code review
- Documentation
- Deployment
Dependencies
Python Packages
-
Core Dependencies
- Django
- Database adapters
- Utility packages
- Testing tools
-
Development Dependencies
- Debug tools
- Testing utilities
- Documentation generators
- Linting tools
Frontend Dependencies
-
Required Packages
- Tailwind CSS
- AlpineJS
- HTMX
- Development tools
-
Build Tools
- Node.js
- npm/yarn
- Build scripts
- Asset compilation
Documentation Standards
Code Documentation
-
Python
- Docstrings
- Type hints
- Comments
- README files
-
Templates
- Component documentation
- HTMX attributes
- AlpineJS directives
- Style classes
Technical Documentation
-
System Documentation
- Architecture overview
- Setup guides
- Deployment process
- Maintenance procedures
-
Developer Guides
- Getting started
- Best practices
- Common patterns
- Troubleshooting