Pourquoi MediAgenda ?
MediAgenda n'est pas un kit UI et pas un modèle : c'est un SaaS de réservation médicale opérationnel. Chaque écran ci-dessous est soutenu par un véritable schéma PostgreSQL (plus de 65 modèles Prisma), des actions serveur, une authentification basée sur les rôles et des données de base riches, vous permettant de lancer un marché de réservation de médecins, un système de clinique ou un produit de télésanté de niche en quelques jours au lieu de mois.
Il couvre tout le cycle : le patient trouve un médecin, réserve, paie, reçoit des soins et laisse un avis, tandis que l'administrateur gère tout depuis un panneau en marque blanche sans toucher au code. Les animations et la vidéo montrent l'application réelle fonctionnant avec des données de démonstration : pas de maquettes.
- 4 portails complets : Patient, Médecin, Administrateur et Agent de Support
- Marché public avec recherche, profils riches et réservation instantanée (les invités peuvent réserver sans compte)
- Cycle complet des rendez-vous : en attente, confirmé, complété, annulé, non-présent
- Deux moteurs de revenus avec Stripe : abonnements de médecins et frais par consultation (Stripe Connect)
- Messagerie en temps réel entre médecins et patients avec Pusher, avec un panneau de métriques dans l'administration
- Dossiers médicaux électroniques avec un assistant étape par étape
- Avis avec évaluations, étiquettes, réponses des médecins et modération
- Suite de billetterie de support intégrée avec métriques SLA et planification des agents
- Commutation de langue EN/ES à l'exécution : plus de 11 000 chaînes traduites
- Google Maps pour les emplacements des cliniques, exportation Excel des catalogues, utilisateurs et rendez-vous
- Données de démonstration réalistes : 26 médecins, 35 patients, plus de 750 rendez-vous

01. Voyez-le en action : un patient réserve en temps réel
Le widget de réservation guide le patient à travers le type de visite, l'adresse du cabinet, le service, l'assureur et une grille de disponibilité en direct calculée à partir du planning hebdomadaire du médecin, des pauses, des vacances et des rendez-vous existants. Les invités peuvent réserver avec juste un nom et un email ; les réservations de créneaux empêchent les doubles réservations, et lorsque vous l'activez, les patients paient la consultation en ligne au moment de la réservation.

Quelques secondes plus tard, le rendez-vous attend dans le panneau du médecin, avec les coordonnées du patient, la modalité, le statut et un lien direct vers son dossier médical.

02. Une page d'accueil qui vend pour vous
Un site marketing moderne, axé sur la conversion, avec des métriques héroïques animées, une maquette de produit en direct, des récits sur les points de douleur, des présentations de fonctionnalités, des comparaisons avec les concurrents, des témoignages et des prix : tout ce dont un SaaS médical a besoin pour convertir les médecins visiteurs en abonnés. Le logo, les textes, les couleurs et les métadonnées SEO sont modifiés depuis le panneau d'administration.

03. Marché de médecins avec recherche intelligente
Les patients trouvent le bon spécialiste avec des filtres combinés : recherche en texte libre, plus de 100 spécialités médicales, ville et modalité de consultation (en personne ou virtuelle). Chaque carte de résultat montre la photo du médecin, la note d'avis en direct, l'hôpital, les puces de modalité et les frais de consultation.

04. Profils publics de médecins qui instaurent la confiance
Chaque médecin obtient une page publique riche et optimisée pour le SEO : galerie de photos et vidéos YouTube, badge vérifié, note étoilée, biographie, chronologie de l'éducation et de l'expérience, services avec prix, plusieurs emplacements de bureau avec une carte Google intégrée, assureurs acceptés, certificats PDF téléchargeables, avis des patients avec réponses des médecins, et un widget de réservation persistant. Les événements d'intérêt des patients (vues de profil, réservations commencées, clics de contact) alimentent les analyses du médecin.


05. Authentification et intégration pour chaque rôle
Authentification par identifiants avec NextAuth, récupération de mot de passe et flux d'inscription soignés. Le modèle est livré avec des connexions de démonstration en un clic pour les quatre rôles afin que les acheteurs puissent explorer instantanément. Les patients s'inscrivent via un assistant en 2 étapes ; les médecins via un assistant en 5 étapes avec un aperçu en direct du profil qui collecte le profil, la spécialité, l'adresse de la clinique (auto-complétion Google Places) et la disponibilité hebdomadaire, puis, selon le mode de facturation que vous configurez, facture des frais uniques ou commence un abonnement Stripe avant d'activer le compte.


