Skip to content

Documentation technique

HiroKX edited this page Jan 19, 2024 · 29 revisions

Dépendances et packages

Pour ce projet, nous avons voulu améliorer la qualité de code et la maintenabilité. Pour ce faire, certains packages sont disponibles sur internet, voici ceux que nous avons sélectionnés :

  • JUnit 5
  • JaCoCo
  • PiTest
  • Swagger
  • SonarCloud

JaCoCo

Il s'agit d'un outil de couverture de code pour Java, il est utilisé pour mesurer la quantité de code qui a été exécutée lors de l'exécution de tests automatisés. Cela nous permet de trouver et d'éliminer les morceaux de code qui n'ont pas été testés. Dans notre cas, nous l'avons utilisé pour :

  • Evaluation de la qualité des tests
  • Détection des zones non testées
  • Intégration continue Il s'agit d'une partie nous permettant de vérifier cette couverture avant chaque pull request ou push sur notre branche de développement et principale.
  • Rapports Il permet également de créer des rapports visible sous la forme d'un site html, permettant d'avoir un visuel sur ce qui va et ne va pas.

PiTest

Swagger

SonarCloud

API REST

Nous avons fait le choix d'utiliser Swagger afin de fournir à l'utilisateur une interface web affichant et décrivant notre API.

Celle-ci est dite "RESTFUL" puisque les méthodes suivent la norme RFC2616 GET permettent d'obtenir, POST de créer, PUT de modifier et DELETE de supprimer.

Afin de pouvoir comprendre comment l'api fonctionne, le descriptif des routes est dispnibles dans Routes HTTP et egalement sur :

Routes HTTP

Sondage

  • GET /api/sondage/{id} - Obtenez un sondage
  • PUT /api/sondage/{id} - Mettez à jour un sondage
  • DELETE /api/sondage/{id} - Supprimez un sondage
  • GET /api/sondage/ - Obtenez tous les sondages
  • POST /api/sondage/ - Créez un nouveau sondage

Participant

  • GET /api/participant/{id} - Obtenez un participant
  • GET /api/participant/ - Obtenez tous les participants
  • POST /api/participant/ - Créez un nouveau participant
  • PUT /api/participant/{id} - Mettez à jour un participant
  • DELETE /api/participant/{id} - Supprimez un participant

Commentaire

  • PUT /api/commentaire/{id} - Mettez à jour un commentaire
  • DELETE /api/commentaire/{id} - Supprimez un commentaire
  • GET /api/sondage/{id}/commentaires - Obtenez les commentaires d'un sondage
  • POST /api/sondage/{id}/commentaires - Créez un commentaire pour un sondage

Dates

  • GET /api/sondage/{id}/dates - Obtenez les dates disponibles d'un sondage
  • POST /api/sondage/{id}/dates - Créez une date pour un sondage
  • GET /api/sondage/{id}/maybe - Obtenez les possibles meilleures dates pour un sondage en fonction des disponibilités
  • GET /api/sondage/{id}/best - Obtenez les meilleures dates pour un sondage en fonction des disponibilités
  • DELETE /api/date/{id} - Supprimez une date

Participation

  • POST /api/date/{id}/participer - Votez pour une date

Pipeline

  • Jacoco Code Coverage:
  • Pitest:
  • Java CI with Maven:
  • Tests E2E:
  • Checkstyle:
  • pages-build-deployment:

Packages maven / import Java spcifiques :

Clone this wiki locally