PROJET-INFO5 Contributions JHipster

From air
Revision as of 16:22, 4 March 2019 by Bastien.Terrier (talk | contribs) (Sprint 3 - Du 12/02/19 au 18/02/19)
Jump to: navigation, search

Projet contribution Jhipster

Notre projet de fin d'étude a pour objectif de contribuer au générateur de code open source JHipster. Cette plateforme de développement permet de générer, développer et déployer une application web Spring Boot + Angular/React et des microservices Spring. Jhipster a une politique orienté vers les developpeurs et met tout en oeuvre pour aider et simplifier le cycle de vie d'une application web.

Logo Jhipster

Le but de notre projet et de proposer des outils et briques de bases aux développeurs pour simplifier et accélerer le développement. De nombreuses contributions sont possibles (une liste non exaustive est disponible ici)...

Le temps de travail alloué à ce projet étant limité, nous allons nous concentrer sur des contributions que nous estimons essentielles :

  • Ajout d'utilitaires sur les bases de données (docker-compose pour les backups periodiques, interface d'admin type phpmyadmin)
  • Ajout d'un composant de paiement Stripe (frontend Angular et React) et d'un client feign vers stripe.com dans le backend Spring (lien)
  • Optimisation des transferts d'images de type ImageBlob (caching client, etag, vignette)
  • Intégration du protocole pub-sub MQTT. Ajout du docker-compose file pour Mosquitto ou RabbitMQ
  • Intégration du protocole pub-sub AMQP.
  • Gestion de quota sur les créations d'entité par rapport aux utilisateurs ou à leur profil/plan.
  • Page Home avec dashboard donnant les métriques sur les instances créées pour chaque entité (nombre d'instance, pourcentage si quota, ...).

L'équipe

  • GROS-DAILLON Hugo : Chef de projet
  • LAFRASSE Cédric : Scrum master
  • COURTIAL Julien : Developpeur
  • TERRIER Bastien : Developpeur

Encadrement : Didier Donsez et Anthony Geourjon

Gestion de projet

Organisation Github : pour l'implémentation et le versionning, nous avons créé une organisation pour regrouper nos différentes contributions

Organisation Docker Hub : pour le build d'image docker nécessaire pour nos contributions

SCRUM

Sprint 1 - Du 29/01/19 au 05/02/19

Journal

Récapitulatif du sprint :

  • Création d'une image docker pour le backup de base de données postgreSQL sur Docker hub :Docker-pg_dump
Date COURTIAL Julien GROS-DAILLON Hugo LAFRASSE Cédric TERRIER Bastien
SPRINT 1
Mardi 29/01/19 Tâches Réflexion sur le sujet, brainstorming, organisation, répartition des rôles Réflexion sur le sujet, brainstorming, organisation, répartition des rôles Réflexion sur le sujet, brainstorming, organisation, répartition des rôles Réflexion sur le sujet, brainstorming, organisation, répartition des rôles
Remarques
  • Développeur
  • Chef de projet
  • Scrum master
  • Développeur
Mercredi 30/01/19 Tâches Recherche sur les images docker pouvant être utiles à la réalisation de la première contribution (backup Base de données) Recherche sur les images docker pouvant être utiles à la réalisation de la première contribution (backup Base de données), explication de la méthode de génération Jhipster aux autres membres du groupe Recherche sur les images docker pouvant être utiles à la réalisation de la première contribution (backup Base de données) Recherche sur les images docker pouvant être utiles à la réalisation de la première contribution (backup Base de données), explication de la méthode de génération Jhipster aux autres membres du groupe
Remarques Nous avons décidé de commencer la première contribution tous ensemble, afin de se former.
Jeudi 31/01/19 Tâches
Remarques
  • Développeur
  • Chef de projet
  • Scrum master
  • Développeur
Vendredi 01/02/19 Tâches Réalisation des premiers test d'images Docker de backup de base de données. Recherche et début de réalisation d'une contribution de traduction automatique d'entité. Réalisation des premiers test d'images Docker de backup de base de données. Après-midi : IAE Création des différentes organisation (GitHub, Docker) et préparation du générateur de backup de base de données. Après-midi : IAE
Remarques
  • Développeur
  • Chef de projet
  • Scrum master
  • Développeur
Lundi 04/02/19 Tâches Réalisation du système de backup pour les bases PostgreSQL et MySQL. Recherche et travail sur la contribution de traduction automatique d'entité. Réalisation du système de backup pour les bases MongoDB et recherche pour d'autres bases de données (Cassandra, MariaDB). Réalisation et test du générateur de base de données pour MySQL.
Remarques
  • Développeur
  • Chef de projet
  • Scrum master
  • Développeur

Sprint 2 - Du 05/02/19 au 11/02/19

Journal

Récapitulatif du sprint précédent:

  • Publication d'un module JHipster sur le Marketplace pour le backup de bases de données : Database Backup
  • Publication d'un module JHipster sur le Marketplace pour l'administration des bases de données : Administration Database
  • Publication d'un module JHipster sur le Marketplace pour la traduction automatique des entités : Translation
  • Publication d'un module JHipster sur le Marketplace pour installer toutes les dépendances nécessaires pour utiliser Angular Material : Angular Material Integration
Date COURTIAL Julien GROS-DAILLON Hugo LAFRASSE Cédric TERRIER Bastien
SPRINT 2
Mardi 05/02/19 Tâches Finalisation de la fonctionnalité de traduction automatique d'entité et tests. Finalisation des pages pour le module d'administration des base de données et tests. Découverte d'un bug sur une image docker utilisé : dépôt d'une issue sur le github correspondant. Finalisation des pages pour le module d'administration des base de données et tests. Finalisation des pages pour le module d'administration des base de données et tests. Réalisation de la documentation pour le module de backup de base de données.
Remarques Publication du premier module : backup de base de données.
Mercredi 06/02/19 Tâches Réalisation de la documentation pour le module de backup de base de données. Correction d'un bug sur le module de backup. Réalisation de la documentation et du module de traduction automatique des entités. Puis publication de ce module. Réalisation d'un module d'installation d'Angular Material dans un projet et publication. Intégration des différentes pages d'administration dans un module et réalisation de la documentation pour le module de backup de base de données.
Remarques Publication de trois nouveaux modules : module de traduction automatique d'entité, module d'administration de base de données et module d'installation d'angular material.
Jeudi 07/02/19 Tâches Débogage du module d'administration des bases de données. Lecture de la documentation sur Stripe. Lecture de la documentation sur Stripe. Début de réalisation de fonctionnalité d'un système de paiement Stripe. Débogage du module d'administration des bases de données. Lecture de la documentation sur Stripe. Début de réalisation de fonctionnalité d'un système de paiement Stripe.
Remarques
Vendredi 08/02/19 Tâches Cours à l'IAE Cours à l'IAE
Remarques
Lundi 11/02/19 Tâches Test et publication de la mise à jour de database backup. Test et update du module translation. Lecture de la documentation sur Stripe. Création d'un nouveau service de paiement nécessaire (lié au module Stripe).


Sprint 3 - Du 12/02/19 au 18/02/19

Journal

Récapitulatif du sprint :

Date COURTIAL Julien GROS-DAILLON Hugo LAFRASSE Cédric TERRIER Bastien
SPRINT 3
Mardi 12/02/19 Tâches Travail sur le module de quota. Travail sur le module de quota. Travail sur le module Stripe. Travail sur le module Stripe.
Remarques
Mercredi 13/02/19 Tâches Finalisation et publication du module de quota. Finalisation et publication du module de quota. Réalisation de la sample application quota. Travail sur le module Stripe. Travail sur le module Stripe.
Remarques Publication d'un nouveau module : module de gestion de quota sur les entités.
Jeudi 14/02/19 Tâches
Remarques
Vendredi 15/02/19 Tâches Cours à l'IAE Cours à l'IAE
Remarques
Lundi 18/02/19 Tâches

Compte rendu réunion 18 Février 2019

Membres : membres de l'équipe contribution UGA (LAFRASSE COURTIAL GROS-DAILLON TERRIER) et Didier DONSEZ

Lieu : FABLAB

Heure : 11h30

Retour sur les générateurs déjà développés :

  • Angular Material integration : manque d'une dépendance maven et d'un lien vers mat-icon
  • Angular Material integration Sample App : possibilité d'ajouter une page reprenant tous les composants angular material
  • Stripe : Ajouter la page front end dans la barre de navigation (il est impossible de trouver la page sans lire la documentation)
  • Quotas : Modification du générateur pour utiliser les entités créées dans la base (count dans les jpa repository)
  • Database : Modifier le code pour le rendre plus maintenable (suppression du switch case)

Remarques pour la suite :

  • Réfléchir sur l'intégration d'un back-end JAVAEE pour les microservices
  • Réfléchir sur la modification du front-end généré par JHipster pour l'utilisation d'Angular Materials