06. Portail médecin : un véritable cockpit de pratique
Les médecins gèrent l'ensemble de leur pratique depuis un seul panneau : un tableau de bord KPI avec des analyses d'engagement des patients, un calendrier complet avec des règles de disponibilité hebdomadaire par bureau, blocage de temps et vacances, gestion des rendez-vous, un CRM patient avec un accès instantané à l'historique médical de chaque patient, gestion des services et des prix par bureau, assureurs et conditions traitées, gestion des avis avec réponses, messagerie en temps réel, intégration des paiements Stripe et édition de profil avec galerie de photos, vidéos et certificats.

La disponibilité est configurée par bureau : jours et heures, services offerts, types de patients et une couleur pour le calendrier. Les pauses, les blocs de programme et les vacances sont respectés automatiquement par la grille de réservation publique.


La messagerie est instantanée grâce à Pusher Channels : le médecin voit les messages des patients dès leur arrivée, avec des compteurs de non lus et un historique de conversation.



07. Portail patient : tout en un seul endroit
Les patients gèrent toute leur vie de santé : un tableau de bord personnel avec des statistiques de santé, la gestion des rendez-vous avec des flux de reprogrammation et d'annulation et l'exportation de calendrier, leurs médecins, prescriptions, historique des paiements, chat en temps réel avec les médecins et un dossier médical électronique complet construit avec un assistant étape par étape. Les avis portent un badge de rendez-vous vérifié.


08. Panneau d'administration : gérer toute la plateforme
Un back office complet pour faire fonctionner le marché : tableau de bord global, gestion des utilisateurs avec filtres de rôle et pages de détails, supervision des rendez-vous, six gestionnaires de catalogue (spécialités, services, maladies, assureurs, types de patients, préfixes professionnels) avec exportation Excel, modération des avis avec un flux de travail d'avis signalés, une suite de support complète et des paramètres de monétisation approfondis.

Les paramètres couvrent également le branding (logo, favicon, image OG, métadonnées SEO), Google Maps et les identifiants Pusher, les clés de test/vie Stripe avec vérifications de connexion, les frais de paiement patient-à-médecin via Stripe Connect avec un simulateur de frais interactif, les métriques Pusher (latences P95, taux de réussite de livraison, autorisations de canal, événements par rôle et journal des erreurs) et une page de maintenance du serveur et du cache avec vérifications de la santé de la base de données. Aucune variable d'environnement nécessaire pour les intégrations : les clés API vivent dans la base de données et sont activées ou désactivées depuis l'interface utilisateur.


