feat: evolve MetaBloom into full product foundation
MetaBloom CI / app (push) Canceled after 0s
MetaBloom CI / api (push) Canceled after 0s

This commit is contained in:
AI Company
2026-07-21 19:24:59 +00:00
parent 082cd868d4
commit ea8b5be058
38 changed files with 610 additions and 58 deletions
+71 -39
View File
@@ -1,33 +1,38 @@
# MetaBloom
Compagnon métabolique moderne, francophone et sans culpabilisation pour aider les personnes concernées par le surpoids, le prédiabète ou le diabète de type 2 à suivre leurs habitudes quotidiennes.
MetaBloom est un compagnon métabolique mobile-first, francophone et non culpabilisant pour les personnes concernées par le surpoids, le prédiabète ou le diabète de type 2. Une seule base Expo cible iOS, Android et le Web.
> **Statut : prototype éducatif et bien-être.** MetaBloom ne diagnostique aucune maladie, ne calcule aucun traitement et ne remplace pas un professionnel de santé. En cas durgence, contactez les services durgence.
> **Statut : produit en développement, usage éducatif et bien-être uniquement.** MetaBloom ne diagnostique pas, ninterprète pas une mesure, ne calcule pas de dose et ne modifie jamais un traitement. En cas durgence, contactez les services durgence.
## Le produit
## Fonctionnalités disponibles
Une seule application mobile-first pour iOS, Android et le web :
- onboarding avec objectif, parcours et consentement informatif ;
- parcours Prévention, Perte de poids, Diabète type 2 et GLP-1 ;
- dashboard quotidien responsive avec données réellement dynamiques ;
- journal enrichi : poids, glycémie facultative, eau, pas, sommeil, repas et humeur ;
- validation des valeurs et gestion mg/dL/mmol/L ;
- graphiques et moyennes calculés sur les sept derniers jours ;
- coaching comportemental et micro-leçons sans recommandations thérapeutiques ;
- préférences, rappels préparés, export CSV et effacement local ;
- persistance hors ligne via AsyncStorage ;
- backend FastAPI/PostgreSQL auto-hébergeable avec JWT, consentement, CRUD, export et suppression de compte ;
- préparation UI pour scan de repas, Apple Santé et Health Connect.
- tableau de bord quotidien avec score souple et petites actions ;
- journal rapide : poids, eau, pas et glycémie manuelle facultative ;
- tendances sur 7 jours et encouragements non culpabilisants ;
- préférences dunités et informations de sécurité ;
- persistance locale sur lappareil, sans compte ni serveur pour ce MVP ;
- interface responsive, accessible et utilisable au clavier.
## Captures
## Pourquoi MetaBloom ?
Le marché combine trois familles : suivi nutritionnel (MyFitnessPal), coaching comportemental (Noom/WW) et journal du diabète (mySugr). MetaBloom se différencie comme **compagnon métabolique inclusif et francophone**, simple, calme, centré sur la prévention et la confidentialité. Il évite les objectifs extrêmes et la gamification punitive.
Les captures mobiles sont disponibles dans [`screenshots/`](./screenshots/).
## Stack
- Expo SDK 57
- React Native 0.86 + React 19
- TypeScript
- AsyncStorage pour les données locales
- Expo Linear Gradient
| Couche | Technologie |
|---|---|
| Application | Expo SDK 57, React Native 0.86, React 19, TypeScript |
| Stockage local | AsyncStorage |
| API | FastAPI, SQLAlchemy, Pydantic |
| Données serveur | PostgreSQL en production, SQLite en développement |
| Sécurité API | JWT expirant, Argon2, isolation par utilisateur |
## Démarrer
## Démarrer lapplication
Prérequis : Node.js 20+ et npm.
@@ -36,41 +41,68 @@ npm install
npm run web
```
Autres cibles :
```bash
npm run android # appareil/émulateur Android ou Expo Go
npm run ios # macOS + simulateur iOS, ou Expo Go
npm run android
npm run ios
npm run typecheck
npm run build:web
```
Les cibles Android/iOS fonctionnent avec Expo Go pour ce prototype. HealthKit/Health Connect nécessiteront un development build natif et des comptes développeur Apple/Google.
## Démarrer lAPI
```bash
cd server
python -m venv .venv
. .venv/bin/activate
pip install -r requirements-dev.txt
uvicorn app.main:app --reload
```
Documentation OpenAPI : `http://localhost:8000/docs`. Voir [`server/README.md`](./server/README.md) pour PostgreSQL, Docker et les règles de sécurité.
## Architecture
```text
App.tsx Interface, navigation et état du MVP
index.ts Point dentrée Expo
app.json Configuration multiplateforme
assets/ Icônes et splash screen
App.tsx Expérience Expo multiplateforme
assets/ Icônes et splash screen
server/app/ API, modèles, validation et sécurité
server/tests/ Tests dintégration API
server/docker-compose... PostgreSQL + API auto-hébergeables
screenshots/ Captures produit
.gitea/workflows/ Contrôles CI
```
Le MVP reste volontairement monolithique pour accélérer la validation produit. Une V2 séparera écrans, composants, domaine et accès aux données.
Lapplication fonctionne actuellement en mode local-first. LAPI est prête séparément ; la prochaine étape dintégration est une file de synchronisation idempotente avec gestion explicite des conflits.
## Données et sécurité
## Sécurité et réglementation
Les données de démonstration et saisies sont stockées exclusivement via AsyncStorage sur lappareil. Aucun backend, tracker publicitaire ou transfert de données nest inclus.
- aucune donnée nest envoyée par lapplication tant que lAPI nest pas configurée ;
- lAPI impose un consentement avant lenregistrement de données de santé ;
- les mots de passe sont hachés avec Argon2 et les données isolées par utilisateur ;
- les secrets dexemple ne doivent jamais être utilisés en production ;
- AsyncStorage nest pas chiffré : il doit être remplacé par SQLite + SecureStore avant production ;
- une AIPD/RGPD, une analyse HDS, un audit OWASP et une qualification MDR sont obligatoires avant usage réel ;
- aucun conseil GLP-1, seuil glycémique ou traitement nest produit par lapplication.
Avant une mise en production réelle : analyse dimpact RGPD, consentement explicite, chiffrement, gestion de leffacement/export, évaluation HDS, audit de sécurité, validation clinique et qualification au regard du règlement européen MDR. Les fonctions de diagnostic, prédiction dhypoglycémie, dosage dinsuline ou adaptation thérapeutique sont explicitement hors périmètre.
## État des fonctionnalités avancées
## Roadmap
- **Backend/auth/export/suppression :** implémentés et isolés dans `server/`.
- **Synchronisation multi-appareil :** architecture définie, connexion client/API restante.
- **Notifications :** préférences fonctionnelles ; branchement natif restant.
- **Scan alimentaire :** expérience préparée ; source nutritionnelle et confirmation utilisateur restantes.
- **HealthKit/Health Connect :** préparation produit ; dépendances natives et autorisations stores restantes.
- **IA :** volontairement non branchée avant gouvernance clinique et corpus validé.
1. Tests utilisateurs et accessibilité WCAG.
2. Authentification et synchronisation chiffrée auto-hébergeable.
3. Export PDF/CSV partageable avec consentement.
4. Rappels locaux et intégrations HealthKit / Health Connect.
5. Base alimentaire francophone et scan, après validation qualité.
6. Parcours professionnels de santé et conformité réglementaire.
## Tests
```bash
npm run typecheck
npm run build:web
cd server && pytest -q
```
## Licence
MIT — voir `LICENSE`.
MIT — voir [`LICENSE`](./LICENSE).