Documentation Technique — Queco Backend¶
Documentation technique complète du backend microservices Queco (gestion de files d'attente bancaires).
Navigation par profil¶
| Profil | Sections recommandees |
|---|---|
| Nouveau développeur | 1. Introduction → 2. Stack technologique → 3. Architecture globale → 17. Procedures courantes |
| Développeur backend | 4. API Gateway → Service spécifique (05 a 09) → 10. Communication inter-service → 11. Bases de donnees |
| DevOps / SRE | 13. Deploiement → 14. Monitoring → 16. Annexes techniques |
| Architecte | 3. Architecture globale → 10. Communication inter-service → 12. Securite |
| QA / Testeur | 15. Tests → Service spécifique (05 a 09) |
Table des matieres¶
Fondamentaux¶
- Introduction — Objectif du projet, périmètre, public cible
- Stack technologique — Technologies, versions, dépendances
- Architecture globale — Patterns, flux, couches applicatives
Services¶
- API Gateway — Reverse proxy, authentification JWT centralisée
- User Management — Utilisateurs, RBAC, OTP, devices, sessions
- Agence Service — Agences, guichets, files d'attente, tickets, publicité, recherche
- Notification Service — Notifications multi-canal (email, push, WebSocket, in-app)
- Activities Service — Journal d'audit, consommateur Kafka
- Upload File Service — Upload/download fichiers vers S3
Transverse¶
- Communication inter-service — HTTP synchrone, Kafka asynchrone, Outbox
- Bases de donnees — PostgreSQL, Redis, Elasticsearch, Alembic
- Securite — JWT, RBAC, OTP, sessions, rate limiting
Operations¶
- Deploiement — Docker, CI/CD, Portainer, environnements
- Monitoring — Prometheus, Sentry, health checks
- Tests — Strategies, couverture, pipelines
Annexes¶
- Annexes techniques — Variables d'environnement, ports, glossaire, schémas Kafka
- Procedures courantes — Demarrage, migrations, debugging, commandes utiles
Apercu du système¶
Client → Traefik (SSL) → API Gateway (8000) → user_management (8001)
| → notification_service (8002)
| → agence_service (8003)
| → upload_file_service (8004)
|
Kafka → activities_service
→ notification_service
- 6 microservices independants en Python 3.11 / FastAPI
- API Gateway comme point d'entrée unique avec validation JWT
- Kafka pour la communication asynchrone inter-service
- PostgreSQL (1 base par service), Redis, Elasticsearch, S3
- Docker + GitLab CI/CD + Portainer pour le déploiement