Ecom-pushmyproject
Projet ECOM
Présentation
Description :
Ce site rentre dans le cadre du projet ECOM 2012 de la formation RICM5 à Polytech Grenoble.
Push My Project est un site d'investissements au sein de projets (complet ou participatif).
Le but de notre site d' e-commerce de vente de projets en ligne est de permettre aux entreprises et particuliers d'investir sur des projets pour en tirer les bénéfices(financiers ou intellectuels).
Ceci permettrait un accès plus rapides au bénéfices pécuniaires et intellectuels lorsque une entreprise souhaite investir en R&D, ou qu'un particulier souhaite investir sur le projet d'une tierce personne (physique ou morale).
Membres :
- ELOY Fabien
- LEVEQUE Florian
- VIGIER Sylvain
- DAUVERGNE Leopold
Contacts :
Enseignants
Mail du chef de projet
Mise en place du projet
Tutoriels
L'étape 1 du projet ECOM est l'installation de JBOSS sous Eclipse, pour cela, il suffit d'aller dans l'eclipse marketplace et d'installer JBOSS.
Une fois cela effectué, il faut créer un projet EJB.
Pour installer le serveur d'application JBOSS, nous avons suivi la procédure suivante: http://www.objis.com/formation-java/tutoriel-jboss-7-installation-arborescence-demarrage-arret-standalone-domain.html
Pour nous familiariser avec les EJB nous avons suivi le tutorial suivant: http://theopentutorials.com/examples/java-ee/ejb3/how-to-create-a-simple-ejb3-project-in-eclipse-jboss-7-1/
Nous avons pu ensuite commencer le développement du projet.
SVN
L'adresse SVN de notre repo est ici :
https://imag-forge.e.ujf-grenoble.fr:443/svn/pushmyproject
Veuillez notez que la forge fut inaccessible pendant plusieurs jours (un weekend fin novembre et quelque jours durant le mois de novembre).
Suivi de la méthode SCRUM
Pour suivre l'avancement des tâches de notre projet, nous utilisons TRELLO. L'adresse TRELLO de notre projet ECOM est la suivante : https://trello.com/board/projet-ecom/50619dc0c2157ca37509e110 . Les principales tâches sont disponible sur le TRELLO, certains tâches annexes (généralement petites) ne sont pas identifiées au sein du Scrum Planning mais ont bien étés effectuées lors des divers soirées et nuits passées sur le projet.
ScrumMaster
Nous avons choisi de mettre en place un système de ScrumMaster tournant, pour que chaque membre de l'équipe puisse avoir un meilleur apercu de la gestion de projet au fil du temps.
Le product backlog est disponible ici.
Durée Sprint
La durée d'un sprint a été fixée à deux semaines. Une durée trop courte serait une perte de temps pour l'équipe mais une durée trop longue pourrait retarder l'avancement du projet.
Periode | ScrumMaster |
2 Octobre au 16 Octobre | Fabien Eloy |
16 Octobre au 30 Octobre | Sylvain Vigier |
30 Octobre au 6 Novembre | Vacances |
6 octobre au 13 Novembre | Florian Lévêque |
13 Novembre au 27 Novembre | Léopold Dauvergne |
27 Novembre au 11 Decembre | Fabien Eloy |
Sprint 5 : 27 Novembre au 11 Decembre
Sprint Backlog
- Gestion de la connexion a une session
- Mise en place de Sonar
- Mise en place de Jmeter
Sprint retrospective
- Plus:
- -
- Moins:
- -
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 projet par mot clefs
- Créer un compte utilisateur
- Résolution de divers bugs au niveau de l'IHM
- Adaptation pour les écran à petite résolution
Sprint retrospective
Plus:
- Possibilité de naviguer correctement au sein des projets
- Compréhension correcte de maven
Moins:
- Pas de temps a consacrer au projet
- Beaucoup d'aspects sur lesquels nous aurons aimer passer plus de temps mais n'avons pas pu. Nous devons donc nous concentrer sur l'essentiel
Sprint 3 :30 Octobre au 13 Novembre
Sprint Backlog
Sprint retrospective
- Plus:
- -
- Moins:
- -
Sprint 2 :16 Octobre au 30 Octobre
Sprint Backlog
Sprint retrospective
- Plus:
- -
- Moins:
- -
Sprint 1 : 2 Octobre au 16 Octobre
Sprint Backlog
Choix de Jboss comme plateforme.
Sprint retrospective
- Plus:
- -
- Moins:
- -
Développement du projet
Vu que ce projet a un but d'apprentissage, nous avons essayé de poster différents tutoriels et liens vers les pages qui nous ont aidé à avancer dans le projet. Bien-sur ce n'est pas une liste exhaustive.
Maven
Tutoriaux
Installation de Maven: http://maven-guide-fr.erwan-alliaume.com/maven-guide-fr/site/reference/installation-sect-windows.html
Installation du plugin Eclipse: http://eclipse.org/m2e/download/
Convertir un Eclipse project en Maven Project
Step 1: Installer le plugin m2clipse dans Eclipse
Step 2: Installer Maven (l'installation est très Jboss like) à partir de l'archive suivante http://dl.free.fr/kxE5byRSd
Step 3a: Créer un chemin dans votre path pour pointer sur le /bin de maven. Dans une cmd, la commande mvn --version doit vous retourner quelque chose.
Step 3b: Dans les propriétés maven d'eclipse, faites pointer votre fichier de configuration vers celui du maven local.
Step 4: Faites un checkout du projet, faites un Run As > Mvn clean, Run As > Mvn install. Normalement il va télécharger de nombreuses dépendances. Il est indispensable d'avoir une connexion correcte pour éviter les fichiers corrompus.
Step 5: Enjoy, votre projet devrait marcher, si jamais le client ne veut pas démarrer, ajouter les lignes suivantes (à adapter selon votre configuration) dans votre pom.xml:
<dependency>
<groupId>org.jboss.as</groupId>
<artifactId>jboss-as-ejb-client-bom</artifactId>
<version>7.1.1.Final</version>
<type>pom</type>
</dependency>
<dependency>
<groupId>org.jboss.as</groupId>
<artifactId>jboss-as-jms-client-bom</artifactId>
<version>7.1.1.Final</version>
<type>pom</type>
</dependency>
Mise en place de la base de données
Tutoriaux
Mise en place d'une base de données MySQL/Lien avec les ejb: http://theopentutorials.com/examples/java-ee/ejb3/how-to-create-ejb3-jpa-project-in-eclipse-jboss-as-7-1/
Génération des entity beans à partir de la base de données MySQL: http://www.tuesdaydeveloper.com/2009/11/creating-java-entity-beans-dynamically-from-database/
Solution choisie
Pour implémenter la base de données, nous avons choisi d'utiliser WAMP, qui fournit un serveur mysql ainsi que phpmyadmin pour gérer les bases de données.
Mise en place de la structure du projet
Entities beans
Session beans
Pattern DAO
Deploiement sur Amazon EC2
Voici la page d'accueil d'Amazon.
Tests
Clif tutoriel. Après avoir fait des recherches sur clif, nous avons décidé de ne pas utiliser cet outil du fait de la documentation disponible pour mettre en place des tests, en effet, celle-ci est quasi inexistante et aucune librairie répertoriant tous les tests possibles est disponible.
Nous avons donc utilisé Jmeter qui nous donne des résultats tout à fait satisfaisant. Notamment grâce à ses plugins.
Sonar
Voici un petit tutoriel d'installation de Sonar rédigé par Leopold: http://air.imag.fr/mediawiki/images/8/8f/HowToInstallSonarEcom.pdf
Ensuite, nous avons suivi ce tutoriel pour configurer le plugin Sonar au sein d'Eclipse.