NIE Santé
Plateforme de santé numérique pour la GuinéeFull Stack, 2025 - 2026

- Mobile Money
- Paiements
- SMS, WhatsApp, Email
- Multi-canal
- iOS & Android
- Mobile
NIE Santé est une plateforme complète de santé numérique conçue pour le système de santé guinéen. Elle permet aux patients de rechercher des professionnels de santé par spécialité et localisation, de prendre rendez-vous en ligne, et de participer à des campagnes de santé (vaccinations, dépistages). Côté professionnel, les médecins et établissements disposent d'un tableau de bord avec gestion des patients, planification des rendez-vous, analytics, campagnes promotionnelles et gestion d'abonnements. Un back-office administrateur assure la modération, la vérification des professionnels, le suivi des paiements et l'envoi de SMS en masse. La plateforme intègre les paiements mobile money (Orange Money, MTN), les notifications multi-canal (email, SMS, WhatsApp, push), et s'accompagne d'une application mobile native iOS/Android.
Contexte
Le système de santé guinéen manque d'outils numériques pour connecter patients et professionnels. La prise de rendez-vous est majoritairement informelle, les campagnes de santé publique peinent à toucher leur cible, et les professionnels n'ont pas de plateforme centralisée pour gérer leur activité.
Objectifs
- Permettre aux patients de trouver et réserver des praticiens par spécialité et localisation
- Offrir aux professionnels un tableau de bord complet (planning, patients, analytics, campagnes)
- Intégrer les moyens de paiement locaux (Orange Money, MTN Mobile Money)
- Prendre en charge les notifications multi-canal adaptées au contexte local (SMS, WhatsApp)
- Fournir un back-office administrateur pour la modération et le suivi
- Permettre la création et diffusion de campagnes de santé publique
- Proposer une application mobile native iOS/Android
Défis techniques
Système de notifications multi-canal
Les utilisateurs en Guinée utilisent des canaux de communication variés (SMS, WhatsApp, email). Il fallait orchestrer l'envoi sur le bon canal selon les préférences et la disponibilité.
Architecture centralisée via un orchestrateur notify() avec préférences utilisateur granulaires, gates globales (feature flags), et fallback automatique SMS → WhatsApp en cas d'échec.
Intégration paiement mobile money
Intégrer Orange Money et MTN Mobile Money via LengoPay avec gestion des webhooks, vérification de statut asynchrone et activation automatique des abonnements/campagnes.
Flux de paiement avec redirection LengoPay, webhooks de callback, polling de vérification via cron jobs, et fenêtre de diffusion configurable pour les campagnes payantes.
Gestion temps réel des créneaux
Éviter les doubles réservations avec un système de slots concurrents entre patients.
Mécanisme de réservation temporaire avec verrouillage de créneau, slots bloqués, et validation côté serveur avant confirmation.
Application mobile native
Les patients et professionnels devaient pouvoir accéder à la plateforme depuis leur smartphone avec une expérience native fluide (notifications push, géolocalisation, accès hors-ligne partiel).
Développement d'une application mobile native avec notifications push via Expo, géolocalisation intégrée, gestion des tokens d'authentification persistants et synchronisation en temps réel avec le backend.
Authentification et autorisation multi-rôles
Quatre rôles (patient, médecin, admin, modérateur) avec des statuts de vérification complexes (en attente, validé, bloqué) et des restrictions d'accès granulaires.
NextAuth.js avec middleware de protection par rôle, vérification de statut, enforcement d'abonnement pour les médecins, mode hors service programmé avec bypass admin, et système d'impersonation sécurisé par JWT.
Stockage et gestion des fichiers
Gérer les avatars, images de campagnes et documents sur un stockage S3-compatible avec nettoyage des fichiers orphelins.
MinIO avec chemins structurés, rate limiting sur les uploads, logging de stockage pour conformité, et script de cleanup automatique via cron.
Vues de l'application

Application mobile iOS/Android — accueil patient 
Page d'accueil avec recherche de professionnels de santé 
Recherche de praticiens par spécialité et localisation 
Fiche détaillée d'un professionnel de santé avec prise de rendez-vous 
Dashboard médecin avec planning, patients et analytics 
Gestion et diffusion de campagnes de santé publique
Technologies
- Next.js 16
- React 19
- TypeScript
- Tailwind CSS 4
- Prisma 6
- MySQL
- NextAuth.js
- MinIO (S3)
- LengoPay
- NimbaSMS
- WhatsApp Business API
- Google Maps API
- Zod
- React Hook Form
- shadcn/ui
- Recharts
- React Native
- Expo
- Docker