API Design
Django API Design Patterns
Our backend is Django-based with these key architectural components and patterns:
Core Data Models:
Products, Units, Experiments, Variants, Assignments, Metrics, Meas
# Django API Design Patterns
Our backend is Django-based with these key architectural components and patterns:
1. **Core Data Models**:
- Products, Units, Experiments, Variants, Assignments, Metrics, Measurements
- Evolution toward a unified "Trait" model that handles both controlled experiments and dimensional attributes
2. **API Design Patterns**:
- RESTful nested resource design
- Clean authorization patterns for multi-tenant access
- Robust permission handling
3. **Multi-tenant Architecture**:
- Organization-based access control
- Hierarchical resource ownership
4. **Technology Stack**:
- Django + Django REST Framework (considering Django Ninja alternatives)
- Focus on type safety and scalable patterns
The backend serves an experimentation platform ("Lab") with a biological evolution-inspired approach to product improvement through controlled variation and selection.By Eduarda Ferreira