Repo pour le coeur du système (Back-end)
# TONDE Backend
> **TONDE** signifie *"file d'attente"* en Kirundi.
Plateforme SaaS B2B multi-tenant de gestion intelligente des files d'attente, conçue pour les banques, hôpitaux, universités et administrations du Burundi, de la RDC et de l'Afrique de l'Est.
**Mission :** Transformer le chaos de l'attente en une expérience claire, prévisible et digne.
---
## Stack technique
| Composant | Technologie | Version |
|-----------|-------------|---------|
| Framework | FastAPI | 0.111.0 |
| Runtime | Python | 3.12+ |
| Base de données | PostgreSQL | 15 |
| Cache / File | Redis | 7 |
| ORM | SQLAlchemy async | 2.0.30 |
| Migrations | Alembic | 1.13.1 |
| Validation | Pydantic v2 | 2.7.1 |
| Auth | JWT + OTP SMS | — |
| Temps réel | WebSocket + Redis Pub/Sub | — |
| Conteneurisation | Docker + Docker Compose | — |
---
## Prérequis
- Docker Desktop installé et démarré
- Git
- Python 3.12+ (optionnel, pour développement hors Docker)
---
## Installation & démarrage rapide
```bash
# 1. Cloner le projet
git clone
github.com
cd tonde-backend-
# 2. Configurer les variables d'environnement
cp .env.example .env
# Éditer .env avec vos valeurs
# 3. Lancer l'environnement complet
docker-compose up -d --build
# 4. Appliquer les migrations
docker-compose exec api alembic upgrade head
# 5. Vérifier que l'API est vivante
# Swagger :
localhost
# Health :
localhost
# Redis UI :
localhost
```
---
## Structure du projet
```
tonde-backend/
├── app/
│ ├── main.py # Point d'entrée FastAPI
│ ├── core/ # Config, DB, Redis, Sécurité, Dépendances
│ ├── models/ # Modèles SQLAlchemy (tables PostgreSQL)
│ ├── schemas/ # Schémas Pydantic v2 (validation I/O)
│ ├── services/ # Logique métier
│ ├── routers/ # Endpoints HTTP et WebSocket
│ └── websocket/ # Gestionnaire WebSocket + événements
├── migration …