API developed to attend a card game based in movie ratting with IMDb (Internet Movie Database).
⚠️ This is a MVP, so the code may have some bugs. If you found something wrong or to improve, please feel free to contribute!
The fallow stack was used to develop this project:
Java
: 17Groovy
: 4.0Spring Boot
(Spring Data JPA and Spring Web): 3.0.0MySQL
: 8Docker
Spock Framework
: 2.3Lombok
Jacoco
This project was developed based in Hexagonal Architecture, specifically the Netflix Hexagonal Architecture. The main principle used in this project is the decoupling, making use of Port Adapter design pattern.
Until this moment, the project don't have any cloud environment. So, to run and test, it's necessary to build and launch the project using Docker.
This project requires a Database to run. So, the first thing is launch a MySQL Database.
Run the fallowing command to create a MySQL8 container with docker-compose.yml
:
docker-compose up
⚠️ You should run this command into the project folder!
Now, it's time to build and launch the project using the Dockerfile
:
docker build -t imdplay .
docker run -p 8080:8080 imdplay
If you are running this project local, consider the '[host]' as localhost.
POST [host]
/v1/register
{
"fullName": "Test User",
"username": "TestUser1",
"email": "[email protected]",
"password": "1234"
}
GET [host]
/v1/register (Authentication Required)
POST [host]
/v1/login
{
"userName": "TestUser14",
"password": "1234"
}
POST [host]
/v1/match (Authentication Required)
POST [host]
/v1/match/{ID}?response={A,B} (Authentication Required)
GET [host]
/v1/match/{ID} (Authentication Required)
GET [host]
/v1/match (Authentication Required)
PATCH [host]
/v1/match/{ID} (Authentication Required)
GET [host]
/v1/ranking (Authentication Required)
⚠️ All requests annotated with(Authentication Required)
must be authenticated using Basic Auth (based in user/password).
To get more details, check the OpenAPI documentation:
[host]
/v3/api-docs