Contribution au projet
Contributions Personnelles
Consultation des User Stories
J’ai d’abord consulté les différentes user stories du projet « Webhook » et des autres projets pour comprendre le contexte et les aspects fonctionnels. J’ai également assisté à des réunions où mon maître de stage discutait avec le responsable produit de la mise à jour des user stories.
Mapping de Messages
L’une des premières tâches qui m’a été attribuée consistait à effectuer le mapping d’un message vers un autre. Il s’agissait de récupérer un message dans un format donné et de le convertir en un autre format pour l’envoyer à un autre composant.

Exemple de message mapping
Dans cet exemple, nous avons initialement deux messages, «Topic message 1» et «Topic message 2», à partir desquels nous souhaitons extraire des informations. Ces informations seront utilisées pour créer un nouveau message, «Topic message 3». Les deux messages initiaux, «Topic message 1» et «Topic message 2», sont récupérés en utilisant le numéro de colis («Parcel Number») comme identifiant commun. Une fois ces messages récupérés, les informations nécessaires sont extraites de chacun d’eux. Les informations extraites sont ensuite combinées pour créer le nouveau message, «Topic message 3».
Ajout de Fonctionnalités avec Swagger
J’ai ajouté des fonctionnalités à l’API Swagger, une solution open source utilisée pour le développement et la documentation des API REST. Notre application étant développée avec Spring Boot, Swagger peut être utilisé pour documenter les différentes routes, méthodes, paramètres, et réponses de l’API.
Les fonctionnalités ajoutées incluent :
- L’ajout de nouveaux « webhooks » et « subscribers » associés entre eux.
- La suppression de « webhooks » et « subscribers ».
- La modification et la mise à jour des « webhooks » et « subscribers » existants.
- La possibilité de visualiser tous les « webhooks » et tous les « subscribers ».
- La possibilité de visualiser un « webhook » spécifique à partir d’une ID ou URL, de même pour les « subscribers ».

Implémentation du Rejeu Technique
J’ai également implémenté le rejeu technique, c’est-à-dire, le renvoi des messages qui ne se sont pas correctement envoyés soit à cause d’un problème d’accès serveur, ou d’autres problèmes qui pourraient survenir. De plus, on peut l’utiliser comme outil de test pour vérifier l’existence d’un bug.
Développement de Tests
J’ai développé une suite de tests unitaires et d’intégration. Les tests unitaires ont été réalisés en utilisant JUnit et Mockito, assurant ainsi que chaque composant individuel fonctionnait comme prévu. Les tests d’intégration ont été mis en place pour valider l’interaction entre les différents modules du système.


Déploiement
J’ai effectué le déploiement des différents projets dans les environnements appropriés avec les différents pipelines de déploiement à disposition.
Compétences Développées
Avec ces contributions, j’ai énormément appris et développé de nombreuses compétences. En travaillant sur les user stories, j’ai acquis une compréhension approfondie de la manière dont les besoins des utilisateurs se traduisent en fonctionnalités techniques. En travaillant davantage sur Spring Boot, j’ai renforcé ce que j’ai appris pendant ma formation et les implémentations du framework dans un environnement professionnel.