Bly
Santé

Plateforme de prise de rendez-vous

Une plateforme web multi-rôles gérant le cycle complet — du patient qui trouve un médecin, à la candidature examinée par un admin, jusqu'au rendez-vous confirmé.

3

rôles utilisateurs

Stack

Next.jsTypeScriptDrizzle ORMPostgreSQLBetter Authshadcn/uiUploadThingResend

Le défi

L'accès aux soins à Djibouti est fragmenté. Trouver le bon médecin, connaître ses disponibilités et prendre rendez-vous nécessitait des appels téléphoniques, du bouche-à-oreille et de la chance. Il n'existait aucun système centralisé — encore moins un capable de vérifier les accréditations médicales.

Ce qu'on a construit

Nous avons construit une plateforme à trois rôles : les patients parcourent et réservent, les médecins postulent et gèrent leur agenda, les admins examinent les candidatures et valident les accréditations. Le flux d'onboarding utilise des liens magiques — sans friction de mot de passe. Les téléversements de fichiers gèrent les documents d'accréditation. Un formulaire pas-à-pas guide les nouveaux médecins dans leur candidature sans les submerger.

Décisions clés

Rôle stocké dans appUser, pas dans la table auth

Better Auth gère la couche session mais ne sait rien des rôles métier. On stocke le rôle exclusivement dans notre propre table appUser — les préoccupations d'auth restent séparées de la logique produit.

Aucune entité auth avant approbation admin

Les candidatures médecins vivent dans une table doctorApplication sans utilisateur auth correspondant. Seulement après approbation admin le système appelle signUpMagicLink() et crée l'enregistrement auth. Ça empêche les médecins non vérifiés d'avoir une session active.

SteppedFormBuilder pour l'onboarding

Plutôt qu'un formulaire long unique, on a construit un composant wizard avec validation Zod par étape et une étape de prévisualisation avant soumission finale. Réduit l'abandon et rend le téléversement de documents guidé, pas bureaucratique.

Le résultat

Une plateforme en production au service des médecins et patients à Djibouti. Le flux d'approbation admin a traité chaque médecin actuellement sur la plateforme. Zéro violation d'accréditation depuis le lancement.