README.md
August 12, 2022 · View on GitHub
My Music 2022
B A Y G O N
See Our Documentation
About • Architecture • Features • Technologies and tools • Team • Project management • Contributors
💻 About the project
In order to apply all the content studied in CI&T’s Bootcamp, our team had the challenge of developing new services to replace the legacy APIs layer using the existing database.
:triangular_ruler: Architecture
To carry out this project we chose the Hexagonal architecture. The reason for this choice is that with hexagonal architecture we have the following benefits:
- Independent External Services Solution, that is, if there is any external auteration, our service will not be impacted;
- Creation and replacement of adapters;
- Easy to test the application;
- Technologies that are easy to exchange;
:gear: Features
- Authentication and authorization (Login/Logout);
- Allows the user to search for new musics in the database;
- Allows the user to search his playlist in the database;
- Allow the user to choose the musics from the search result they want to add to their playlist;
- Allow the user to remove musics from their playlist;
- 100% covered unit test cases (Jacoco);
- 100% covered mutation test case (PiTest);
- Cache implementation in search of musics;
- Pipeline creation with github actions for automated API publishing;
:hammer_and_wrench: Technologies and tools
- Java 11;
- Spring Boot;
- Maven;
- Spring Boot Actuator;
- JPA / Hibernate;
- SQLite;
- JUnit;
- Mockito;
- JaCoCo (Java Code Coverage Library);
- Pitest (PIT Mutation Testing);
- Swagger;
- Heroku;
- Postman;
- Intellij IDEA;
- Git & GitHub;
T E A M
:handshake: Project management
To manage the project, the following rites were performed:
- Daily;
- Planning;
- Demo e retrospective;
- Checkpoint Técnico semanal;