Repositorio do trabalho final para a disciplina Microservices Architecture / Api / Containers do curso DevOps Enginnering;
Integrante | RM |
---|---|
Ingrid Silva Sampaio | 339235 |
Kirmayr Roberto Tomaz Costa | 337016 |
Matheus Cintra Gonçalves | 338893 |
Pedro Miranda Santos Bueno dos Reis | 338209 |
O problema escolhido para o trabalho foi o Caso do Netflix, que contem os seguintes requisitos:
- Possibilidade de visualizar os filmes de um determinado gênero;
- Possibilidade de visualizar os detalhes de cada filme;
- Possibilidade de votar nos filmes que mais gostei;
- Possibilidade de marcar um filme ou série para ser visto no futuro;
- Possibilidade de buscar um filme por palavra-chave;
- Possibilidade de exibir os filmes mais vistos por categorias;
- Possibilidade de abrir um chamado técnico de algum problema que está acontecendo;
- Possibilidade de visualizar os filmes e séries que já foram assistidos;
TODO: DESENHO ARQUITETURA
O projeto foi construido e projetado para rodar em um ambiente containerizado, para isso foi construido um docker-compose.yaml. Para subir os micro serviços, basta rodar:
$ docker-compose up -d
A primeira vez vai fazer os build de todas as aplicações, esse processo deve demorar alguns minutos. Conselho de amigo: dispare o comando e vá buscar um café ☕☕.
Essa seção explica/exemplifica como testar/executar as funcionalidades do projeto.
Além dos comandos CURL é possivel chamas as apis usando o Postman, para isso basta importar o arquivo MicroServicos.postman_collection.json
$ curl http://localhost:4000/movies/v1/categories
$ curl curl http://localhost:4000/movies/v1/categories/{idgenre}
$ curl http://localhost:4000/movies/v1/movies
$ curl http://localhost:4000/movies/{idmovie}
$ curl --location --request POST 'localhost:4000/users/addfavorite' \
--header 'Content-Type: application/json' \
--data-raw '{
"iduser": 1,
"idmovie": 1
}'
$ curl --location --request POST 'localhost:4000/users/addwatchlist' \
--header 'Content-Type: application/json' \
--data-raw '{
"iduser": 1,
"idmovie": 1
}'
$ curl "http://localhost:4000/movies/v1/movies?keyword={keyword}"
TODO:
$ curl http://localhost:4000/movies
$ curl --location --request POST 'localhost:4000/support/api/v1/support/ticket' \
--header 'Content-Type: application/json' \
--data-raw '{
"iduser": 1,
"description": "não consigo visualizar nenhum filme no catalogo"
}'
$ curl --location --request GET 'localhost:4000/support/api/v1/support/ticket'
TODO:
$ curl http://localhost:4000/movies