feat: Phase 5 - Backend API implementation
Complete REST API with FastAPI for simulation, scenarios, and analytics
API Endpoints - Simulation (/api/simulation):
- POST /start: Start new simulation with custom config
- Accepts SimulationConfigModel (Pydantic validation)
- Returns session_id for result retrieval
- Runs simulation synchronously
- GET /results/{session_id}: Get simulation results
- Returns complete SimulationResultsModel
- Includes coordinator and server statistics
- Stability assessment
- DELETE /results/{session_id}: Clean up session
- GET /sessions: List all active sessions
API Endpoints - Scenarios (/api/scenarios):
- GET /: List all 5 predefined scenarios
- Returns scenario metadata (id, name, description)
- GET /{scenario_id}: Get scenario configuration
- Returns full SimulationConfigModel
- Ready to use or modify
- GET /scenario_5/variations: Get parameter sensitivity variations
- Returns all variations for scenario 5
- POST /{scenario_id}/run: Execute predefined scenario
- Runs scenario and stores results
- Returns session_id for retrieval
API Endpoints - Analytics (/api/analytics):
- POST /jackson: Analyze with Jackson's theorem
- Input: SimulationConfigModel
- Output: Analytical results (L, W, ρ, stability)
- No simulation required
- GET /compare/{session_id}: Compare analytical vs simulation
- Requires existing simulation session
- Returns detailed comparison with percentage differences
- Per-queue and system-wide metrics
- POST /stability: Quick stability check
- Input: Configuration
- Output: Stability conditions for all queues
- Utilization calculations
Architecture:
- Modular router design (simulation, scenarios, analytics)
- Pydantic models for validation and serialization
- In-memory session storage (could use Redis in production)
- Comprehensive error handling
- CORS enabled for frontend integration
Testing:
- test_api.py: Complete API test suite
- Tests all endpoints
- End-to-end workflow
- Includes examples of usage
Documentation:
- Auto-generated OpenAPI docs at /docs
- ReDoc documentation at /redoc
- Comprehensive endpoint descriptions
Features:
- Type-safe API with Pydantic validation
- Automatic request/response serialization
- Built-in API documentation
- CORS support for React frontend
- Session management for results
Phase 5 Complete ✓
Next: Phase 6 - Frontend React dashboard
Veuillez vous inscrire ou vous connecter pour commenter