Este projeto tem como objetivo criar microsserviços para um trabalho de TE29S (Tópicos Especiais em Ciência da Computação).
Ele conta com 4 CRUDs, sendo eles:
- Api-Filmes
- Api-Avaliacao
- Api-Recomendacao
- Api-Usuario
Acessados por um gateway e de persistencia em um banco de dados H2.
A estrutura em alto nível do projeto está descrita no diagrama abaixo:
Para rodar o projeto, você precisa ter em sua máquina uma versão 17 ou superior do Java.
Api-Filmes:
- Buscar todos os filmes
- Buscar filmes por gênero
- Adicionar filmes
- Alterar filmes
- Deletar filmes
Api-Avaliacao:
- Buscar todas as avaliações
- Buscar as avaliações de um filme específico
- Ver a média de notas de um filme avaliado
- Buscar as avaliações de um usuário específico
- Fazer uma avaliação
- Editar uma avaliação
- Excluir uma avaliação
Api-Usuario:
- Buscar todos os usuários
- Adicionar usuário
- Alterar usuário
- Deletar usuário
Api-Recomendacao:
- Obter recomendações de filmes.
- Filtrar recomendações por nota mínima.
- Integrar avaliações e filmes.
- Utilização do banco H2 para a persistencia dos dados das API's
Antes de iniciar a compilação e execução, certifique-se de ter:
- Java JDK 17 ou superior instalado.
- Verifique a instalação executando
java -versionno terminal.
- Verifique a instalação executando
- Maven instalado (para gestão de dependências e build).
- Verifique a instalação executando
mvn -versionno terminal.
- Verifique a instalação executando
Cada microsserviço está em um módulo separado. Para compilar o projeto inteiro, siga os passos:
-
Clone o repositório:
git clone https://github.com/mrmutthy/Microservicos-Filme.git cd Microservicos-Filme -
Compile o projeto usando o Maven:
mvn clean install
Isso gerará os arquivos JAR na pasta
target/de cada microsserviço.
Para executar os microsserviços individualmente, navegue até o diretório de cada um e execute o JAR correspondente:
cd api-filmes/target
java -jar api-filmes.jarRepita o mesmo comando para os outros microsserviços:
cd ../api-avaliacao/target
java -jar api-avaliacao.jar
cd ../api-usuario/target
java -jar api-usuario.jar
cd ../api-recomendacao/target
java -jar api-recomendacao.jarO gateway é responsável por unificar as rotas de acesso aos microsserviços. Para executá-lo:
cd api-gateway/target
java -jar api-gateway.jarPor padrão, o gateway estará acessível em http://localhost:8080.
Os testes são realizados utilizando hurl, e os arquivos de teste estão localizados na pasta hurl.
-
Certifique-se de que o hurl está instalado em sua máquina.
- Para instalação, consulte a documentação oficial: https://hurl.dev
-
Execute os testes utilizando o seguinte comando:
hurl hurl
Exemplo:
hurl hurl/01_post_filmes.hurl
-
Os arquivos de teste validam endpoints de cada microsserviço conforme suas funcionalidades descritas.
