Ce repo fut crée dans le cadre d'un projet étudiant en Licence 3 à l'UBO Brest. Ce projet avait pour but de développer l'application web d'une structure associative fictive nommée "EtuBrestFood", offrant une aide alimentaire aux étudiants brestois.
L'association aurait pour rôle de récupérer les produit donnés par des partenaires (commerçants, producteurs, etc.) puis de les stocker dans un local associatif et constituer différents types des paniers alimentaires. Ces paniers pourraient ensuite être réservés par des étudiants qui pourront aller les récupérer sur place.
L'application web a donc pour objectif de gérer les inscriptions des étudiants, les connexions au site, la consultation des offres disponibles et la commandes de paniers alimentaires par les étudiants.
Nous avons fait le choix d'utiliser react pour la partie frontend et nodejs pour la partie backend du site.
Nous avons aussi choisi d'utiliser MariaDB pour notre base de données.
Ces choix se justifient par notre familiarité avec ces outils mais aussi par la rapidité d'implémentation grâce à la réutilisation de composants.
Nous avons réalisé ce projet sur une période de 6 semaines à partir d'une méthode de développement hybride mélangeant de l'Agile et un cycle en V. Nous avons passé 3 semaines sur la rédaction du cahier des charges, l'IHM et la Base de données, 2 semaines sur l'installation des outils et le développement, et 1 semaine sur le rapport et la présentation de soutenance.
Afin de faire fonctionner notre site, nous avons identifié un certain nombre de besoins essentiels auquels l'API devrait répondre. Ces fonctionalités sont mises en place grâce à des requêtes SQL qui sont executées lors de l'accès à leur route correspondante.
Ci-dessous se trouve une liste non exhaustive de requêtes ainsi que leurs routes correspondantes.
- Liste de l’ensemble des paniers disponibles à la commande. GET
/panier
- Récupération des informations d’un panier. GET
/panier/[id]
- Creation d’une offre pour un étudiant et un panier donné. POST
/offre
- Liste tout les produits donnés par un partenaire avec indication de s’il fut récupéré par un étudiant ou non. GET
/partenaire/afficheDons/[id]
- Création d’un compte étudiant. POST
/partenaire/new
- Création d’un compte partenaire. POST
/partenaire/new
- Connexion à un compte. POST
/compte/login
- Récupérer le nom de l’étudiant. GET
/etudiant/nom/[id]
- Récupérer le nom du partenaire. GET
/partenaire/nom/[id]
La partie frontend du site n'a malheuresement pas pu être intégralement réalisée mais nous avons pu implémenter un certain nombre de fonctionalités.
Voici une liste de ces fonctionalités ainsi que celles qui n'ont pas pû être complètées.
- Acceuil du site.
- Header de navigation du site.
- Inscription d'un étudiant.
- Connexion à un compte étudiant.
- Affichage des paniers disponibles.
- Accès à la page d'un panier.
- Réservation d'un panier.
- Page "Mon Espace" pour consulter les commandes effectuées.
- Page "Contacts".
Sous le répertoire front
, lancer d'abord la commande suivante afin d'installer toutes les dépendances requises:
Puis executer cette commande afin de démarrer la partie frontend de l'application web:
L'application sera accessible à l'adresse http://localhost:3000 dans votre navigateur.
Sous le répertoire front/src/api
, lancer d'abord la commande suivante afin d'installer toutes les dépendances requises:
Puis executer cette commande afin de démarrer la partie frontend de l'application web:
L'API sera accessible à l'adresse http://localhost:8000 dans votre navigateur.