Dans le cadre de la loi de modernisation du système de santé, un système d’étiquetage nutritionnel a été mise en place en Europe pour faciliter la compréhension et le choix de produits plus sains pour le consommateur. Ce système permet également de participer à la lutte contre l’augmentation des maladies cardiovasculaire et l’obésité. Alors pourquoi par allier l’informatique à la santé.
Les cibles de ce projet sont l’ensemble des personnes souhaitant consommer des produits de façon plus saines. Cette application s’adresse également aux personnes qui souhaitent s’informer sur les produits qu’il consomme tous les jours.
L’application Nutrisearch est un produit développé en 1 semaine par un ami et moi même. Il rentre dans le cadre d’un cours de MongoDb. Cette application a été imaginée afin de mieux s’informer sur les produits que nous consommons tous les jours.
Les données sont issues d’une base de données collaborative appelé Open Fodd Facts. Open Food Facts est un projet collaboratif en ligne et sur mobile dont le but est de constituer une base de données libres et ouverte sur les produits alimentaires commercialisés dans le monde entier. Ce projet a été lancé en 2012 et évolue au fur et à mesure des années. Bien entendu pour la réalisation de ce projet nous avons récupérer qu’une partie de la base de données. La base de données est décomposée en 13 fichiers compressé dans un fichier zip de 1.3 Go. Voici le lien pour la télécharger si cela vous intéresse (https://fr.openfoodfacts.org/data).
Pour ce qui est de l’architecture globale du projet nous avons choisi de créer un
projet en 2 parties :
- Une Api développé avec le Framework Spring présente sur ce projet.
- Un client développé en en Java JEE présent sur un autre projet.
Nous avons choisi de développer notre application à partir d’une architecture
distribuée car elle nous permet d’alléger l’application web.
C'est-à-dire que l’accès à
la base de données se fait à partir d’une API développée et l’affichage se fait à partir
d’une application web. Les informations sont distribuées par l’API qui peut être
distante de l’application.
A terme, il est possible de sécuriser la donnée à partir de Mongo Db en
mettant en place des Replicat set contenant les informations présentes dans notre
serveur de base de données dont l’API est la principale porte d’entrée.
L'API est décomposée en 2 parties distinctes : la partie pour la gestion des produits et la celle pour la gestion des favoris
Chemin initial :
GET rest/nutri
GET rest/nutri/all
GET rest/nutri//findOne?id=<Valeur>
GET rest/nutri/allBy/?pays=<Valeur>
GET rest/nutri/allByScore/?nutriscore=<Valeur>
GET rest/nutri/allByElement/?nutriscore=<Valeur>&paysOrigine=<Valeur>&paysVente=<Valeur>
GET rest/nutri/allByPaysOrigine/?paysOrigine=<Valeur>
GET rest/nutri/allByPaysVente/?paysVente=<Valeur>
GET rest/nutri/add/?nom=<Valeur>&grade=<Valeur>&packaging=<Valeur>&paysOrigine=<Valeur>&paysVente=<Valeur>&categorie=<Valeur>&ingredientDescription=<Valeur>&quantity=<Valeur>
GET rest/nutri/modify/?id=<Valeur>&nom=<Valeur>&grade=<Valeur>&packaging=<Valeur>&paysOrigine=<Valeur>&paysVente=<Valeur>&categorie=<Valeur>&ingredientDescription=<Valeur>&quantity=<Valeur>
GET rest/nutri/delete/?id=<Valeur>
Chemin initial :
GET rest/favoris
GET rest/favoris/all/
GET rest/favoris/add/?idproduit=<Valeur>
GET rest/favoris/findByIdProduct/?idproduit=<Valeur>
GET rest/favoris/delete/?id=<Valeur>