README.md

August 12, 2022 · View on GitHub

My Music 2022
B A Y G O N

See Our Documentation

MyMusic & Token Provider

AboutArchitectureFeaturesTechnologies and toolsTeamProject managementContributors


💻 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;

Baygon

: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 Baygon

:handshake: Project management

To manage the project, the following rites were performed:
  • Daily;
  • Planning;
  • Demo e retrospective;
  • Checkpoint Técnico semanal;

:robot: Contributors