ECOM-1FO 1819 Camping

<<<< Retour vers la page ECOM 2018-2019

Le projet ECOM consiste en la conception logistique et au développement d'une application de e-commerce.

=Le projet en quelques mots=

L’objectif de notre projet est de mettre en place un service de recherche, réservation et mise en location d'emplacement de camping de particulier à particulier. Nous avons 12 semaines (7h par semaine) pour réaliser ce projet, de la conception au développement en suivant la méthodologie Scrum.

=L'équipe et leurs rôles=


 * Timothee Depriester : Chef de projet (+ Devops, Backend, Code review)
 * Sekina Belguendouz : Scrum Master (+ Frontend)
 * Florian Cuzin : Développeur (+ Backend)
 * Servan Charlot : Lead Développeur (+ Backend, Code review, git)
 * Samuel Bamba : Développeur (+ Frontend)

=Gestion de projet=

Choix des outils :


 * Gitlab : pour le dépôt, pour la documentation, l'intégration en continu
 * Trello : pour la répartition et la gestion des tâches hors code
 * Drive : pour le partage de documentation de conception

=SCRUM=

But
Implémentation des scénarios 1 et 2. (V1.0 - Fonctionnalités locataire, recherche, réservation et transaction)

Taches effectuées

 * Découverte du projet et mise en place des rôles au sein de l’équipe.
 * Détermination des dates clés du projet et établissement de la longueur des sprints: 3 semaines.
 * Identification des besoins client.
 * Réalisation de documents de conception.
 * Diagramme de contexte.
 * Liste des fonctionnalité.
 * Méthode de taches des scénario 1 et 2.
 * IHM abstraite des scénario 1 et 2.
 * Maquette (à la main).
 * Choix et découverte des technologies (Lecture des docs, ...).
 * Génération du projet JHipster.
 * Mise en place de la BDD et du développement continu.
 * Codage des templates des différentes page, selon la maquette, pour le frontend

Audit 1: 09/10
Ce qui est ressorti de l'audit 1 est que notre planning prévisionnel est trop audacieux et que l'on va sûrement pas être capable de le respecter. Ce dernier souhaitant que les scénarios 1 et 2 soient implémentés d'ici la fin de ce premier sprint.

Bilan
Nous avons effectivement manqué de temps pour réaliser le but de ce sprint. Nous avons passez du temps à rédiger les documents de conception et la mise en place de la base de donnée et du déploiement a pris plus temps que prévu à cause de bugs.

Remarque
V1.0 - Base de donnée et template du frontend fonctionnels

Audit 2: 06/11
Ce qui est ressorti de l'audit 2 est que notre planning prévisionnel est trop audacieux et que l'on va sûrement pas être capable de le respecter. Ce dernier souhaitant que les scénarios 1 et 2 soient implémentés d'ici la fin de ce premier sprint.

But
Implémentation des scénarios 1 et 2. (V2.0 - Ajout des fonctionnalités locataire : recherche, réservation et profil utilisateur)

Taches effectuées

 * Mise en ligne du site
 * Codage des templates des différentes page, selon la maquette, pour le frontend (accommodation, payement)
 * Mise en place de la BDD et du développement continu.
 * Travail sur l’api coté backend, création de nouvelle fonction pour filtrer le catalogue
 * Sécurisation du serveur
 * Sécurisation du token JWT
 * Ajout du mail
 * Requête API reliant frontend et backend

Bilan
Nous avons encore surestimer nos capacités. Malgré notre succès avec les requêtes à l'API. Le backend a rencontré un problème avec la création de le fonction de filtre. En attendant, on a pu avancer sur le frontend et sur d'autre fonctionnalités supplémentaires.

But
Implémentation des scénarios 1 et 2. (V2.0 - Ajout des fonctionnalités locataire : recherche, réservation et profil utilisateur)

Taches effectuées

 * Ajout du mail
 * Travail sur l’api coté backend, création de nouvelle fonction pour filtrer le catalogue
 * Codage des templates des différentes page, selon la maquette, pour le frontend (accommodation, payement)
 * Révisions des différentes page pour qu'elle puisse faire appel à la BDD. Lien frontend-backend
 * Réalisation du SRS
 * Réalisation de la présentation
 * Modification de la base de donnée (ajout d’une colonne)
 * Sécurisation accrue de l’application
 * Correction d’un bug prévenant la mise en production et l’envoi de mail

Bilan
Nous n'avons pas pu implémenter les scénarios voulus néanmoins nous en somme très proche. Il suffirait de réaliser quelques fonctions pour l'API en backend et de les adapter au frontend:
 * Nous avons besoin d'une fonction qui récupère le user avec un username.
 * Nous avons besoin de faire une page profile pour les utilisateurs et de passer les requêtes a l'API pour réserver un camping.
 * Mais surtout il nous faut implémenter la possibilité de payer en CB ou par Paypal.

Remarque
V1.1 - Implémentation du scénario 1

