Commit 0190fc49 rédigé par Hamadou Ba's avatar Hamadou Ba
Parcourir les fichiers

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
parent 92152fa2
Prend en charge le Markdown
0% ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message !
Veuillez vous inscrire ou vous pour commenter