1 of 28

Plateforme Covoiturage Domicile - Université

PROTOTYPE

Mohammed Abdelhakim Kacemi �Amine Benazzouz

Benjamin Valognes �Théo Berguig

Thibault Le Guillou

1

Master 1 ICONE

Octobre 2020

Propriétaire du produit

  • Armelle Prigent
  • Patrice Joubert

2 of 28

  1. Equipe
  2. Cahier des charges
  3. Spécifications fonctionnelles
  4. Organisation du développement
  5. Développement
  6. Résultats obtenus

2

Plan:

3 of 28

Equipe

3

4 of 28

4

Directeur du produit��Armelle Prigent �Patrice Joubert

Chef de projet��Théo Berguig

Développeur��DT : Benjamin Valognes

Abdelhakim Kacemi

Amine Benazzouz�Thibault Le Guillou�

5 of 28

Cahier des charges

  • Une interface full WEB (adaptée pour mobile et desktop)�
  • Encourager les étudiants et le personnel de l’université à utiliser le covoiturage�
  • Les conducteurs peuvent proposer des trajets (domicile-université)�

5

« Dans le cadre du projet fédérateur ‘smart campus‘ l'université de La Rochelle cherche à encourager les étudiants et le personnel à adopter un mode de déplacement durable à faible contenu carbone. »

6 of 28

Fonctionnalités demandées

6

Inscription utilisateur

Enregistrer un nouvel utilisateur (Nom, Prénom, Email…)

Complétion du profil

Ajout d’une voiture (Nom, Nombre de place passager…)

Déclarer un modèle de trajet

Modèle de trajet “Domicile - Université” et “Université - Domicile” avec :

  • Point de départ (Université ou Domicile)
  • Point d’arrivée (Université ou Domicile)
  • Zone d’arrêts (Localisation sur le trajet)

Déclarer des instances du trajet

Instance d’un modèle de trajet à une date définie par le conducteur

Rechercher un covoiturage

Rechercher à partir des critères suivants : lieu de départ / arrivée, date de départ et rayon

Réserver un covoiturage

Créer une réservation pour le covoiturage sélectionné par l’utilisateur

Validation de la prise en charge du passager

Le passager présente le QR code au conducteur lors de sa prise en charge à la zone d’arrêt

7 of 28

Spécifications fonctionnelles

7

8 of 28

Spécifications fonctionnelles

  1. Définitions des fonctionnalités à développer (scénarios + veille concurrentielle)�
  2. Maquettage d’interface pour organiser le futur développement web�
  3. Définition des objets du domaine et de ses contraintes métiers

8

9 of 28

Maquettage

9

10 of 28

Objets du domaine & Terminologie

10

Utilisateur

Il s’agit d’un étudiant ou d’un membre de l’université de La Rochelle.

Voiture

Représente le véhicule dont dispose un utilisateur, qui est utilisé pour réaliser le trajet.

Localisation (Domicile / Composante Universitaire)

Point géographique (latitude / longitude) permettant d’indiquer la localisation d’une entité (ici le domicile de l’utilisateur et les composantes universitaires).

Modèle de trajet

Il s'agit d'un modèle représentant le trajet associé covoiturage. L’utilisateur, s’il dispose d’un véhicule, peut y indiquer le point de départ et d’arrivée, ainsi que les zones d’arrêts.

Trajet

Il s'agit de l’instanciation d’un modèle de trajet. Il dispose d’une date de départ et d’arrivée et d’un nombre de places disponibles.

Zone d’arrêt

Localisation où le conducteur d’un trajet indique qu’il peut s’arrêter pour faire monter un ou plusieurs passagers.

Contrainte de trajet

Ensemble de points géographiques où souhaite passer le conducteur (permet de stocker un trajet personnalisé au lieu du trajet par défaut)

Réservation

Objet qui matérialise le fait qu’un utilisateur (alors nommé passager) a réservé sa place pour un trajet en particulier.

11 of 28

Diagramme de classe

11

12 of 28

Contraintes de validation du domaine

12

Extrait des contraintes

de validation

13 of 28

Démo

13

14 of 28

Organisation du développement

14

15 of 28

Organisation de l’équipe

15

Sprint 2 :

Sprint 3 :

Backend :

  • Benjamin
  • Hakim
  • Amine

Sprint 1 :

Sprint orienté spécifications fonctionnelles :

  • Théo et Thibault : maquettage frontend
  • Benjamin et Hakim : conception du modèle de données et contraintes de validation

Frontend :

  • Théo
  • Thibault

Backend :

  • Benjamin

Frontend :

  • Théo
  • Thibault
  • Amine
  • Hakim

16 of 28

Outil organisationnel

16

17 of 28

Développement de l’application

17

18 of 28

Les technologies employées

18

1er choix technologique (sprint 2) :

2ème choix technologique (sprint 3) :

  • Backend avec Spring Boot
  • Base de données MongoDB
  • Backend avec API Platform
  • Base de données MySQL

+

+

VueJs pour l’interface utilisateur

19 of 28

Architecture globale de l’application

19

20 of 28

Interactions Client / Serveur

20

21 of 28

Focus côté backend (API)

21

22 of 28

Backend : Contraintes de validation et ORM

22

Extrait de l’entité “Modèle de trajet”

23 of 28

Backend : test des contraintes de validation

23

Extrait des tests avec Postman

24 of 28

Backend : documentation de l’API

24

Extrait de la page de documentation de l’API

25 of 28

Résultats obtenus

25

26 of 28

Travaux restants

  • Générer un QR Code lors de la réservation�
  • Une fois le QR Code scanné par le conducteur, il est automatiquement redirigé vers une page de confirmation �
  • Ajout d’une requête pour le sens “Université → Domicile“

26

27 of 28

Améliorations

  • Meilleures gestions des contraintes en front-end�
  • Vue responsive à améliorer, test de l’application en web app

27

28 of 28

Bilan

  • Le changement des technologies a été bénéfique �
  • Test de notre application, en situation réelle

28