Contribution to the Project
Personal Contributions
Consultation of User Stories
I first consulted the various user stories of the “Webhook” project and other projects to understand the context and functional aspects. I also attended meetings where my internship supervisor discussed updates to the user stories with the product manager.
Message Mapping
One of the first tasks assigned to me was to perform message mapping. This involved retrieving a message in a given format and converting it into another format to send it to another component.

Example of message mapping
In this example, we initially have two messages, “Topic message 1” and “Topic message 2,” from which we want to extract information. This information will be used to create a new message, “Topic message 3.” The two initial messages, “Topic message 1” and “Topic message 2,” are retrieved using the parcel number (“Parcel Number”) as a common identifier. Once these messages are retrieved, the necessary information is extracted from each of them. The extracted information is then combined to create the new message, “Topic message 3.”
Adding Features with Swagger
I added features to the Swagger API, an open-source solution used for the development and documentation of REST APIs. Since our application is developed with Spring Boot, Swagger can be used to document the various routes, methods, parameters, and responses of the API.
The added features include:
- Adding new “webhooks” and associated “subscribers.”
- Deleting “webhooks” and “subscribers.”
- Modifying and updating existing “webhooks” and “subscribers.”
- The ability to view all “webhooks” and all “subscribers.”
- The ability to view a specific “webhook” from an ID or URL, and the same for “subscribers.”

Implementation of Technical Replay
I also implemented technical replay, which involves resending messages that were not correctly sent due to server access issues or other problems that might occur. Additionally, it can be used as a testing tool to check for the existence of a bug.
Development of Tests
I developed a suite of unit and integration tests. Unit tests were conducted using JUnit and Mockito, ensuring that each individual component worked as expected. Integration tests were set up to validate the interaction between different modules of the system.


Deployment
I carried out the deployment of various projects in the appropriate environments using the available deployment pipelines.
Skills Developed
With these contributions, I learned a lot and developed many skills. By working on user stories, I gained a deep understanding of how user needs translate into technical features. By working more on Spring Boot, I reinforced what I learned during my training and the implementations of the framework in a professional environment.