CAW1 2016 Projet de Thibaut BATAL, Jérémy RAKOTOARISOA et Victor VALADIER

De Ensiwiki
Aller à : navigation, rechercher
Project schedule.png
Titre du projet UnicornFlakes
Cadre Ensimag Projet Web 2 Année Alternance

Équipe Jérémy RAKOTOARISOA Thibaut BATAL Victor VALLADIER
Encadrants Sébastien Viardot


Présentation générale

Contexte

Dans le cadre notre deuxième année à l'ENSIMAG en Alternance et du module CAW (Constructions d'Applications Web), nous avons été amené à developper un site Web de e-commerce flexible.

Description du projet

Notre site web est un site de e-commerce flexible.
Les utilisateurs ayant un compte admin peuvent, en se connectant et via une interface simplifiée, ajouter/éditer les produits en vente et les catégories auxquelles ils sont associés.
Les visiteurs peuvent découvrir les produits en vente et s'il le souhaitent s'inscrire pour commander simplement des produits.

Objectifs du projet

Notre site a pour objectif d'offrir à nos utilisateurs une interface simple mais élégante pour vendre divers produits du commerce.

Cahier des charges

Spécification - Cas d'utilisation

UML

Diagramme de classe

Class Diagram1.jpg

Diagramme de cas d'utilisation

Cas Utilisation.jpg

Environnement de développement

Technologies utilisées

  • API :
    • Google Maps Javascript API
  • Front-end :
    • Javascript 1.6
    • Foundation 6
  • Back-end :
    • Play Framework 1.3
  • Tests :
    • Play/JUnit pour les tests unitaires
    • Selenium pour les tests fonctionnels
  • Utilitaires projet :
    • Git pour le versionning du projet
    • Trello pour une gestion de projet simplifiée

Installation

A partir du dossier racine : - Faire "play deps" pour importer le module Secure - Faire "play run" pour démarrer le serveur ; le fichier conf/initial-data.yml qui contient des éléments de base pour présenter le site est automatiquement chargé.

Avancement

Ensiwiki :
90 %

Tests

Fonctionnels

Ajout de commentaires

100 %

Ajout de produits

100 %

Changer de mot de passe

100 %

Connexion/déconnexion

100 %

Edition de catégories

100 %

Envoi de mail pour changer de mot de passe

100 %

Inscription

100 %

Panier

100 %

Selenium

Changer de mot de passe

100 %

Connexion

100 %

Envoi de mail pour changer de mot de passe

100 %

Inscription

100 %

Panier

100 %

Fonctionnalités

Visiteur

Gallerie par catégories avec pagination

100 %

Recherche de produits

100 %

Affichage d'un produit

100 %

Ajout au panier (en cache)

100 %

Modifier le contenu du panier en cache

100 %

Formulaire d'inscription

100 %

Connexion

100 %

Oubli de mot de passe

100 %

Renvoi de mail de confirmation d'inscription

100 %

Formulaire de contact

100 %

Utilisateur inscrit

Ajouter un produit au panier (en base de données)

100 %

Modifier le contenu du panier

100 %

Commander

100 %

Voir les commandes passées

100 %

S'abonner/désabonner de la newsletter

100 %

Modifier mes informations de compte

100 %

Ajouter un commentaire sur un produit

100 %

Administrateur

Connexion en tant qu'administrateur

100 %

Ajout d'un produit

100 %

Suppression d'un produit

100 %

Ajout de catégories

100 %

Modification de catégories

85 %

Partie la plus complexe faite, à savoir changer les catégories parentes tout en vérifiant les contraintes (ne pas former de boucle en assignant une catégorie enfant comme parent de l'un de ses parents, une catégorie ne peut pas etre parent d'elle-meme,...); reste à pouvoir changer le nom des catégories. Suppression de catégories

90 %

Débogage à faire Prise en charge de Paypal

30 %

Investigations sur l'implémentation faites

Screencast

Fichier:Screencast-Batal,Rako,Valladier.mp4

Sources