NIE Santé

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

Capture d'écran de NIE Santé
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 NIE Santé
    Application mobile iOS/Android — accueil patient
  • Page d'accueil de NIE Santé
    Page d'accueil avec recherche de professionnels de santé
  • Recherche de médecins
    Recherche de praticiens par spécialité et localisation
  • Profil médecin
    Fiche détaillée d'un professionnel de santé avec prise de rendez-vous
  • Tableau de bord professionnel
    Dashboard médecin avec planning, patients et analytics
  • Campagnes de santé
    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