Skip to content
Pourbaix edited this page May 16, 2022 · 26 revisions

Dev Web - Groupe : G12 - Projet : Pro-Car Rental

Membres du groupe

Nom Pseudo Github US décrite  US implémentée
Abderrachid BELLAALI @Rachiid007 Afficher les voitures Lien US
Patson TIAKO @CardinPatson Choisir la plage horaire de location Lien US
Aymar HAKIZIMANA @HaAymar Choisir la marque de la voiture Lien US
Michaël POURBAIX @Pourbaix Ajouter des voitures Lien US

Description du projet

Le projet consiste en la création d'une application web permettant à des utilisateur de louer des voitures d'un particulier. L'application possèdera deux interfaces. une interface réservée au visiteur/utilisateur(visiteur inscris sur la plateform) et une autre administrateur.

En ce qui concerne l'interface administrateur, il un vue globale sur l'ensemble du site avec la possibilité de rajouter des voitures destinées à être loué par les utilisateur, de gérer les location des utilisateur mais aussi de rajouter des administrateurs.

Pour ce qui est de l'interface client le visiteur aura la possibilité de consulter les voitures destinées à être loué et l'utilisateur inscris aura en plus la possibilité de louer un voiture. L'objectif est de créer une application Web de location de voiture, avec un espace membre et un panneau administratif pour la gérer.

Technologies choisies

  • Backend : NodeJS-Express
  • Frontend : React Redux
  • Base de données : PostgreSQL

Site du projet

Notre projet

Liens vers les outils

Organisation du groupe

Nous organisons des réunions hebdomadaires via un serveur discord. Durant ces réunions nous discutons de l'avancement du projet, des prochaines tâches à réaliser et nous nous concertons sur certains sujets. Ces réunions sont aussi un moment très opportun pour faire une auto-évaluation de notre travail et compléter les différents points présents dans le git.

Une réunion dure en moyenne 4h00 mais bien évidemment nous allons bien au delà de sa celà nous permet d'être beaucoup plus productif . Durant ces réunions, nous répartissons les tâches de manière équitable. Durant ces réunions nous faisons aussi le point sur celles-ci qui sont déjà terminé et celle qui nécessite un travail collaboratif.

Utilisation du workflow Git

Branche Github

La création d'une branche github se fait lorsque plusieurs personnes on besoin de travail differente partie du code ex: pour une fonctionnalité qui vient d'être implémenté mais qui n'est pas completement fonctionnelle mais la personne a besoin de sauvegarder son avancement dans la fonctionnalité et une autre personne qui à besoin du code completement fonctionnelle pour avancer sur une autre partie du code.

La personne dont la fonctionnalité n'est pas complètement fonctionnelle créera une branche afin de rendre sa fonctionnalité fonctionnelle, Bien évidement si cette fonctionnalité nécessite un travail collaboratif tout le groupe n'hésite pas à se déplacer sur la nouvelle branche afin de terminer la fonctionnalité

Pull Request

Lorsqu'une fonctionnalité est terminé sur une nouvelle branche le créateur de la branche effectu une pull request afin de merger sa fonctionnalité dans la branche principale master. Si la pull request nécessite une resolution de conflit ou review du code le créateur de la branche peut désigner un reviewer qui va se charger de relire le code avec le créateur de la branche et de l'aider à résoudres les conflits

Astuce

Afin de faciliter la collaboration dans le projet nous avon mis en place quelques astuces qui nous permet de mieux répartir le travail entre nous

  • Un générateur de nombres aléatoires pour répartir parfois la complétion de certaines parties du wiki

Outils utilisés

La façon dont on utilise Github Project est repris dans cette partie du wiki

Qui nous permet de renseigner le temps de travail que chaque membre du groupe à effectuer durant la semaine ainsi que des différentes réunion hebdomadaire que nous effectuer.

  • Discord

Utilisé afin de planifier les différentes réunions hebdomadaires, il nous sert d'outil d'échange entre les membres du groupe. Nous utilisons aussi Discord beaucoup plus pour partager les différents liens de formation, tutoriels qui nous permettent de réaliser une ou plusieurs fonctionnalités

Il nous permet aussi de nous entretenir sur la résolution de bug dans le code, de mentionner des éventuelles crash du serveur ou de l'interface de l'application dans le cas où ne saurais sois même résoudre le problème.

Git

Nous utilisons git pour poster l'implémentation de notre code comme mentionner dans cette section. Afin de faciliter la résolution de code ou encore de conflit lors des différents pull request on essaie au mieux de suivre une convention élaboré par l'ensemble du groupe pour les différents messages de commits.

  • [FIX] : Quand un bug ou un problème a été identifié et fixé dans la projet
  • [ADD] : Quand une fonctionnalité a été terminé ou un nouveau fichier a été ajouté
  • [DEL] : Quand une fonctionnalité ou un fichier a été supprimé
  • [UPG] : Quand une fonctionnalité a été amélioré
  • [PEND] : Quand une fonctionnalité a été entamé mais est toujours en phase de réalisation
  • [REF] : Quand la structure du code ou d'une fonctionnalité a été modifié
  • [UPD] : Quand une fonctionnalité fonctionnelle a été optimisé
  • [TEST] : Quand une fonctionnalité fonctionnelle est en cours de test

Gestionnaire de tâches : GitHub Project

Le gestionnaire de tâche utilisé est Github Project.

Afin de séparer au mieux les étapes du projet on utilise comme gestionnaire de projet GitHub Action qui nous permet de diviser l'implémentation de fonctionnalité en 6 parties décrite ci-dessous:

Contient toutes les users stories du projet avec un lien vers les issues correspondantes c'est dans cette partie que l'on mettra toutes les fonctionnalités qui seront destinées à être prise en main ainsi que ce

Contient toutes les fonctionnalités qui seront destinées à être implémenté le plus vite possible et classé par ordre d'importance.

Contient toutes les fonctionnalités qui sont en cours d'implémentation

Contient toutes les fonctionnalités terminées mais qui nécessitent des test qui n'ont pas encore été mis en place. Dans cette liste ont place en attente les US afin de corriger soit un autre bug soit d'aider un membre du groupe dans l'implémentation d'une autre fonctionnalité.

Contient toutes les fonctionnalités dont les tests sont en cours d'implémentation. Si un membre du groupe place une fonctionnalité dans cette partie s'il travaille hâtivement sur celle ci.

Lorsqu'une fonctionnalité à été completement implémenté et ne necessite plus que des mises à jour ou une maintenance du code et que les tous les tests implémentés à l'étape précédente passent correctement, elle est placé dans cette partie.

Différents tags:

  • Documentation: Utilisé pour préciser les us qui sont documentées.
  • TAG DE NOM: Utilisé pour préciser quel est le membre du groupe qui gère la US.

Autres outils

[Quels autres outils ont été utilisés? Pourquoi?]

Clone this wiki locally