● API Backend · Production

Le système d'information de JeanFe Résidence

Plateforme de gestion hôtelière complète : réservations, chambres, facturation multi-devises, paiements mobiles, ressources humaines, stock et pilotage — exposée en une API REST sécurisée, documentée et consommée par l'application mobile JeanFe.

Vérification de l'état du service…
241
Endpoints REST
41
Modules métier
49
Tables de données
15
Migrations Flyway
8
Profils / rôles
Aperçu

Une API unique pour tout l'hôtel

JeanFe Backend est une application Spring Boot monolithique modulaire. Toutes les routes sont préfixées par /api et protégées par authentification JWT à double facteur. Le mobile et les intégrations consomment exactement la même surface, documentée en direct via OpenAPI 3.

🏨 Hébergement

Sites, chambres, types & tarifs dynamiques, disponibilité temps réel, réservations individuelles et de groupe, check-in/out, housekeeping, maintenance et badges RFID.

💳 Finances

Facturation TVA 16 % (RDC), multi-devises USD/CDF, cautions, annulations, taux de change, note de frais, paiements électroniques (Flutterwave, M-Pesa, MaxiCash) avec webhooks.

👥 Exploitation & RH

Personnel, planning des shifts, pointage des présences, stock & mouvements, restaurant & bar, avis clients, réclamations, fidélité et pilotage par KPIs.

Stack technique

Technologies & outils

Socle Java moderne, robuste et testé, déployé en conteneurs.

☕ Java 17 🍃 Spring Boot 3.3.5 🔒 Spring Security JWT HS384 🐘 PostgreSQL 16 🪶 Flyway migrations V1→V15 🗄️ MinIO stockage objet S3 📨 Spring Mail SMTP / Brevo 🔔 Firebase FCM push 📘 SpringDoc OpenAPI 3 / Swagger 🧩 MapStruct + Lombok 🖋️ Thymeleaf e-mails HTML 🧪 JUnit 5 + Testcontainers 📊 JaCoCo couverture 🐳 Docker Compose 🚦 GitLab CI/CD auto-deploy 🔐 Caddy HTTPS / Let's Encrypt
Sécurité & authentification

Connexion à double facteur (2FA)

Authentification maison par JWT et code à usage unique envoyé par e-mail — aucune dépendance externe d'identité.

🔑 Login + OTP

E-mail/mot de passe, puis code à 6 chiffres reçu par e-mail. Le jeton n'est délivré qu'après vérification.

🎟️ Jetons JWT

Access token HS384 (1 h) + refresh token (30 j). Renouvellement silencieux automatique côté client.

🛡️ Anti-bruteforce

Verrouillage progressif du compte après échecs répétés ; traçabilité dans un journal d'audit immuable.

👤 8 profils

SUPER_ADMIN, GESTIONNAIRE, RÉCEPTIONNISTE, FEMME DE CHAMBRE, CUISINIER, SÉCURITÉ, TECHNICIEN, CLIENT.

Surface fonctionnelle

41 modules · 241 endpoints

Regroupés par domaine. Le détail complet (paramètres, schémas, exemples) est disponible dans Swagger.

🏨 Hébergement & séjours

Réservations 20 Types de chambre 14 Sites 13 Maintenance 10 Équipements 9 Chambres 9 RFID 7 Réservations de groupe 5 Housekeeping 4 Disponibilité 2

💳 Finances & paiements

Rapports financiers 8 Facturation 7 Webhooks paiement 5 Extras 5 Taux de change 4 Cautions 4 Paiements électroniques 3 Paiements 2 Note de frais 2 Annulations 2

👥 Clients & relation

Clients 10 Documents clients 6 Avis clients 6 Mon compte 4 Réclamations 4 Blacklist clients 3 Fidélité 1

🧑‍🍳 Exploitation & RH

Personnel 11 Planning shifts 7 Restaurant & Bar 6 Stock 4 Présences 3

📊 Pilotage & configuration

Configuration métier 7 Audit trail 4 Dashboard KPIs 3 Statistiques 1

🔔 Plateforme & accès

Notifications 11 Authentification 8 Authentification Clients 4 Push Notifications 2
Infrastructure & déploiement

Hébergé sur le VPS bceco.dev, isolé

JeanFe tourne sur le même serveur que l'écosystème Kratos, mais en stack totalement indépendant : sa propre base, son propre stockage, son propre réseau Docker. Seuls l'hôte et le reverse-proxy TLS sont partagés.

🐳 Conteneurs dédiés

backend + PostgreSQL + MinIO sur le réseau jeanfe-net, ports liés à 127.0.0.1.

🔐 HTTPS Caddy

jeanfe.bceco.dev en TLS Let's Encrypt automatique ; routage API, stockage et page de présentation.

🚦 CI/CD GitLab

Push sur main → tests → build → déploiement SSH automatique sur le VPS.

📨 E-mails Brevo

OTP et notifications via le relais Postfix → Brevo de l'hôte.

📱 Application mobile

App Flutter (Dio, Bloc, GetIt) Android & iOS, qui consomme cette API : https://jeanfe.bceco.dev/api.

📘 Documentation vivante

Swagger UI interactif et spécification OpenAPI 3 générés automatiquement depuis le code.

Supervision

Sonde de santé Spring Actuator exposée pour le suivi de disponibilité du service.