
FrigoChef
Projet académique en équipe complété
Le projet
FrigoChef est une application Android native qui recommande des recettes selon les ingrédients et quantités disponibles à la maison. Construite en Kotlin par une équipe de trois personnes, elle combine un questionnaire guidé, le filtrage de recettes, un calcul de score de compatibilité, la persistance SQLite et des tests automatisés.
Ma contribution
Ma contribution s'est concentrée sur la couche base de données, les écrans de résultats et de détail de recette, les revues de code, et les tests unitaires et de bout en bout.
Le plus difficile
Le principal défi était de traduire les quantités d'ingrédients en un score qui reste simple et explicable. Pour chaque ingrédient requis, l'application calcule le ratio quantité disponible sur quantité requise, le plafonne à 100%, assigne zéro quand l'ingrédient est manquant, et fait la moyenne des résultats sur toute la recette. Cela produit un score proportionnel plutôt qu'une correspondance binaire, et distingue un ingrédient manquant d'un ingrédient partiellement disponible.
Le calcul s'exécute en Kotlin, dans un ScoreCalculateur dédié. Chaque ingrédient porte actuellement le même poids, ce qui est une simplification délibérée : une recette où j'ai 3 ingrédients sur 3 obtient un score de 100% et se classe au-dessus d'une où j'ai 10 sur 12 à 83%. Les tests couvrent les cas zéro, partiel et complet.
Ce que je changerais
Dans une version future, je distinguerais les ingrédients essentiels des optionnels, je migrerais le travail de base de données vers Room avec des coroutines, et je testerais le modèle de score contre un catalogue de recettes plus grand et plus varié.

