Application mobile offline-first pour communautés rurales — diagnostic agricole, gestion des déchets et suivi de l'écosystème, réunis dans une même expérience.
Projet réalisé pour NextStep Hacks 2026 — Thème : Earth Forward.
- Présentation
- Stack technique
- Structure du dépôt
- Démarrage du projet
- Branches & workflow Git
- Équipe
- Documentation
Kernel réunit 3 modules dans une seule application :
- Agriculture — diagnostic de maladies de plantes par photo, conseils en français/anglais, fonctionne hors ligne.
- Ressources — signalement et priorisation de la collecte des déchets communautaires.
- Écosystème — tableau de bord agrégeant les signaux des deux autres modules en un indice de santé environnementale local.
Un assistant conversationnel (Kernel) et un onglet Paramètres (thème, langue, taille de texte) complètent l'expérience.
Voir la documentation complète dans docs/Kernel_Documentation.docx.
| Composant | Technologie |
|---|---|
| Frontend mobile | React Native (Expo) |
| Backend / BaaS | Supabase (PostgreSQL, Auth, Storage) |
| Stockage local | SQLite (expo-sqlite) + AsyncStorage |
| IA diagnostic plantes | Modèle embarqué TensorFlow Lite |
| IA assistant | Moteur de règles local + API Claude en ligne |
Kernel/
├── app/ # Application React Native (Expo) — initialisée à la tâche n°4
├── assets/
│ ├── design/ # Maquettes, charte graphique, exports de la maquette validée
│ └── icons/ # Sprite SVG d'icônes de l'application
├── docs/ # Documentation, suivi des tâches et classeur de répartition
├── supabase/ # Configuration locale, migrations, rollbacks et tests pgTAP
├── .github/workflows # Contrôles de toutes les branches et APK sur main
└── README.md
cd app
npm ci
copy .env.example .env
npx expo startLe mode aperçu fonctionne sans Supabase. Pour les données réelles, renseigner uniquement l'URL du projet et la clé sb_publishable_* dans app/.env. Une clé sb_secret_*, service_role ou un mot de passe PostgreSQL ne doit jamais être utilisé dans l'application mobile.
Contrôles locaux :
cd app
npm run lint
npm run typecheck
npm test
npm run buildLa CI exécute ces contrôles sur chaque branche. Tout push sur main, après succès des contrôles, génère aussi un APK Android de debug téléchargeable dans les artefacts GitHub Actions.
main— toujours stable, correspond à la version présentée au jury.dev— branche d'intégration où chaque module est fusionné après revue.feature/<module>— une branche par module (feature/agriculture,feature/ressources,feature/ecosystem,feature/assistant-parametres).
Convention de commit : feat:, fix:, docs:, chore:.
Toute fusion vers dev passe par une Pull Request avec au moins une relecture. La fusion dev → main se fait uniquement avant une démo ou une soumission.
| Membre | Rôle |
|---|---|
| Azra | Coordination, fondations, assistant & paramètres |
| Michou | Module Agriculture |
| Florent | Module Ressources |
| Krys | Module Écosystème |
docs/Kernel_Documentation.docx— documentation technique et fonctionnelle complète.docs/Kernel_Repartition_Taches.xlsx— classeur de répartition des tâches de l'équipe.assets/design/kernel-mockup.html— maquette de référence validée.docs/KRYS_STATUS.md— état vérifié des tâches Krys, dépendances et interventions requises.supabase/README.md— procédure locale et règles de sécurité Supabase.