Aller au contenu

Documentation Technique — Queco Backend

Logo ElecIt

Documentation technique complète du backend microservices Queco (gestion de files d'attente bancaires).


Profil Sections recommandees
Nouveau développeur 1. Introduction2. Stack technologique3. Architecture globale17. Procedures courantes
Développeur backend 4. API Gateway → Service spécifique (05 a 09) → 10. Communication inter-service11. Bases de donnees
DevOps / SRE 13. Deploiement14. Monitoring16. Annexes techniques
Architecte 3. Architecture globale10. Communication inter-service12. Securite
QA / Testeur 15. Tests → Service spécifique (05 a 09)

Table des matieres

Fondamentaux

  1. Introduction — Objectif du projet, périmètre, public cible
  2. Stack technologique — Technologies, versions, dépendances
  3. Architecture globale — Patterns, flux, couches applicatives

Services

  1. API Gateway — Reverse proxy, authentification JWT centralisée
  2. User Management — Utilisateurs, RBAC, OTP, devices, sessions
  3. Agence Service — Agences, guichets, files d'attente, tickets, publicité, recherche
  4. Notification Service — Notifications multi-canal (email, push, WebSocket, in-app)
  5. Activities Service — Journal d'audit, consommateur Kafka
  6. Upload File Service — Upload/download fichiers vers S3

Transverse

  1. Communication inter-service — HTTP synchrone, Kafka asynchrone, Outbox
  2. Bases de donnees — PostgreSQL, Redis, Elasticsearch, Alembic
  3. Securite — JWT, RBAC, OTP, sessions, rate limiting

Operations

  1. Deploiement — Docker, CI/CD, Portainer, environnements
  2. Monitoring — Prometheus, Sentry, health checks
  3. Tests — Strategies, couverture, pipelines

Annexes

  1. Annexes techniques — Variables d'environnement, ports, glossaire, schémas Kafka
  2. 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