# QueueMed – Project TODO ## Phase 3 : Schéma DB & Design System - [x] Schéma Drizzle : tables users, clinics, queue_entries, subscriptions, analytics_events - [x] Migration DB (pnpm db:push) - [x] Design system : palette teal/orange cinématique dans index.css - [x] Polices Google Fonts (Inter + Space Grotesk) ## Phase 4 : Landing Page & Auth Médecin - [x] Landing page cinématique avec hero, features, pricing - [x] Page d'inscription / connexion médecin (OAuth Manus) - [x] Middleware de vérification d'abonnement (trial/active/blocked) - [x] Page de blocage abonnement expiré ## Phase 5 : Dashboard Médecin & QR Code - [x] Dashboard médecin principal avec stats - [x] Gestion multi-cabinets (CRUD clinics) - [x] Génération QR code unique/aléatoire par cabinet (rotation anti-triche) - [x] Interface gestion file d'attente (appel prochain, skip, fermer) - [x] Affichage numéro en cours et temps estimé ## Phase 6 : Interface Patient & Écran d'Affichage - [x] Page patient après scan QR code (sans compte requis) - [x] Affichage position en temps réel dans la file - [x] Estimation du temps d'attente en live - [x] Écran d'affichage tablette/moniteur (route /display/:clinicId) - [x] WebSocket server (Socket.io) pour mises à jour temps réel - [x] Connexion WebSocket côté patient et écran d'affichage ## Phase 7 : Stripe & Abonnement - [x] Plans d'abonnement mensuel (Basic 29€, Pro 59€) - [x] Gestion essai gratuit 1 mois (auto-création à la première connexion) - [x] Page de paiement et gestion abonnement dans le dashboard - [x] Blocage automatique après expiration (subscriptionProcedure middleware) - [ ] Intégration Stripe réelle (webdev_add_feature stripe) – à activer - [ ] Webhook Stripe pour renouvellement/expiration automatique ## Phase 10 : Améliorations UX & Notifications - [ ] Page patient enrichie (progression animée, alertes) - [ ] Écran d'affichage avec animation de numéro appelé - [ ] Landing page : section "Comment ça marche" complète - [ ] Notifications push navigateur (Web Push API) - [ ] Export CSV des analytics - [ ] README.md et MANUS_HANDOFF.md - [ ] Push GitHub final ## Phase 8 : Analytics, Notifications & Tickets - [x] Analytics : temps d'attente moyen, pics d'affluence, taux de présence - [x] Graphiques recharts dans le dashboard médecin (barres, camembert) - [x] Prédictions et recommandations IA basées sur l'historique - [x] Impression de ticket numérique (page imprimable) - [x] Attribution numéro unique pour patients sans téléphone (printTicket) - [ ] Notifications push/SMS (Twilio) – à intégrer ## Phase 9 : Tests, Audit & Documentation - [x] Tests Vitest pour les procédures tRPC critiques (8 tests, 2 fichiers) - [x] 0 erreur TypeScript - [ ] Checkpoint final et commit GitHub