ECOM RICM5 Groupe2 2014

From air
Jump to navigation Jump to search

Cette page wiki est la fiche de suivi du projet d’e-commerce du groupe 2 de la promotion RICM5 de 2014-2015. Le projet ECOM consiste à concevoir et réaliser une application de commerce électronique. Elle est constituée de deux parties : la partie IHM et la partie Système. Elles seront toutes deux traitées en parallèle et ferons l’objet de soutenances séparées.


L'équipe

  • Chef de projet : CLERC Arthur
  • Scrum Master : FALL El Hadji Malick
  • Responsable utilisabilité : FREBY Rodolphe
  • Responsable graphique : FALL El Hadji Malick
  • Responsable développement : GINOUX Pierre-Henri
  • Développeurs : toute l'équipe

Documents associés

Motivations

Le but de ce site de ecommerce sera de générer des profits (peu élevés dans un premier temps) et de permettre aux gens de partager leur savoir-faire dans le domaine de la couture, fabrications d’objets tels que des bracelets, des colliers. C’est un site qui pourra convenir autant aux particuliers qu’aux professionnels. Le premier objectif va être de faire connaître le site un maximum, car plus nous aurons d’utilisateurs plus nos bénéfices vont être élevés. Toutefois comme nous proposons des objets de faible valeur, la marge est très basse, c’est pour cela qu’il nous faut beaucoup d’utilisateurs. Une fois que le site aura une base d’utilisateur assez conséquente et fidélisée, nous allons attirer les professionnels, qui eux auront une période d’essai de deux mois gratuit. S’ils veulent continuer, il leur faudra payer un abonnement dont le montant ne sera pas élevé.

Utilisateurs cibles

Les accessoires sont des objets qui peuvent plaire à tous les âges, par contre il faut diviser en deux catégories les personnes allant sur le site : celles qui disposent d'une carte bleue et celles qui n’en ont pas. En effet les utilisateurs ayant moins de 18 ans ne peuvent pas payer par leurs propres moyens. Nous ciblons donc tous les personnes entre 7 et 77 ans qui pourraient être intéressées par des accessoires, féminin comme masculin. Ce qui nous fait un public assez large. Du côté des utilisateurs pouvant offrir leurs services, nous ciblons entre 20 et 60 ans.

Etude de la concurrence

La concurrence peut être évaluée à deux niveaux :

* Concurrence directe : Elle concerne l’ensemble des sites qui proposent à la fois toutes les fonctionnalités (achat de particulier à particulier) ainsi que les mêmes types de produit que nous. Après une recherche approfondie, nous avons pu constater que le concept que nous proposons est inédit. Il existe toutefois des sites tels que http://www.alittlemarket.com/boutique/passion_artisanale-198804.html qui proposent la vente de produits “fait-main” mais par une unique personne. D’autres comme http://www.artisanat-dart.com/ mettent en avant un plus large panel de produits (maroquinerie, sculpture, vitrail). Mais ces deux types de sites sont orientés dans la vente directe contrairement à nous qui suggérons la mise en relation (du type leboncoin). Néanmoins, il existe un concurrent assez proche : le site de Mamy Factory (http://www.mamyfactory.com/fr/content/8-Nos-mamies-tricoteuses).

Mamy factory est une marque de vêtements pour bébés et enfants de 0 à 6 ans dont la collection est principalement composée de vêtements et accessoires tricotés par des grands-mères françaises : une mode à la fois chic et authentique basée essentiellement sur des matières nobles et naturelles, travaillées à la main. Ce site propose une page regroupant l’ensemble des artisans avec la description de leur profil. Les catégories de produits sont bien déclinées, néanmoins la visibilité du panier est assez réduite problème de feedback au moment de l’ajout et difficulté d’identification de l’accès). De plus, le site semble conçu uniquement pour une interaction avec un pointeur (souris). Ce site ne vise pas le même type de public que nous.

* Concurrence indirecte (large) : A ce niveau, nos concurrents sont représentés par l’ensemble des sites qui proposent la mise en relation de particuliers. A titre d’exemple, nous pouvons citer http://www.leboncoin.fr/ (particulier à particulier en main propre) ou http://www.priceminister.com/ (vente de particulier à particulier) . Ces sites proposent des recherches suivant des critères bien définis (catégories, mot-clés, vendeurs) et fonctionnent suivant un mode d’annonces et intégrent parfois une catégorisation des cibles (offre pour lycéens, étudiants dans le cas de PriceMinister). Ce même modèle peut être reproduit dans notre cas.

Plateformes

  • Navigateur internet (Chrome, Firefox, Internet Explorer)
  • Tablettes (Android, Windows, IOS)


Fonctionnalités

Voici les fonctionnalités qui seront proposées dans notre site ecommerce :

  • Visite du site en tant que utilisateur non enregistré.
  • Un mois offert pour les vendeurs professionnels avant l'abonnement
  • Inscription en tant que membre.
  • Site en français et en anglais (les vendeurs se situent en France)
  • Mail de confirmation à l’inscription
  • Prise de contact avec le vendeur.
  • Achat d’accessoires.
  • Vente d’accessoires.
  • Map avec les vendeurs les plus proches.
  • Confirmation des différentes étapes de la commande (paiement reçu, commande reçu)


