Lubyb
LUBYB : Let Us Bring Your Bottle
Présentation
Description :
Ce site rentre dans le cadre du projet ECOM 2012 de la formation RICM5 à Polytech Grenoble.
LUBYB (pour "Let us bring your bottle") est un site de e-commerce basé sur la vente de vin en ligne.
Le but de notre site d' e-commerce de vente de vin en ligne est de permettre à l'utilisateur de profiter du droit du bouchon.
Un client peut se rendre sur notre site pour commander des bouteilles de son choix, et de se les faire livrer à domicile ou dans l' un de nos restaurants partenaires.
Cela permettrait notamment aux clients d’avoir un plus vaste choix de vin que celui proposé dans les restaurants non partenaires.
Equipe :
- CLAVELIN Aurélien
- GNATTO Christopher
- HO Minh Quan
- PRAK Soriya
Contacts :
Enseignants
Etudiants
SVN
Vous pouvez accéder au repository de notre projet via la commande Subversion suivante :
svn checkout --username <user_name> https://imag-forge.e.ujf-grenoble.fr:443/svn/lubyb
Ressources
L'ensemble de nos documents ainsi que l'archive de notre projet sont disponibles https://bitbucket.org/Tetram/lubyb/downloads
Methode Agile
Methode Scrum
ScrumMaster
Nous avons choisi de mettre en place un système de ScrumMaster changeant tous les 15 jours, et ce afin de favoriser une meilleure implication de chacun des membres de l'equipe.
Periode | ScrumMaster |
2 Octobre au 16 Octobre | Christopher GNATTO |
16 Octobre au 30 Octobre | Soriya PRAK |
30 Octobre au 6 Novembre | Vacances |
6 octobre au 13 Novembre | Soriya PRAK |
13 Novembre au 27 Novembre | Minh Quan HO |
27 Novembre au 11 Decembre | Aurélien |
11 Decembre au 21 Decembre | christopher GNATTO |
Durée Sprint
La durée d'un sprint a été fixée à deux semaines. La durée courte du sprint permettant des mises au point et feedbacks réguliers.
ScrumBoard
Pour suivre l'avancement des tâches de notre projet, nous utilisons l' outil collaboratif TRELLO.
Vous pouvez suivre notre ScrumBoard à l'adresse suivante : https://trello.com/b/vPwzKBcm
Product Backlog
"Un des outils importants de la méthode Scrum est le « product backlog » qui répertorie l'ensemble des objectifs principaux traduits sous forme de travaux concrets à réaliser." (wikipedia)
Dans le cadre de notre projet, nous pouvons définir quatre acteurs différents :
- Utilisateur en mode invité
- Utilisateur en mode identifié
- Restaurateur (identifié)
- Administrateur
Page d'accueil
- Pour l'ensemble des acteurs:
- Visualiser le catalogue de produits
- Rechercher un produit
- Visualiser les promotions
- Ajouter un produit au panier
- Accéder aux FAQ
- Accéder au règlement
- Accéder à la rubrique contact
- Accéder au processus d'identification
- En tant que client (identifié), je dois pouvoir en plus :
- Accéder à mon compte
- Voir le contenu lié a mon activité récente (ex : dernier produit commandé)
- Accéder à la page de gestion des informations de mon compte
- En tant que restaurateur, je suis un "client" particulier je dois donc pouvoir :
- Accéder à mon compte
- Accéder à l'interface utilisateur dédiée (restaurateur)
- En tant qu'administrateur,
- Accéder à l'interface utilisateur dédiée (admin)
Identification
- En tant que client (invité), je peux:
- Je suis client et j'ai déjà un compte Client : je m'identifie avec mon compte Client
- Je suis client et je n'ai pas de compte : j'ouvre un compte Client
- Je suis restaurateur et j'ai déjà un compte Client : je m'identifie avec mon compte Client
- Je suis restaurateur et je n'ai pas de compte Client : je m'inscris en signalant mon status de restaurateur
- Je suis Admin, je m'identifie avec mon compte Admin
- En tant que client (identifié), je suis déjà identifié
- En tant qu' administrateur, je suis déjà identifié
L'ensemble des acteurs peuvent parcourir le site web :
- Recherche de produit
- Parcours Page d'accueil
- Parcours Page catalogue/Page achat /Page Bon Plan ...
- Ajout d'un/plusieurs article(s) dans le panier
- Accès aux informations légales
Les fonctions suivantes sont également disponibles pour tous les acteurs
- Sauvegarde du panier si déconnexion non souhaitée
- Vue sur l'historique de navigation au sein du site
- Retour en arrière
Achat
- En tant que client (invité), je peux
- (Rechercher des vins)
- Ajouter des vins dans le panier
- Gérer mon panier
- En tant que client (identifié), je peux
- (Rechercher des vins)
- Ajouter des vins dans le panier
- Gérer mon panier
- Finaliser la commande
Commande
Pour passer commande, les acteurs doivent être identifiés, ensuite ils peuvent :
- Renseigner leurs informations (adresse livraison, adresse facturation)
- Renseigner leur moyen de paiement
- Accéder au récapitulatif de la commande
Comptes
- En tant que client (invité), je ne suis pas encore identifié donc pas de compte
- En tant que client (identifié), je peux :
- Changer mon mot de passe
- Changer mes info personnelles (adresse, téléphone etc)
- Consulter mes commandes
- En tant que client (identifié) signalé restaurateur, je peux en plus :
- Ajouter un restaurant partenaire (qui devra être validé par un administrateur du site)
- Consulter mes restaurants partenaires
- Annuler un partenariat
- Consulter mon crédit du mois
- En tant qu'administrateur, je peux:
- Supprimer un compte client
- Valider un restaurant comme partenaire
Panier
- En tant que client (invité), je peux:
- Modifier mon panier (ajouter, modifier, supprimer)
- En tant que client (identifié), je peux
- Modifier mon panier (ajouter, modifier, supprimer)
- En tant qu'administrateur, je n'ai pas de panier
Recherche
- Pour l'ensemble des acteurs:
- Rechercher un vin
- Recherche directe (Référence)
- Recherche par filtre (Région, Année, Prix)
Stock
- En tant qu'administrateur,je peux :
- Modifier le stock des vins
- En tant que client (invité), je n'ai pas d'accès au stock
- En tant que client (identifié), je n'ai pas d'accès au stock
Sprint
Sprint 6 : 11 Novembre au 20 Decembre
Sprint Backlog
- Système
- Déploiement Amazon EC2
- Analyse Sonar du projet
- Tests et Correction du système
- IHM
- Réalisation IHM finale site
- Vérification et tests ergonomie site
- Documentation
- Réalisation du dossier conception système
- Réalisation dossier évaluation IHM et système
- Préparation Soutenance
Sprint Planning
Fin du développement projet
Sprint retrospective
- Plus
- Travail équipe et complémentarité des ressources
- Moins
- Contraintes de temps
- Phases de tests non formalisées
Sprint 5 : 27 Novembre au 11 Decembre
Sprint Backlog
- Réalisation fonctionnalité système( Panier, Authentification,Compte restaurant)
- Élaboration dossier conception IHM
- Réalisation page site web selon IHM concrète
Sprint Planning
- Réalisation Documentation finale
- Phases Tests et Corrections
Sprint retrospective
- Plus
- Moins
- Retard accumulé dans la réalisation système, certaines fonctionnalités ne pourront pas être developpées
- Forge de travail hors service obligé de trouver une solution alternative : [git@bitbucket.org:Tetram/lubyb.git GIT]
Sprint 4 :13 Novembre au 27 Novembre
Sprint Backlog
- Maquettes IHM abstraite : page d’accueil, page de catégories, page de produit, page de panier, page de commande
- Fonctionnalité de recherche de vin fini (recherche par nom, prix, marge de prix, type de vin) sans Hibernate
- Créer un compte utilisateur (soit sous rôle de Admin, soit Client), supprimer l'utilisateur
Sprint Planning
- Authentification de l'utilisateur (login + mot de passe), filtrage de droit d'accès aux ressources, gestion de session
- Panier
- Commandes
- Compte Restaurant
- Implémenter les pages web selon les maquettes IHM faites (JSP, CSS)
- Finir les maquettes IHM et les modèles de tâches
Sprint retrospective
Moins:
- Difficile d'intégrer le Client lourd dans le projet Maven
- Annulation d'idée d'utiliser Hibernate pour la recherche
Sprint 3 :30 Octobre au 13 Novembre
Sprint Backlog
Sprint Planning
Sprint retrospective
- Plus:
- Tâches réparties entre les membres du groupe, tout le monde voit la vue globale du projet
- Moins:
- Organisation + respect des échéances + moindre exploitation de Trello
- Bug Netbean + maven
Sprint 1 : 2 Octobre au 16 Octobre
Sprint Backlog
Sprint Planning
Sprint retrospective
Sprint 2 :16 Octobre au 30 Octobre
Sprint Backlog
Sprint Planning
Sprint retrospective
Carnet de Bord
Mardi 18 Decembre
Mardi 11 Decembre
Partie Documentation
- Réalisation et Validation du dossier de conceptions
- Mise en forme de l'IHM abstraite
- Redéfinition des modèles de tâches ( Réaliser achat et Gestion Compte)
- Choix et validation de la charte graphique
- Début réalisation dossier conception système
- Début réalisation dossier Tests et Montée en charge du système
Partie IHM
- Réalisation version beta du site respectant le charte graphique ( Accueil, Catalogue Vin, Connexion, Création Compte)
Partie Système
- Tests et Validation Panier
- Réalisation Mise a jour automatique des données (MAJ du stock + Maj historique Commande)
Mardi 4 Decembre
Plus:
- Debut d'interface (page d'accueil et liste des produits)
- Mise en place du panier
Moins:
- Mise en place de l'interface : plus long que prévu
- Panier non optimisé
TODO:
- Finir la page d'accueil (et faire le footer)
- Finir la page liste des produit (ajouter filtres de recherche)
- Optimiser le panier
- Essayer de faire tourner un glassfish sur amazon webservice
- Préparer une base de données externe
Mardi 27 Novembre
Plus:
- Maquettes IHM abstraite finies : page d’accueil, page de catégories, page de produit, page de panier, page de commande
- Fonctionnalité de recherche de vin fini (recherche par nom, prix, marge de prix, type de vin)
- Créer un compte utilisateur (soit sous rôle de Admin, soit Client), supprimer l'utilisateur
Moins:
- Difficile d'intégrer le Client lourd dans le projet Maven
- Annulation d'idée d'utiliser Hibernate pour la recherche
TODO:
- Authentification de l'utilisateur (login + mot de passe), filtrage de droit d'accès aux ressources, gestion de session
- Panier
- Commandes
- Compte Restaurant
- Implémenter les pages web selon les maquettes IHM faites (JSP, CSS)
- Finir les maquettes IHM et les modèles de tâches
Mardi 20 Novembre
- Client Lourd opérationnel
Quan : Mise en place du système d'identification selon le type d'acteur
- Ajout d'utilisateur : nom, prénom, login, mot de passe (chiffré)
- Consulter la liste les utilisateurs
- TODO :
- Appel RMI à la méthode GetEncryptedPassword pour crypter le mot de passe avant d'envoyer au serveur
- DeleteUser
- Authentification
Soriya : Réalisation de la fonction de recherche par Filtre(s) Combiné(s)
Aurelien : Evolution des EJB pour la réalisation des catégories/types et des regions du vin
Christopher : Début de la réalisation du dossier de conception IHM
- Etude des modèles de taches et des IHM abstraites
- Réalisation des prototypes d'ihm semi concrète
All : Mise à jour des documents
Plus :
->
->
Moins :
->
->
Mardi 13 Novembre
- Client lourd : Mise en place la structure mais bug opérationnel (Maven)
- Recherche Vin : Recherche par filtre non combiné ( exemple : VIN ou ANNEE , etc)
- Prototype IHM : page d'accueil, catalogue. Accessible sur mockupBuilder
- Aspect sécurité (authenfication, authorization) : auto-formation
Mardi 23 octobre
- Montrer la fonctionnalité AddVin, SearchVin et DeleteVin en mode JMS
- Choix de méthode Session Bean sans JMS
- Justification : JMS est utilisé dans le contexte serveur asynchrone où il y a beaucoup de requêtes à traiter en même temps.
Dans le cadre du projet ECOM, on se restreint à utiliser Servlet pour modifier directement des EntityBean sans passer par JMS
- Remplir product backlog
Mardi 16 octobre
- Changement du serveur d'application : Migration de Jonas vers GlassFish
Décision prise à la suite des difficultés rencontrées pour la configuration de Jonas au sein de l'IDE eclipse
- Réalisation des tutoriaux sur la mise en route de l'EJB.
Mardi 9 octobre
- Analyse des résultats du questionnaire
- Fin rédaction cahier des charges
- Relecture du cahier des charges
- Début réalisation prototype EJB
Vendredi 5 octobre
- Envoi du questionnaire lien
- Rédaction du cahier des charges 4/8
Mardi 2 octobre
- Formation Java J2E
- Mise en place de la forge
- Mise en place de JOnAS
- Validation du Logo et de la charte graphique
Mardi 25 Septembre
- Choix du sujet
- Répartition des rôles
- Création et début de la rédaction du cahier des charges 1/8
- Conception d'un sondage 1/3
- Prototypage de la charte graphique