# 🚌 Bus Sénégal - Plateforme de Réservation de Bus
> Plateforme SaaS multi-tenant de réservation de bus au Sénégal, inspirée de FlixBus et adaptée au contexte local.
---
## 🎯 Fonctionnalités
### Pour les clients
- ✅ Recherche de trajets en temps réel
- ✅ Réservation en ligne avec sélection de siège
- âś… Paiement mobile (Orange Money, Wave, Free Money)
- âś… E-ticket avec QR Code
- ✅ Historique des réservations
- âś… Notifications SMS/Email/WhatsApp
### Pour les compagnies
- âś… Gestion de la flotte de bus
- âś… Planification des trajets
- ✅ Suivi des réservations en temps réel
- âś… Statistiques et analytics
- âś… Gestion des tarifs
- ✅ Dashboard dédié
### Pour les administrateurs
- âś… Gestion des compagnies
- âś… Gestion des utilisateurs
- âś… Analytics globales
- âś… Suivi des paiements
- ✅ Configuration système
- âś… Monitoring
---
## 🏗️ Architecture
### Stack Technique
#### Backend
- **Framework** : Spring Boot 3.5.7
- **Langage** : Java 21
- **Base de données** : PostgreSQL 16
- **Authentification** : Keycloak (OAuth2/OIDC)
- **Documentation API** : Springdoc OpenAPI (Swagger)
- **Build** : Maven
#### Frontend
- **Framework** : Next.js 16
- **Langage** : TypeScript
- **Styling** : TailwindCSS
- **Authentification** : NextAuth.js
- **State Management** : React Query (TanStack Query)
- **HTTP Client** : Axios
#### Infrastructure
- **Conteneurisation** : Docker & Docker Compose
- **Base de données** : PostgreSQL
- **Auth Server** : Keycloak
### Architecture Multi-tenant (SaaS)
- Isolation par `tenant_id` (Company ID)
- Gestion des abonnements (TRIAL, BASIC, PREMIUM, ENTERPRISE)
- Facturation automatique
- Sous-domaines par compagnie
---
## 🚀 Démarrage rapide
### Prérequis
- Docker 20.10+
- Docker Compose 2.0+
- Git
### Installation
1. **Cloner le projet**
```bash
git clone
github.com
cd senegal_bus
```
2. **Configurer les variables d'environnement**
```bash
cp env.example .env
# Éditer .env avec vos valeurs
```
3. **Démarrer …