ECOM 1F0 2018-19 BTB Zoran CHANET

Présentation
CHANET Zoran, Back-end, lead developer

Projet : Brûle ta bûche !

Journal de bord
= Semaine du 25 - Sprint 1 =
 * Assignation des rôles
 * Choix des technologies utilisées pour le projet (Slack, Trello, Google Drive, GitLab, draw.io)
 * Apprentissage des méthodes de modèle des tâches, IHM abstraite, IHM concrète
 * Création du Trello
 * Création et configuration du serveur Slack
 * Création du lien Trello-Slack (bot Trello dans le serveur Slack)
 * Création du lien GitLab-Slack (notifications GitLab dans le serveur Slack)
 * Participation à la définition de l'arbre des tâches
 * Participation à la définition de l'IHM abstraite

= Semaine du 2 =
 * Recherches concernant le fonctionnement et l'utilisation de JHipster, principalement son lien avec la génération, la modification et l'utilisation des bases de données
 * Ajout d'un résumé des recherche sur la page air globale, création à cet effet de l'espace "Technologies"
 * Recherches concernant le filtrage des champ des entités par JPA
 * Participation à la réalisation du diaporama pour la soutenance du 09 Octobre

= Semaine du 9 =
 * Soutenance professeurs + clients
 * Production et ajout à la fiche JHipster d'un tutoriel d'installation basique par npm
 * Production et ajout à la page AIR d'un tutoriel d'installation Maven
 * Installation des technologies
 * Harmonisation des versions installées au sein de l'équipe

= Semaine du 16 =
 * Génération de l'application monolithique avec JHipster app
 * Choix des technologies utilisées pour la génération
 * Test local de l'application serveur
 * Test local de l'application client
 * Pull request de l'application sur le repository GitLab
 * Réflexion autour des entités nécessaires à la base de données

= Semaine du 23 =
 * Nouvelle génération du projet JHipster
 * Retour à la version par défaut (générée par Jipster) du .gitignore
 * Annulation du choix de JHipster Registry (d'autres groupes ont rapporté des erreurs liées lors du déploiement)
 * Conception de la base de données

= Semaine du 30 - Interruptions pédagogiques =
 * Recherches sur le déploiement

= Semaine du 6 =
 * Tentative de déploiement de la base
 * Installation de Docker CE
 * Installation de Docker Compose
 * Production du tutoriel d'installation
 * Tentative ( échouée ) de création de l'image docker

= Semaine du 12 =
 * Poursuite de la tentative de déploiement
 * Réussite du déploiement de l'image Docker
 * Utilisation du stage release dans le fichier .gitlab-ci.yml
 * Depuis la branche devCI (base de données non intégrée)
 * Hébergement dans le registry GitLab
 * Production d'un tutoriel d'installation des programmes requis (Docker CE, Docker compose) et de déploiement

= Semaine du 20 - Sprint 2 =
 * Tentative de déploiement d'une image depuis la branche Integration_JDL (base de données intégrée)
 * De nombreux échecs
 * De nombreux patchs "à la main" (prise en compte des changelogs liquibase dans le master.xml, ajout des entités dans CacheConfiguration.java...)

= Semaine du 27 =
 * Poursuite de la tentative de déploiement
 * Mise à jour du modèle de données
 * Village devient Commune
 * De nombreuses suppressions "à la main" pour faire disparaître l'entité indésirable
 * Réussite partielle du déploiement
 * Certaines entités apparaîssent
 * Certaines entités n'apparaîssent pas
 * Réussite totale du déploiement
 * Toutes les entités apparaîssent
 * Le lien front-end - back-end est enfin completé
 * Merge des branches nécessaires

= Semaine du 4 =
 * Conjointement avec Najwa, définition de l'API selon les demandes du front-end
 * Réalisation des requêtes nécessaires pour le scénario 1
 * Test desdites requêtes
 * Merge du front-end et du backend en vue du déploiement

= Semaine du 11 =
 * Conjointement avec Enzo, mise en place des appels à l'API par le front-end
 * Remplacement des appels à la BD mockée par de vrai appels
 * Création si nécessaire des arguments pour requêtes GET
 * Dans le même but, ajustement du backend
 * Correction du mapping entité vers DTO pour correspondre aux attentes du front-end
 * Participation à la préparation de l'audit final
 * Remplissage de la base de données en ligne