1 Home
tarzzan edited this page 2026-05-20 03:04:03 +00:00

🏥 QueueMed — Wiki

Salle d'Attente Virtuelle pour Cabinets Médicaux


TypeScript React 19 tRPC 11 Socket.io Tailwind 4 MySQL Drizzle PWA


🎯 Qu'est-ce que QueueMed ?

QueueMed est une plateforme SaaS de gestion de file d'attente numérique conçue pour les cabinets médicaux qui reçoivent sans rendez-vous. Elle transforme la salle d'attente physique en une expérience virtuelle fluide et transparente.

« Vos patients n'attendent plus dans votre salle — ils attendent où ils veulent. »

Le système repose sur un principe simple mais puissant :

  ┌─────────────┐         ┌──────────────┐         ┌───────────────┐
  │  📱 PATIENT  │         │  🖥️ MÉDECIN   │         │  📺 ÉCRAN     │
  │             │         │              │         │               │
  │ Scan QR ──────────▶  │ Voit la file ──────▶   │ Affiche le    │
  │ Suit sa    ◀──────── │ Appelle      ◀──────── │ numéro appelé │
  │ position    │  WS    │ le suivant    │  WS    │ en temps réel │
  └─────────────┘         └──────────────┘         └───────────────┘
         │                        │                        │
         └────────────────────────┼────────────────────────┘
                                  │
                          ┌───────▼───────┐
                          │  ⚡ Socket.io  │
                          │  Temps Réel   │
                          └───────────────┘

📖 Sommaire du Wiki

Page Description
Architecture-Technique Stack, base de données, WebSocket, sécurité, API tRPC
Guide-Medecin Tutoriel complet pour les médecins : cabinets, file, analytics
Guide-Patient Parcours patient : scan QR, suivi, notifications
Systeme-Anti-Triche QR code rotatif, tokens, sécurité de la file
Temps-Reel Architecture WebSocket, rooms, événements
Abonnement-et-Monetisation Plans, essai gratuit, intégration Stripe
Analytics-et-IA Graphiques, prédictions, export CSV
Installation Démarrage rapide, Docker, déploiement
Roadmap Fonctionnalités planifiées, changelog

Fonctionnalités Clés

📱 Côté Patient

Fonctionnalité Description
Zéro inscription Scan QR → suivi immédiat. Aucun compte requis.
Position temps réel Mise à jour instantanée via WebSocket
Temps estimé Calcul dynamique basé sur la durée moyenne de consultation
Notification push Alerte navigateur quand le tour approche
Ticket imprimable Alternative pour patients sans smartphone
PWA installable Ajout à l'écran d'accueil sur mobile

🖥️ Côté Médecin

Fonctionnalité Description
Multi-cabinets Gestion de N cabinets depuis un seul compte
Dashboard KPIs Patients du jour, temps moyen, affluence
Appel du suivant Un clic pour appeler le prochain patient
Marquage absent Gestion des patients qui ne se présentent pas
Analytics avancés Graphiques Recharts, prédictions IA, export CSV
QR anti-triche Token rotatif configurable (5 min → 24h)
Onboarding wizard Configuration guidée en 3 étapes

📺 Écran d'Affichage

Fonctionnalité Description
Numéro animé Affichage grand format du patient appelé
Ticker défilant Instructions et informations en boucle
Indicateur connexion Statut WebSocket visible
Mode plein écran Optimisé pour tablette/moniteur
Auto-reconnexion Reprise automatique après coupure réseau

🏗️ Architecture en Bref

┌──────────────────────────────────────────────────────────────────────┐
│                           FRONTEND                                    │
│                                                                      │
│  React 19 + Tailwind 4 + shadcn/ui + Recharts + Framer Motion       │
│  ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐  │
│  │ Landing  │ │Dashboard │ │  Queue   │ │ Patient  │ │ Display  │  │
│  │  Page    │ │ Médecin  │ │  Mgmt    │ │  View    │ │  Screen  │  │
│  └──────────┘ └──────────┘ └──────────┘ └──────────┘ └──────────┘  │
│         │            │            │            │            │         │
│         └────────────┼────────────┼────────────┼────────────┘         │
│                      │    tRPC    │  Socket.io │                      │
├──────────────────────┼────────────┼────────────┼──────────────────────┤
│                      ▼            ▼            ▼                      │
│                           BACKEND                                    │
│                                                                      │
│  Express 4 + tRPC 11 + Socket.io 4 + Drizzle ORM                    │
│  ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐               │
│  │  Auth    │ │ Clinics  │ │  Queue   │ │Analytics │               │
│  │  OAuth   │ │  CRUD    │ │  Logic   │ │  Events  │               │
│  └──────────┘ └──────────┘ └──────────┘ └──────────┘               │
│         │            │            │            │                      │
│         └────────────┼────────────┼────────────┘                      │
│                      ▼            ▼                                   │
│              ┌──────────────────────────┐                            │
│              │     MySQL / TiDB         │                            │
│              │  5 tables, Drizzle ORM   │                            │
│              └──────────────────────────┘                            │
└──────────────────────────────────────────────────────────────────────┘

🎨 Design System

Élément Valeur
Thème Dark mode cinématique
Couleur primaire Teal #0d9488
Couleur accent Orange #f97316
Police display Inter + Space Grotesk
Effets Glass morphism, glow teal, gradients
Animations Framer Motion (entrées, transitions)
Icônes Lucide React

📊 État du Projet

Métrique Valeur
Version v1.3
Tests 13/13 passants (3 fichiers)
Erreurs TypeScript 0
Tables DB 5
Procédures tRPC 20+
Pages frontend 12
WebSocket rooms 3 types
Statut Production-ready (Stripe à activer)

👤 Auteur

Nom William MERI
Projet QueueMed v1.3
Dépôt git.cosmolan.fr/tarzzan/queue-med
Licence Propriétaire — © 2026