Logo Lanfrica

aklessoia-tech/sensicom-togo

Domain:

healthcare

Record type:

software
Creator:
akl
Host:
PWA de sensibilisation communautaire VIH/IST au Togo — saisie anonyme hors ligne, coupons, suivi des orientations santé # SensiCom Togo PWA de sensibilisation communautaire (VIH/IST/MST) en milieu universitaire, avec suivi des orientations vers l'infirmerie par système de coupons. ## Principe d'anonymat Aucune donnée d'identité civile n'est collectée ni stockée, à aucune étape. Le numéro de téléphone sert au SMS de rappel puis n'est conservé que sous forme d'empreinte SHA-256 accompagnée de ses 4 derniers chiffres, ce qui suffit à détecter les doublons sans permettre de remonter à une personne. ## Rôles | Rôle | Usage | Écrans | | --- | --- | --- | | Agent | Mobile, terrain, souvent hors ligne | Sessions, saisie anonyme, émission de coupons | | Infirmier | Mobile, infirmerie | Recherche de coupon, enregistrement des actes | | Administrateur | Desktop | Tableau de bord, alertes anti-fraude, référentiels, exports | Le cloisonnement par zone est appliqué côté base par les politiques RLS : un infirmier ne voit que les coupons de sa zone, un agent que ses propres saisies. ## Fonctionnement hors ligne Toutes les saisies agent et infirmier sont écrites d'abord dans IndexedDB avec un identifiant généré côté client, puis poussées vers Supabase par une file de synchronisation ordonnée (sessions → personnes → coupons → actes). L'état de synchro est visible en permanence dans l'en-tête. Un acte enregistré sur un coupon pas encore synchronisé est rattaché automatiquement à l'arrivée de la session correspondante, côté client comme côté serveur. ## Démarrage ```bash npm install npm run dev ``` Sans variables d'environnement Supabase, l'application démarre en **mode démonstration** : tout fonctionne en local sur l'appareil, avec les comptes `agent@demo.tg`, `infirmier@demo.tg` et `admin@demo.tg` (mot de passe `demo1234`). ## Configuration Copiez `.env.example` vers `.env` et renseignez `VITE_SUPABASE_URL` et `VITE_SUPABASE_ANON_KEY`. ## Base de données Les migrations dans `supabase/migrations/` sont à appliquer dans l'ordre : 1. `_schema.sql` — tables, contraintes, triggers de rappro …

Languages