CAW1 2019 Projet de Tristan JULIEN et Guillaume GRAVALLON : Différence entre versions

De Ensiwiki
Aller à : navigation, rechercher
(Démonstration)
Ligne 7 : Ligne 7 :
 
  |image=[[Fichier:lebonpiston.png]]
 
  |image=[[Fichier:lebonpiston.png]]
 
}}
 
}}
 +
 +
<span>test</span>
  
 
'''LeBonPiston''' est un site de vente en ligne entre particuliers spécialisé dans la vente de motos.
 
'''LeBonPiston''' est un site de vente en ligne entre particuliers spécialisé dans la vente de motos.

Version du 28 mai 2019 à 21:57

Lebonpiston.png
Titre du projet LeBonPiston
Cadre Projet Web 2AA 2019
Page principale CAW1_Demonstration_Realisation

Équipe Tristan JULIEN, Guillaume GRAVALLON
Encadrants Sébastien Viardot


test

LeBonPiston est un site de vente en ligne entre particuliers spécialisé dans la vente de motos. Les utilisateurs peuvent donc déposer des annonces de vente pour leurs motos avec de nombreux critères spécifiques à ce domaine que les autres sites ne proposent pas.

Elle a été developpée dans le cadre d'un projet de développement d'application web en deuxième année d'apprentissage à l'ENSIMAG, par Tristan JULIEN et Guillaume GRAVALLON.

Présentation du projet

Description

Lebonpiston.png

LeBonPiston est un site de vente en ligne entre particuliers spécialisé dans la vente de motos. Les utilisateurs enregistrés peuvent donc déposer des annonces de vente pour leurs motos avec de nombreux critères spécifiques à ce domaine que les autres sites ne proposent pas. Les annonces sont visibles sous forme de liste, que l'on peut trier en fonction de critères tels que le prix, la marque, ou de nombreux autres critères spécifiques à la moto qui font notre force. Un utilisateur enregistré peut supprimer son annonce quand il le souhaite ainsi qu'accéder à son profil où il retrouvera toutes ses annonces.

Toute ressemblance avec des applications existantes ou ayant existé ne saurait être que fortuite.

Cahier des charges

  • Gestion de la création / connexion de comptes.
  • Gestion d'un rôle d'utilisateur et d'un rôle d'administrateur.
  • Un utilisateur a accès à toutes les fonctionnalités CRUD pour son annonce.
  • Un utilisateur peut accéder aux différentes annonces.
  • Un utilisateur peut filtrer les annonces.
  • Un administrateur peut consulter les annonces en attente de validation.
  • Un administrateur peut valider une annonce.
  • Design responsive.
  • Tests unitaires.
  • Tests e2e.
  • Doc.

Spécifications techniques

Cas d'utilisation

Visiteur:

  • Voir la page des annonces.
  • Filtrer les annonces.
  • Voir le détail d'une annonce.
  • Créer un compte.
  • Se connecter.


Utilisateur:

  • Voir la page des annonces.
  • Filtrer les annonces.
  • Voir le détail d'une annonce.
  • Se déconnecter.
  • Voir son compte.
  • Supprimer son compte.
  • Modifier son compte.
  • Poster une annonce.
  • Voir ses annonces.
  • Modifier ses annonces.
  • Supprimer ses annonces.


Administrateur:

  • Voir la page des annonces.
  • Filtrer les annonces.
  • Voir le détail d'une annonce.
  • Se déconnecter.
  • Voir son compte.
  • Supprimer son compte.
  • Modifier son compte.
  • Voir les annonces en attente de validation.
  • Valider une annonce.
  • Refuser une annonce.


Choix techniques

Modèle de données

Webservice

Gestion des rôles

Architecture

Démonstration

Une vidéo de démonstration de l'application est disponible en cliquant sur ce lien.

On y présente les fonctionnalités élémentaires de l'application LeBonPiston : afficher les annonces existantes, les filtrer selon différents critères, créer un compte, accéder à son profil, déposer une annonce, supprimer son annonce...

Installation

Outils nécessaires

  • Git
  • NodeJS
  • Angular-CLI
  • MongoDB

Initialisation

  • Récupérer le projet avec "git clone https://gitlab.ensimag.fr/gravallg/lebonpiston.git".
  • Se placer dans la racine du projet et lancer "npm install" puis dans le dossier /server lancer également "npm install".
  • Après avoir démarré mongoDB, se placer dans le dossier "/demo" et lancer "mongorestore --db lebonpiston /lebonpiston".
  • Dans le dossier /server lancer "nodemon server.js".
  • A la racine, lancer "ng serve".
  • Le site est accessible à l'adresse "localhost:4200".


Rendu

Ce qui est demandé

  • Utilisation de framework → NodeJS/Express.
  • Gestion des rôles → Oui, un visiteur ne peut pas poster d'annonce, un utilisateur peut poster une annonce et supprimer uniquement les siennes.
  • Site adapté aux différents terminaux → Oui avec Bootstrap.
  • Tests unitaires → Oui, mis en place et un premier fichier de tests.
  • Tests fonctionnels → Oui, mis en place et un premier fichier de tests.
  • WebService externe côté serveur → Non.
  • Optionnel: API REST → Oui.
  • Optionnel: Client Angular ou vue.js → Oui, Angular.
  • Outil: Depot GitLab → Oui.
  • Outil: Integration continue → Oui, lance uniquement les tests unitaires à cause de problèmes de drivers.

Ce qu'il resterait à faire