Skip to content

🔧 Key Features

Key

  • Have
  • In progress / Future / Nice to have

Python FastAPI Service

  • Loads trained PPO models
  • RESTful action prediction
  • Health monitoring
  • Comprehensive error handling
  • Interactive API documentation (Swagger UI)
  • Configurable via environment variables
  • Request/response caching for identical observations
  • Model versioning and switching at runtime
  • Metrics collection (request counts, latency)
  • Structured logging with log levels

Java API Gateway

  • REST API endpoints for traffic control
  • Communicates with Python service
  • Health checks and monitoring
  • Robust error handling
  • Service dependency management
  • Load testing capabilities
  • Circuit breaker pattern (Resilience4j)
  • Load testing capabilities
  • API request rate limiting
  • Request/response logging and audit trail
  • Metrics export (Micrometer/Prometheus)
  • Request validation and sanitization

SUMO Traffic Simulator Integration

  • SUMO TraCI (Traffic Control Interface) integration
  • Vehicle simulation and tracking
  • Traffic light control via SUMO
  • Real-time traffic state feedback
  • SUMO network configuration
  • Vehicle data collection and logging
  • Simulation metrics and reporting
  • Integration with RL inference service

Security & Authentication (Optional - A00163691-JWTAuth Branch)

  • JWT token generation and validation
  • Bearer token authentication for API endpoints
  • Token refresh mechanism
  • Role-based access control (RBAC)
  • API key management
  • Request signing with JWT
  • Token expiration and revocation
  • Secure token storage (in transit with HTTPS)
  • Rate limiting per authenticated user
  • Audit logging for authentication events

LSTM Traffic Predictor Service

  • Load SUMO historical data (edgeData.xml)
  • Preprocess time-series data (stationarity, scaling, sliding windows)
  • Train LSTM model on historical traffic patterns
  • Achieve MAE < 10% forecasting accuracy
  • Predict vehicle flow 15 minutes ahead
  • Handle missing sensor data (KNN imputation)
  • REST endpoints (health, forecast, model_info)
  • Interactive API documentation (Swagger UI)
  • Health monitoring and logging
  • Docker containerization
  • Integration with RL Inference Service
  • Bidirectional LSTM for enhanced accuracy (future)
  • Attention mechanism for temporal weighting (future)
  • Real-time model retraining capability (future)
  • Weather data integration (future)

Docker Integration

  • Multi-stage builds for optimization
  • Service orchestration with Docker Compose
  • Health checks and automatic restart
  • Persistent volumes for models
  • Network isolation
  • Logging and monitoring
  • Kubernetes deployment manifests (optional)
  • Helm charts for production deployments
  • Resource limits and requests configuration
  • Container registry (Docker Hub/ECR)

Deployment

  • Cloud deployment on Render
  • GitHub Actions CI/CD pipeline (optional)
  • Environment-based configuration (local/production)
  • Graceful service fallback and degradation
  • Model hot-loading without service restart
  • Rollback mechanism for failed deployments
  • Automated database migrations (if applicable)
  • Secrets management (environment variables/vaults)
  • Performance monitoring and alerting

Monitoring & Observability

  • Prometheus metrics export
  • Grafana dashboards for visualization
  • Distributed tracing (Jaeger/Zipkin)
  • Centralized logging (ELK Stack/Loki)
  • Alert rules and notifications
  • SLA/SLO tracking
  • Custom business metrics

Documentation

  • MkDocs with Material theme
  • Auto-generated API documentation (Swagger/OpenAPI)
  • Complete setup and troubleshooting guides
  • Architecture and design documentation
  • Quick start guides (5-minute setup)
  • GitHub Pages hosting
  • Inline code documentation and docstrings

GitHub Pages Site

  • MkDocs Material theme
  • Auto-generated from main branch docs
  • Published at: https://joeaoregan.github.io/TUS-26-ETP-AI-Traffic-Optimisation/
  • Search functionality
  • Versioned documentation (multiple versions)
  • Custom domain setup (optional)