GithubHelp home page GithubHelp logo

obyka / teaching-heigvd-amt-2019-project-one Goto Github PK

View Code? Open in Web Editor NEW

This project forked from softeng-heigvd/teaching-heigvd-amt-2019-project-one

0.0 1.0 0.0 51.76 MB

First project for AMT 2019

License: MIT License

Java 24.89% Dockerfile 0.18% Shell 0.09% TSQL 0.32% CSS 45.58% JavaScript 2.28% HTML 26.49% Python 0.18%

teaching-heigvd-amt-2019-project-one's Introduction

Projet 1 d'AMT

Contexte

Pour le projet 1 du cours d'AMT, nous avons conceptualisé et développé un site web avec Java EE permettant de manipuler des entités (Séries, Spectateurs, Profils de visionnage) afin d'appliquer les techniques et pattern enseignés durant les cours.

Déploiement de l'architecture

Voici les instructions pour déployer le projet à l'aide de `docker-compose

  • Cloner le repo
  • Lancer start.sh /!\ Stoppera l'infrastructure de test, si cette dernière est démarrée

Après un certain temps (autour d'une minute dû à la création d'un million d'entités dans la DB), le projet est prêt à être utiliser et trois containters ont été déployés, examinons-les ensemble.

payara: serveur d'application

Nous déployons notre application (automatiquement) dans ce container.

  • L'application se trouve à l'adresse localhost:8080/AMT-project-one
  • La console d'administration se trouve à l'adresse localhost:4848 avec la paire de creds admin:admin

db: serveur MySQL

Au démarrage, le script create.sql va être placé dans le répértoire /docker-entrypoint-initdb.d de l'image MySQL et va donc être lancé par le container. Ainsi, le schéma de notre database est créé, et les données insérées.

Le sous-dossier volumeSQL est mappé au répértoire /docker-entrypoint-initdb.d Les paramètres --max-allowed-packet=50M --secure-file-priv=/docker-entrypoint-initdb.d sont exécutées par le docker-compose.yml et servent respectivement à augmenter la taille maximum des fichiers lisibles par MySQL, et à exécuter la requête LOAD INFILE deouis le volume mappé.

Le mot-de-passe de l'utilisateur root est amt_project_1_pwd

adminer: interface de gestion de la base de données

Au port 9090, il est possible d'accéder à une instance d'adminer permettant de gérer la base de données sus-mentionnée.

Utilisation de notre site Web

Deux utilisateurs sont déjà créé au lancement du projet

Nom d'utilisateur Mot-de-passe
Obyka password
JoLaBanane98 password

Il est fortement conseillé de se connecter en tant qu'Obyka car il est propriétaire des entités pré-générees.

Description de l'implémentation et des aspects fonctionnels

Nous discutons de cela dans un fichier markdown à part pour plus de clarté. Vous pouvez le retrouver ici

Tests

Pour lancer les tests, il faut :

  • Lancer test.sh à la racine du projet /!\ Stoppera l'infrastructure de production, si cette dernière est démarrée
  • Attendre que payara ait fini de se démarrer
  • Se déplayer dans le répertoire AMT-Project-One
  • Lancer mvn clean test

Il y aura sûrement votre certificat pour payara à importer (il a été discuté que cette manipulation sera faite de votre côté)

Nous avons documenté les tests dans un fichier markdown à part pour plus de clarté. Vous pouvez le retrouver ici

Un fichier séparé a également été créé pour les tests de charge, contenant une analyse de nos résultats. Vous pouvez le retrouver ici

Liste des bugs connus

Nous avons listés les bugs connus dans un fichier markdown à part pour plus de clarté. Vous pouvez le retrouver ici

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.