= Livrables =

Profil utilisateur

 * Homme
 * Majeur (Fiancé)
 * Habite à Marseille (Français)
 * Moyens limités
 * Beaucoup de places requises
 * A l'aise avec internet

Storie
En tant que Paul (Utilisateur), je veux pouvoir afficher le catalogue complet afin de rechercher une location.

En tant que Paul (Utilisateur), je veux pouvoir rechercher un emplacement par période et par localisation afin d'affiner ma recherche.

En tant que Paul (Utilisateur), je veux pouvoir sélectionner une annonce afin de voir les détails de la location.

Fonctionnalités

 * Indiquer une période (filtre du catalogue)
 * Cibler une région (filtre du catalogue)
 * Données inter-camping par région (espaces disponibles)
 * Indiques les détails des emplacements (Nombre de place, localisation, points d’intérêts à proximité ou sur l'emplacement)

Profil utilisateur

 * Retraités
 * Pas de contrainte de temps
 * Aime aller chez l'habitant
 * Française
 * Paye en CB

Storie
En tant que Janine et Hervé (Utilisateurs), je veux pouvoir préciser un type de location et des options de confort afin d'affiner ma recherche.

En tant que Janine et Hervé (Utilisateurs), je veux pouvoir choisir un moyen de payement afin d'effectuer le payement.

En tant que Janine et Hervé (Utilisateurs), je veux pouvoir choisir un format de facturation afin de récupérer ma facture.

En tant que Janine et Hervé (Utilisateurs), je veux pouvoir consulter la disponibilité d'un logement afin de sélectionner une plage de réservation.

Fonctionnalités

 * Cibler une commodité (place pour camping car) et afficher les resultats sans dates ni lieu.
 * Lister les services additionnels. (Piscine, machine a laver, manger avec des hotes)
 * Avoir une descirption sur les offres.
 * Indiquer la disponibilité de l'espace choisi sur le calendrier.
 * Indiquer une reduction par date.
 * Pop-up de promotion pour des nuits consecutives.
 * Mode de paiement en fonction de la somme (Paypal, CB).
 * Facture envoyée par email ou téléchargeable en pdf.

Profil utilisateur
Même profil que précédemment.

Storie
En tant que Janine et Hervé (Utilisateurs), je veux pouvoir retrouver mes réservation avec un petite description et une possibilité de réimpression de la facture.

En tant que Janine et Hervé (Utilisateurs), je veux pouvoir y trouver le mail du propriétaire.

Fonctionnalités

 * Session
 * Consulter les dernières réservations (page profil)
 * Par réservation : Description + télécharger la facture + Contact.

Profil utilisateur

 * Homme
 * Père
 * Propriétaire foncier

Storie
En tant que Claude (Utilisateurs), je veux pouvoir mettre mon camping a disposition et remplissant un formulaire sur le site.

En tant que Claude (Utilisateurs), je veux pouvoir modifier les informations de mon camping dans le futur.

En tant que Claude (Utilisateurs), je veux pouvoir recevoir par email un récapitulatif de mon enregistrement via pdf.

Fonctionnalités

 * Ajouter un camping a la base de donnée (via formulaire)
 * Différencier les utilisateur (client et propriétaire)

SRS
SRS

Journal
Journal de l'équipe

Dépôt Git
Lien vers les dépôts de l'organisation

Application en ligne
website

API OpenAPI

Evaluation qualité du projet

 * Rapports SonarQube

Rapports

Evaluation économique du projet
Nous avons consacré l'équivalent de 450 heures/homme pour ce projet.

Si un freelanceur payé 350€ par jour avait développé l'application, celle-ci vaudrait approximativement 22.500€.

Slides des Audits

 * [[Media:ECOM-1FO_1819_MC_Audit1.pdf]]


 * [[Media:ECOM-1FO_1819_MC_Audit2.pdf]]


 * [[Media:ECOM-1FO_1819_MC_Audit3.pdf]] (Slides)

Auto-évaluation

 * [[Media:ECOM-1FO_1819_PROJETmyCAMPING.pdf]]

Personal information
Here is a list of the information we collect about you:
 * First Name
 * Last Name
 * Mail address
 * Phone number

Here is a list of the information we collect if you submit a campsite:
 * Camping name (if any)
 * Location
 * Type of campsite
 * Campiste number (if any)
 * Campsite surface
 * Campsite utilities
 * Campsite rent price
 * Campsite description

How we collect information
We collect information through forms on the website.

How we use your information
We use your first and last name to identidy you on the website. We use you mail adress to send you the invoice when you rent a campsite or when you need to reset your password.

If you create a campsite offer, those information can be used by the people renting it to contact you.

The information relative to your campiste are visible on the website to help clients decide where they want to go.

When we share your information
We don't share your information with any partner.

How we store your information
We store your information in a secured database on our server.

We keep the information forever.

About
Contact: mycamping2018@google.com