SafeBite/docs/ameliorations.md
Bruno Charest c4add0a3fe feat: add user testing plan for SafeBite app
- Created a comprehensive user testing plan document to validate the app's usability, reliability, accessibility, and resilience.
- Included various test scenarios covering onboarding, product scanning, manual barcode entry, and accessibility features.

chore: update dependencies for code quality tools

- Added ktlint version 12.2.0 for Kotlin code style enforcement.
- Added detekt version 1.23.7 for static code analysis.

chore: increment version numbers

- Updated MINOR version to 32 and CODE to 43 in version.properties to reflect recent changes.
2026-05-11 15:13:18 -04:00

178 lines
9.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 💡 Propositions d'amélioration — SafeBite
**Document évolutif • 11 mai 2026**
Chaque proposition peut être cochée :
- ✅ Acceptée — à planifier
- ❌ Rejetée — pas pertinent
- 💤 En attente — à réévaluer plus tard
Une section **Commentaires** en bas permet de modifier/affiner les propositions.
---
## 🎨 UX / UI
- [ ] **1. Transition ContainerTransform FAB → Scanner**
- Animation Material Design fluide entre le FAB central et l'écran scanner plein écran (actuellement navigation standard sans transition partagée).
- Effort : 1j | Impact : ⭐⭐⭐⭐⭐
- [ ] **2. Widget Android « Scan rapide »**
- Widget 1×1 sur l'écran d'accueil qui ouvre directement le scanner. 1 tap au lieu de 2.
- Effort : 2j | Impact : ⭐⭐⭐⭐
- [ ] **3. Mode AMOLED Black**
- Ajouter une 3ᵉ option de thème : fond noir pur (`#000000`) en plus du dark actuel, pour économie de batterie sur écrans OLED.
- Effort : 0.5j | Impact : ⭐⭐⭐
- [ ] **4. Mode paysage pour le scanner**
- Adapter l'overlay scanner et le layout pour la rotation paysage. Actuellement verrouillé en portrait.
- Effort : 1j | Impact : ⭐⭐⭐
- [ ] **5. Skeleton screens sur tous les chargements**
- Étendre le `ProductSkeleton` à : Dashboard (stats), Listes, Suivi, Profils. Cohérence visuelle.
- Effort : 1j | Impact : ⭐⭐⭐
---
## 🚀 Nouvelles fonctionnalités
- [ ] **6. Comparateur de produits**
- Scanner 2 produits → écran côte à côte avec verdict, Nutri-Score, prix, allergènes. Aide à choisir en magasin.
- Effort : 3j | Impact : ⭐⭐⭐⭐⭐
- [ ] **7. Mode « Repas complet »**
- Scanner plusieurs produits d'un même repas → verdict global pour tous les membres de la famille. « Ce repas est-il safe pour tout le monde ? »
- Effort : 3j | Impact : ⭐⭐⭐⭐⭐
- [ ] **8. Répertoire « Mes produits safe »**
- Section favoris où l'utilisateur sauvegarde les produits qu'il achète régulièrement. Accès rapide sans re-scan.
- Effort : 1.5j | Impact : ⭐⭐⭐⭐
- [ ] **9. Carte d'allergies digitale (QR code)**
- Générer un QR code contenant les allergènes de la famille. Pour restaurateurs/scolaires : scan → liste des allergènes à éviter.
- Effort : 1j | Impact : ⭐⭐⭐⭐⭐
- [ ] **10. Notifications push — alerte sécurité**
- Firebase Cloud Messaging : notification quand un allergène critique est détecté lors d'un scan (ex: « ⚠️ ARACHIDES détecté dans Snickers — interdit pour Julie »).
- Effort : 3j | Impact : ⭐⭐⭐⭐
- [ ] **11. Export des données (PDF/CSV)**
- Exporter l'historique des scans en PDF ou CSV. Utile pour partager avec un médecin/allergologue.
- Effort : 1.5j | Impact : ⭐⭐⭐⭐
- [ ] **12. Journal alimentaire (food diary)**
- En plus de l'historique, permettre de noter les repas consommés + réactions éventuelles. Suivi médical.
- Effort : 4j | Impact : ⭐⭐⭐
-**13. Scanner de liste de courses (multi-codes)**
- Mode « course » : scanner tous les produits d'un ticket de caisse en rafale. Verdict pour l'ensemble du panier.
- Effort : 2j | Impact : ⭐⭐⭐
-**14. Partage/analyse URL ajout de produit**
- Permettre de partager une URL de produit (ex: page Amazon) → extraire les infos, analyser et ajouter le produit à la base de données et dans une liste d'achat existante choisie par l'utilisateur ou une nouvelle liste créée par l'utilisateur. Dans la gestion des items, il faudrait ajouter une option url pour que l'utilisateur puisse ajouter un produit à partir d'une url (ex: page Amazon). L'app analyserait la page, extraire les infos du produit et l'ajouterait à la base de données et dans une liste d'achat existante choisie par l'utilisateur ou une nouvelle liste créée par l'utilisateur. l'URL peut provenir d'un partage ou être collée ou écrit manuellement dans l'app.
- Effort : inconnu | Impact : ⭐⭐⭐⭐
-**15. Ajouter section Recettes**
- Entre la section « Listes » et « Suivi », ajouter une section « Recettes » où les utilisateurs peuvent trouver des idées de repas safe pour leur famille, basées sur les allergènes déclarés. Les recettes pourraient être filtrées par type de repas (petit-déjeuner, déjeuner, dîner) et par allergène (ex: recettes sans gluten). Unne fois une recette sélectionnée, afficher les ingrédients nécessaires et permettre d'ajouter les ingrédients à une liste d'épicerie. De plus, dans la section recette, obtenir des suggestions de recettes à partir des ingrédients disponible a la maison, tout en vérifiant la compatibilité avec les allergènes de la famille. Cela permettrait d'optimiser l'utilisation des produits déjà achetés et de réduire le gaspillage alimentaire.
- Effort : inconnu | Impact : ⭐⭐⭐⭐⭐
-**16. Ajouter section Frigo**
- Ajouter une section « Frigo » où les utilisateurs peuvent scanner les produits ou ajouter les produits manuellement qu'ils ont chez eux. Ce suivi permettrait de retirer un produit quand il est terminer et demandé de l'ajouter à une liste d'épicerie que l'utilisateur doit choisir. De plus, dans la section recette, obtenir des suggestions de recettes à partir de ces ingrédients disponible a la maison, tout en vérifiant la compatibilité avec les allergènes de la famille. Cela permettrait d'optimiser l'utilisation des produits déjà achetés et de réduire le gaspillage alimentaire.
- Effort : inconnu | Impact : ⭐⭐⭐⭐⭐
---
## ♿ Accessibilité & Inclusivité
- [ ] **30. Mode vocal**
- Annonce vocale du verdict après scan via TTS (Text-to-Speech) Android. « Attention : ce produit contient des arachides. Interdit pour Julie. »
- Effort : 1j | Impact : ⭐⭐⭐⭐
- [ ] **31. Personnalisation daltonienne**
- Permettre à l'utilisateur de choisir son type de daltonisme (deutéranopie, protanopie, tritanopie) → adapter la palette de couleurs en conséquence.
- Effort : 2j | Impact : ⭐⭐⭐
- [ ] **32. Mode simplifié « Senior »**
- UI épurée : texte plus grand, boutons plus gros, moins d'options. Un seul écran : Scanner → Verdict.
- Effort : 2j | Impact : ⭐⭐⭐
- [ ] **33. Contenu éducatif sur les allergènes**
- Fiches info par allergène : qu'est-ce que c'est, où ça se cache, symptômes, alternatives. Depuis l'écran de profil ou le verdict.
- Effort : 3j | Impact : ⭐⭐⭐
---
## ☁️ Cloud & Collaboration
- [ ] **40. Synchronisation cloud des profils (Firebase Auth + Firestore)**
- Sauvegarder les profils famille + listes dans le cloud. Restaurer sur un nouveau téléphone. Optionnel, sans compte obligatoire.
- Effort : 5j | Impact : ⭐⭐⭐⭐⭐
- [ ] **41. Listes de courses collaboratives (temps réel)**
- Partager une liste avec le/la conjoint(e). Modifications synchronisées en temps réel via Firestore.
- Effort : 5j | Impact : ⭐⭐⭐⭐
- [ ] **42. Contribution Open Food Facts**
- Permettre d'envoyer une photo d'étiquette + code-barres directement à la base OFF quand un produit est inconnu. Simplifier le flow actuel.
- Effort : 2j | Impact : ⭐⭐⭐⭐
---
## 🌍 Internationalisation
- [ ] **50. Traductions supplémentaires**
- Ajouter EN (déjà partiel), ES, DE, IT, PT. Rendre tous les strings traduisibles.
- Effort : 3j | Impact : ⭐⭐⭐⭐
- [ ] **51. Détection automatique de la langue des ingrédients**
- Améliorer l'OCR : détecter automatiquement si l'étiquette est en FR, EN, ES, etc. et adapter le moteur d'analyse.
- Effort : 3j | Impact : ⭐⭐⭐
---
## 🔧 Technique / Qualité
- [ ] **60. Tests screenshot automatisés (Paparazzi)**
- Capturer des screenshots de tous les écrans dans différents thèmes/locales → détecter les régressions visuelles.
- Effort : 2j | Impact : ⭐⭐⭐
- [ ] **61. CI/CD GitHub Actions**
- Build + tests automatiques à chaque PR. Génération APK de preview. Déploiement sur Firebase App Distribution.
- Effort : 2j | Impact : ⭐⭐⭐
- [ ] **62. Benchmark de performance (Macrobenchmark)**
- Mesurer le temps d'ouverture scanner, temps d'affichage verdict, fluidité scroll. Éviter les régressions.
- Effort : 1.5j | Impact : ⭐⭐
- [ ] **63. Pré-chargement intelligent du cache**
- Télécharger périodiquement les produits populaires / de saison en arrière-plan. Scanner instantané même hors-ligne.
- Effort : 2j | Impact : ⭐⭐⭐
- [ ] **64. Mode démo / onboarding interactif**
- Simuler un scan sans caméra pour démo en magasin ou salon. Code-barres virtuels avec résultats pré-enregistrés.
- Effort : 1j | Impact : ⭐⭐
---
## 📝 Commentaires
*Utilisez cette section pour annoter/modifier les propositions ci-dessus.*
### Exemple :
> **Proposition 6 (Comparateur)** → intéressant mais plutôt en V2. À coupler avec le mode « Repas complet ».
>
> **Proposition 9 (Carte allergie)** → prioritaire ! Parfait pour la rentrée scolaire.
---
*Vos notes :*
- [x] **IconPicker** : ajouter toutes les catégories d'émojis (pas seulement alimentation). → Fait le 11/05 — 7 catégories ajoutées : 🐾 Animaux, ⚽ Sports, 🚗 Transports, 🏠 Maison, 🎉 Fêtes, 💊 Santé, ⭐ Symboles (~100 émojis).
---
**Légende :** ✅ Acceptée | ❌ Rejetée | 💤 En attente