09. Portail des agents de support : helpdesk intégré
Un portail dédié pour votre personnel de support : une boîte de réception de tickets avec une file personnelle et un pool non attribué, un clic pour "prendre le ticket", auto-attribution, priorités, pièces jointes, réponses en fil avec des notes internes invisibles pour les utilisateurs, flux de travail de statut (ouvert, en cours, en attente de l'utilisateur, résolu, fermé), horaires des agents et métriques SLA et taux de clôture par agent, avec supervision de chaque ticket.

10. Deux moteurs de revenus, alimentés par Stripe
MediAgenda est conçu pour générer des revenus dès le premier jour, avec deux flux de revenus indépendants alimentés par Stripe que vous configurez entièrement depuis le panneau d'administration.
Moteur 1 : revenus SaaS, facturer les médecins pour la plateforme
Choisissez comment les professionnels paient pour rejoindre : Gratuit (développez d'abord le côté offre), Paiement unique (accès à vie collecté lors de l'inscription) ou Abonnement récurrent (hebdomadaire, mensuel ou annuel via Stripe Billing). Définissez le prix régulier, lancez des prix promotionnels, offrez des jours d'essai, choisissez la devise et les méthodes de paiement, et choisissez entre le paiement hébergé de Stripe ou un formulaire de carte intégré dans l'assistant d'inscription. Les médecins ne sont pas activés tant que Stripe ne confirme pas le paiement.
Moteur 2 : revenus de transaction, gagnez sur chaque consultation payante
Activez les paiements patient-à-médecin via Stripe Connect et conservez une commission de plateforme configurable sur chaque consultation : un pourcentage, des frais fixes supplémentaires, ou les deux (définissez 0 % pour passer 100 % au médecin). Décidez qui agit en tant que marchand : la plateforme facture le montant et transfère le net au médecin (frais de destination), ou le médecin facture directement et Stripe achemine automatiquement vos frais (frais directs). Les médecins complètent leur propre intégration Stripe (KYC) depuis leur panneau, et le tableau de bord d'administration suit les comptes connectés, les frais et la commission accumulée.

- Intégration gratuite / unique / par abonnement pour les médecins
- Jours d'essai, tarifs promotionnels et multi-devises
- Stripe Checkout hébergé ou intégré dans l'assistant d'inscription
- Paiements Stripe Connect avec des frais de plateforme par consultation
- Frais de destination ou directs (choix du commerçant de l'enregistrement)
- Commutateur de mode test/en direct avec vérifications de la santé de la connexion
- Historique des abonnements et des paiements dans le panneau d'administration
- Simulateur de frais interactif avec les coûts réels de Stripe
11. Bilingue par conception : anglais et espagnol
Un commutateur de langue EN/ES en un clic se trouve dans chaque en-tête et barre latérale. Le moteur de traduction en temps réel est livré avec un dictionnaire de plus de 11 000 entrées couvrant l'ensemble du produit, y compris les catalogues médicaux (spécialités, maladies, services), dates, compteurs dynamiques et même du contenu de démonstration pré-rempli, avec un appariement de motifs intelligent pour les nombres interpolés et les phrases composées. Google Maps se charge également dans la langue sélectionnée, et le dictionnaire est extensible pour d'autres langues.
Répartition des fonctionnalités par rôle
Médecins : profil public avec galerie, vidéos et certificats · tableau de bord KPI avec analyses d'engagement · calendrier, disponibilité hebdomadaire, pauses et vacances par bureau · gestion du cycle de vie des rendez-vous · CRM patient avec antécédents médicaux · services avec tarification fixe ou par tranche par bureau · assureurs et conditions traitées · réponses aux avis · chat en temps réel · intégration des paiements Stripe · tickets de support
Patients : recherche et réservation en quelques minutes (même en tant qu'invité) · tableau de bord avec résumé de santé · replanification et annulation avec politiques · exportation de calendrier · assistant d'historique médical électronique · historique des paiements · chat avec les médecins · avis avec badge de rendez-vous vérifié · interface utilisateur bilingue
Administrateurs : tableau de bord global · gestion des utilisateurs et des rôles · supervision des rendez-vous · 6 gestionnaires de catalogues avec exportation Excel · modération des avis · paramètres de marque et SEO · test/en direct Stripe, modèles de facturation et simulateur de frais · Google Maps et Pusher configurés depuis l'interface utilisateur · métriques Pusher · suite de support avec SLA et planification des agents · outils de serveur et de cache
Agents de support : boîte de réception personnelle et file d'attente non attribuée · prise et réponse aux tickets · notes internes · flux de travail de statut · rôle de superviseur voit tout · horaires des agents (quarts, week-ends, nuits) · balises de routage basées sur les catégories · métriques SLA et taux de clôture
Pile technologique
- Next.js 14 (App Router, Server Components et Server Actions)
- TypeScript de bout en bout (~500 fichiers TypeScript/TSX)
- Prisma ORM · PostgreSQL (65+ modèles)
- Tailwind CSS avec un système de design personnalisé · animations Framer Motion
- NextAuth (identifiants, sessions JWT, protection des routes basée sur les rôles)
- Stripe : Checkout, Abonnements, Intentions de Paiement et Connect
- Canaux Pusher pour la messagerie en temps réel
- Google Maps et Places (intégration, géocodage, saisie semi-automatique) · cartes de bureau Leaflet
- date-fns, validation Zod, icônes Lucide, export xlsx
- Moteur i18n d'exécution personnalisé (EN/ES)
Ce que vous obtenez
- Code source complet Next.js 14 + TypeScript
- Schéma Prisma + modèles prêts pour les migrations
- Scripts de semis avec des données de démonstration riches et réalistes et des connexions de démonstration en un clic pour les 4 rôles
- Moteur i18n d'exécution + dictionnaire EN de 11 000 entrées
- Code source en anglais : commentaires, dossiers et routes
- Système de design Tailwind et composants UI réutilisables
.env.example et un guide d'installation étape par étape
Installation en 4 étapes
Testé depuis zéro jusqu'à une application fonctionnelle :
npm install
- Copiez
.env.example dans .env et définissez votre chaîne de connexion PostgreSQL
npx prisma db push && npx tsx prisma/seed.ts
npm run dev
Exigences
- Node.js 20+ et PostgreSQL 14+ (fonctionne très bien avec Neon, Supabase, RDS ou Postgres local)
- Optionnel, selon ce que vous activez : compte Stripe (paiements), application Pusher (chat en temps réel), clé API Google Maps (cartes et saisie semi-automatique). Tout configuré depuis l'interface utilisateur du panneau d'administration.
Identifiants de démonstration (après semis)
RôleEmailMot de passe
Adminadmin@mediagenda.demoAdmin123!
Médecindoctor1@mediagenda.demoDoctor123!
Patientpaciente1@mediagenda.demoPaciente123!
Bon à savoir
- L'interface est bilingue anglais/espagnol ; le code source, les commentaires et les routes sont en anglais.
- Aucune clé ou identifiant n'est inclus : Stripe, Pusher et Google Maps sont configurés depuis le panneau d'administration avec vos propres comptes.
- Les captures d'écran, animations et vidéos ont été réalisées avec l'application réelle et des données de démonstration fictives.