Partie Système

Partie base de données

Ecom2014g2bdd.jpg

Shell Client

Un shell client est disponible afin de pouvoir travailler avec la base de données à distance. Le shell accède aux travers d'interfaces RMI au serveur afin d'effectuer les opérations. Par défaut, deux modes sont disponibles :

  • Mode admin : permet d'effectuer des actions dans la base
  • Mode utilisateur : permet d'afficher le contenu de la base

Une commande help permet de lister la totalité des possibilités de chaque mode.

Il est possible de passer du mode admin au mode utilisateur, et inversement.

Mode admin

Ce mode permet l'ajout, la modification ou la suppression de ressources dans la base de données. Il est possible de créer des utilisateurs, des entreprises, des produits, des adresses. Il est également possible de remplir automatiquement la base de données avec des générations aléatoires de comptes, produits, ...

Mode utilisateur

Ce mode ne permet que de regarder le contenu de la base de données.

Généralités sur le serveur et la gestion des comptes

Le serveur a été déployé sur une instance Ubuntu d'Amazon EC2. La totalité du site utilise HTTPS sur le port 8181. Tout compte créé génère l'envoi d'un mail de validation au travers du serveur de mail James. Un lien d'activation est fourni afin de rendre le compte utilisable. Le serveur comprend également des EJB timer. Ils ont pour fonction de vérifier l'état des abonnements des entreprises. A 1 jour de la fin de l'abonnement, un mail est envoyé à l'entreprise afin de lui signaler que les services seront bientôt terminés, et qu'ils doivent souscrire à un nouvel abonnement pour profiter pleinement des fonctionnalités. Un autre timer vérifie que les entreprises sont en règle quand aux abonnements, et retirera de la vente tous les produits encore en vente d'une entreprise n'ayant pas d'abonnement valide.

Ces deux vérifications sont effectuées de manière journalière à 17 heures.

Métrique

Le nombre de lignes de codes est disponible dans le tableau ci-dessous :

    100 files
    190 text files.

classified 189 files Duplicate file check 189 files (128 known unique) Unique: 100 files

    131 unique files.                              

Counting: 100

     62 files ignored.

http://cloc.sourceforge.net v 1.62 T=5.52 s (17.4 files/s, 4505.1 lines/s)


Language files blank comment code


CSS 1 0 55 6215 Java 37 919 85 3556 Javascript 30 196 95 3222 Maven 4 23 0 329 HTML 1 19 12 135 XML 11 6 0 121 DOS Batch 3 0 0 52 Bourne Shell 4 2 1 41 Visualforce Component 3 0 0 37 SQL 1 0 0 7


SUM: 96 1857 1284 21729


Gestion du travail

Méthodologie SCRUM

Une des exigences de ce projet était de suivre la méthodologie de gestion de projet agile Scrum. Pour le rôle de Scrum Master, nous avons choisi Malick. Garant de l'application du processus Scrum, il doit aussi superviser le travail de l'équipe tout en les aidant à avancer de façon autonome et à s'améliorer constamment. Nous avons choisi de faire varier la durée des sprints de un à deux semaines suivant la difficulté des activités à réaliser. Pour déterminer cette difficulté, nous faisions usage de "Planning Poker" où chaque membre déclinait son estimation. Pour mieux comprendre et mettre en place la méthode Scrum, nous nous sommes servis de l'application web ScrumDesk http://www.scrumdesk.com/ qui nous a permis à l'appliquer de façon plus personnalisée.

ScrumDesk.png

Déroulement du projet

Sprint 1 : 16/09/2014 - 22/09/2014

  • Etat de l'art sur les sites existants
  • Ciblage du marché
  • Identification des besoins utilisateur
  • Mise en place du sondage
  • Réalisation de l'arbre des tâches
  • Définition d'une architecture générale

Sprint 2 : 23/09/2014 - 06/10/2014

  • Design des maquettes du site
  • Mise en place de la maquette HTML/CSS
  • Prise en main des technologies J2EE
  • Mise en place de Maven
  • Choix et mise en place de la base de donnée

Sprint 3 : 07/10/2014 - 20/10/2014

  • Implémentation système
  • Mise en place de la base de donnée
  • Mise en place des Beans
  • Ajustements IHM

Sprint 4 : 21/10/2014 - 3/11/2014

  • Rédaction de la charte graphique
  • Etude de technologies pour le front-end
  • Implémentation des classes Java Entity pour la base de donnée
  • Mise en place de Roboconf

Sprint 5 : 04/11/2014 - 17/11/2014

  • Mise en place du front-end avec différentes vues dynamiques grâce à ng-boilerplate
  • EJB
  • Déploiement avec script
  • Développement client-lourd

Sprint 6 : 18/11/2014 - 02/12/2014

  • Implémentation des différentes vues (page accueil, login, produits, ...)
  • Mise en place de services Rest
  • Ajouts de fonctions système pour le front-end

Sprint 7 : 02/12/2014 - 16/12/2014

  • Mise en place du login et espace user
  • Intégration du serveur de mail
  • Mise en place de l'ajout/suppression de produits
  • Intégration d'un module de paiement
  • Rédaction de documentation