Skip to content

AMT-TEAM08/L3

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Labo 3 - Task management API

This API is a Task Management API that provides functionalities for managing tasks, such as retrieving tasks by ID or tag, adding or updating tasks, assigning users to tasks, and adding tags to tasks.

Link to the video : https://hessoit.sharepoint.com/sites/AMT-2022-2023-AMT-TEAM08/Documents%20partages/Enregistrements/Nouvelle%20r%C3%A9union%20de%20canal-20230130_170738-Enregistrement%20de%20la%20r%C3%A9union.mp4?web=1

Deuxième lien si vous arrivez pas a vous connecter : https://drive.google.com/file/d/1G_b4QDxAjZ1dwtN6D-WvUSPLpdUICI4d/view?usp=sharing

quotes-exemple

Mise en oeuvre d'une api avec Springboot et d'un client de test BDD avec Cucumber Avec OpenApi generator, génération à partir d'un fichier OpenAPI "quotes.yaml" :

  • des intertaces et des DTO pour Springboot
  • d'un client et des DTO pour le client BDD

Installation et utilisation avec IntelliJ

  • git clone de ce repository et import sous IntelliJ du projet (maven) qui contient 2 modules : quotes-api pour Springboot et quotes-spec pour le client BDD
  • Affectation d'un Java JDK 17 (File / Project structure / Project /SDK

quotes-api

  • Gérération du dossier target avec "maven clean package" (fenêtre Maven, quotes-exemple/quotes-api/Lifecycle)
  • Déclaration "Generated Source Root" du dossier target/generated-sources/openapi/src/main/java via le menu contextuel et "Mark directory as" sur ce dossier
  • Lancement du main Springboot (Swagger2SpringBoot)
  • L'interface utilisateur swagger-ui est accessible à http://localhost:9090/api
  • La base de donnée H2 est accessible à http://localhost:9090/api/h2-console url: jdbc:h2:mem:testdb username:sa pas de password

quotes-spec

  • Gérération du dossier target avec "maven clean package" (fenêtre Maven, quotes-exemple/quotes-spec/Lifecycle) si Springboot tourne, les tests BDD doivent s'exécuter sans erreurs au cours de l'exécution de Maven
  • Déclaration "Generated Source Root" du dossier target/generated-sources/openapi/src/gen/java/main
  • La Feature Cucumber du dossier src/test/resources/features/quotes.feature doit être exécutable sous IntelliJ

Cycle de développement

  • Modifier le fichier OpenAPI "quotes.yaml" sous src/main/resource des 2 projets (copies identiques)
  • Api Springboot
    • Relancer "maven clean package" de quotes-api
    • Développer ou adapter les controlleurs, les DTO et les classes liées dans l'api Springboot
    • Si vous avez ajouté ou modifié des entités, vous pouvez initialiser des données dans le fichier data.sql de src/main/resource
    • Relancer Sprigboot et faire quelques tests manuels avec swagger-ui
  • Tests BDD cucumber (en mode TDD, les 2 premières étapes peuvent être effectuées avant le développement de l'api)
    • Relancer "maven clean package" de quotes-spec, les tests seront peut-être en erreur et peuvent être skippés
    • Développer ou adapter les features Cucumber et les steps pour les nouvelles fonctionalités
    • Exécuter les tests sous IntelliJ et relancer "maven clean package" de quotes-spec pour exécuter les tests avec Maven

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 92.6%
  • Gherkin 7.4%