SaaS & EnterpriseEN PRODUCTIONFeatured case study

MairieDigitalMali & Console SaaS NEXYORA

Plateforme multi-tenant de services municipaux & console de gestion SaaS pour les collectivités du Mali

MairieDigitalMali est un écosystème logiciel complet conçu pour moderniser l’administration publique locale dans le District de Bamako. La plateforme combine une application citoyenne multiplateforme, un portail web de gestion des actes civils pour les agents de mairie, un dashboard analytique pour les élus et une console Super-Admin multi-tenant (NEXYORA) permettant de piloter le modèle économique (MRR/ARR), de gérer les abonnements des communes et de couper les accès en temps réel via un Kill-Switch.

Mobile-FirstMulti-TenantRBAC 5 niveauxKill-SwitchSaaS NEXYORA

Stack & architecture

Couches techniques qui portent le produit en production.

  • Expo SDK ~54 (React Native / Expo Router) - Mobile & Web
  • Firebase Ecosystem (Auth, Firestore, Storage, Cloud Functions)
  • Architecture Multi-Tenant avec Isolation Soft (communeId)
  • Contrôle d’accès basé sur les rôles (RBAC) à 5 niveaux (Citoyen, Agent, Admin, Élu, Super-Admin)
  • Paiements Mobile Money (Orange Money, Moov Money / XOF)
  • Génération de documents administratifs sécurisés (PDF avec QR Code de vérification)
  • Système de Kill-Switch temps réel via listeners Firestore (onSnapshot)

Fonctionnalités clés

Écosystème multi-surfaces : App Citoyen (iOS, Android, Web), Portail Agent (Web), Dashboard Élus (Web), Console SaaS NEXYORA (Web)
Gestion et suivi en temps réel des dossiers administratifs (Actes de naissance, casiers, certificats)
Système de signalements urbains géolocalisés avec carte interactive (Leaflet / React Native Maps)
Console Super-Admin SaaS : Tracking en direct des KPIs (MRR/ARR, mairies actives, volume de transactions)
Kill-Switch instantané : Blocage automatique du portail communal en cas de suspension ou d'impayé
Module i18n bilingue (Français & Bambara)

Défis & solutions

Challenge

Isoler hermétiquement les données entre différentes communes tout en maintenant une infrastructure backend unique.

Solution

Mise en place d'un modèle multi-tenant basé sur le tag (communeId) et des règles de sécurité Firestore strictes (sameCommune()) combinées avec une isolation soft côté frontend.

Challenge

Implémenter un contrôle d'accès instantané (Kill-Switch) capable de révoquer l'accès d'une mairie en temps réel sans redéploiement.

Solution

Développement du composant TenantAccessGate écoutant Firestore en temps réel (onSnapshot). Toute modification du statut de l'abonnement suspend immédiatement l'accès aux portails web de la commune concernée.

Challenge

Garantir l'authenticité des actes administratifs délivrés numériquement.

Solution

Moteur de génération PDF dynamique (pdf-lib) intégrant un QR Code unique pointant vers une route publique de vérification d'authenticité (/verifier/[ref]).

Résultats & impact

  • Numérisation complète de 6 communes du District de Bamako.
  • Réduction du temps de traitement des actes administratifs de plusieurs jours à quelques heures.
  • Modèle d'abonnement SaaS structuré avec paliers FCFA (Basic 75k, Pro 180k, Enterprise 450k/mois).
  • Centralisation et sécurisation des paiements municipaux via Mobile Money.

Stack tags

React NativeExpo RouterFirebaseTypeScriptSaaS Multi-TenantRBACMobile MoneyPDF GenerationBambara i18n