CAW1 2015 Projet de Alexia Arnaud et Darya Brazouskaya et Thomas Rovayaz

De Ensiwiki
Aller à : navigation, rechercher
Project schedule.png
Titre du projet TravelFindora
Cadre Ensimag Projet Web 2A Alternant

Équipe Alexia Arnaud Darya Brazouskaya Thomas Rovayaz
Encadrants Sébastien Viardot


Présentation générale

Contexte

Dans le cadre de notre deuxième année à l'ENSIMAG, nous suivons un cours de Construction d'Applications Web. Ce cours aboutit à un projet de développement d'un site internet en trinôme. Bien que de thématique libre, la réalisation de ce site est guidée par un certain nombre de contraintes techniques imposées, détaillées dans le cahier des charges.

Description du projet

TravelFindora est une application web permettant de regrouper les expériences de voyage de différentes personnes tout autour du monde. L'utilisateur membre du site peut consulter les voyages, photos, vidéos et commentaires des autres membres. Il peut également poster les siens.

Premiers prototypes du site :

Prototype de la map de recherche
Prototype de la page d'un Findora

Objectifs du projet

Différents objectifs ont émergé au cours de la conception du site :

  • Utilisation facile et intuitive
  • Convivialité de la plateforme mise en avant
  • Création d'une communauté d'entraide
  • Design jeune et attractif

Cahier des charges

Le projet devra comporter les éléments suivants :

  • Utilisation d'un framework : nous utiliserons Play Framework[1]
  • Gestion des rôles avec des utilisateurs différents ayant des droits et des rôles différenciés : visiteurs, membres, administrateurs.
  • Utilisation d'un webservice permettant la suggestion de Findoras lors de la recherche.
  • Site adapté à plusieurs terminaux dont une version mobile - Nous utiliserons le framework CSS Materialize.
  • Mise en place de jeux de tests unitaires : pour tester la partie modèle et contrôleur.
  • Optionnel : abonnement rss et liens avec les réseaux sociaux

Spécification - Cas d'utilisation

UML

Diagramme UML des cas d'utilisation

Visiteurs

Consulter la page d'accueil

Description :
La page d'accueil du site est une page de présentation. Elle comporte également un lien vers la page d'inscription. On peut revenir à cette page à tout moment en cliquant sur le bouton Board

Consulter la map des Findora

Description :
L'utilisateur clique sur le bouton Explore et se retrouve face à une map (Google Maps) sur laquelle sont "étiquetés" les différents Findoras. Les Findoras sont les différentes villes présentes sur la map où l'on peut trouver : voyages, photos, vidéos, histoires et commentaires propres à cette ville. L'utilisateur peut alors chercher la destination qui l'intéresse via un moteur de recherche afin de trouver les TravelContent correspondants.
Il est à noter que via la map, l'utilisateur peut également cliquer sur les avatars des personnes ayant posté des Travel et accéder ainsi directement à ces derniers.

S’inscrire

Pré-condition:

  • non connecté

Description:
L’utilisateur non connecté se retrouve sur une page avec un formulaire, il doit remplir des champs obligatoires :

  • First name –> alphanumérique, max 30 char
  • Last name –> alphanumérique, max 30 char
  • Email –> valide max 30 char
  • Password –> alphanumérique, max 30 char

Post-condition:
Si l'inscription est validée, on redirige l'utilisateur vers la page d'accueil, l'utilisateur étant déjà connecté.

Se connecter

Pré-condition:

  • avoir un compte

Description:
L’utilisateur non connecté se retrouve sur une page avec un formulaire, il doit remplir 2 champs obligatoires :

  • Email
  • Password

Post-condition:
Si la connexion est validée, l'utilisateur est redirigé vers la page d'accueil.

Membres

Pré-condition:

  • être connecté à son compte

Se désinscrire

Description:
L’utilisateur se retrouve sur une page avec un formulaire, il doit remplir 2 champs obligatoires :

  • Email
  • Password

Post-condition:
Si la désinscription est validée, l'utilisateur est redirigé vers la page d'accueil.

Ajouter/supprimer un TravelContent

Voyage

Description:
L'utilisateur peut ajouter un Travel, pour cela il clique sur la croix en bas à droite Share your travel puis sur la petite épingle. Cela ouvre un champ de recherche dans lequel l'utilisateur doit taper le nom du Findora (ie de la ville) à laquelle sera rattachée son voyage. Une fois le Findora sélectionné,l'utilisateur a accès à un menu déroulant à partir de l'icône de crayon en bas à droite de la page. A partir de ce menu il peut choisir d'ajouter : une Story (histoire), une Video, une Image (photo), une TravelPlace (lieu) ou un linkage de Findora (rattachement à un voyage).
Important : Jquery_ui (utilisé pour l'auto complétion de l'input de linkage de findora) bloque l'affichage des tooltips de materialize.

Admins

La partie administration est réalisée grâce au module CRUD[2] de Play Framework. Voici la liste exhaustive des cas d'utilisations pour cette partie :

  • Un admin possède tous les droits d'un membre
  • Un admin peut faire les mêmes actions qu'un membre
  • Un admin peut ajouter ou supprimer :
    • un membre
    • un commentaire
    • un TravelContent
    • un Findora

Environnement de développement

Technologies utilisées

  • Java
    • Play Framework
  • BDD
    • SQL en PROD
  • Workflow
    • Git pour le versionning
    • Github (issues + pull requests)

Installation

  • Récupérer le contenu de l'archive envoyée par mail
  • Changer l'utilisateur et le mot de passe de MySQL dans TravelFindora/TravelFindoraProject/conf/application.conf aux lignes 91 et 92 du fichier.
  • Lancer MySQL et créer la base de données nécessaire au bon fonctionnement du site :
   CREATE DATABASE TravelFindora;
  • Lancer play et penser à lancer les commandes suivantes:
  play dependencies
  play run

Screencast

[3]

Sources

[4]