Skip to content

Repository files navigation

Microserviços-Filme

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:

Diagrama do Projeto

Para rodar o projeto, você precisa ter em sua máquina uma versão 17 ou superior do Java.

Funcionalidades:

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.

Persistencia

  • Utilização do banco H2 para a persistencia dos dados das API's

Requisitos

Antes de iniciar a compilação e execução, certifique-se de ter:

  1. Java JDK 17 ou superior instalado.
    • Verifique a instalação executando java -version no terminal.
  2. Maven instalado (para gestão de dependências e build).
    • Verifique a instalação executando mvn -version no terminal.

Compilação do Projeto

Cada microsserviço está em um módulo separado. Para compilar o projeto inteiro, siga os passos:

  1. Clone o repositório:

    git clone https://github.com/mrmutthy/Microservicos-Filme.git
    cd Microservicos-Filme
  2. Compile o projeto usando o Maven:

    mvn clean install

    Isso gerará os arquivos JAR na pasta target/ de cada microsserviço.

Execução dos Microsserviços

Para executar os microsserviços individualmente, navegue até o diretório de cada um e execute o JAR correspondente:

Exemplo: Executando a Api-Filmes

cd api-filmes/target
java -jar api-filmes.jar

Executando os demais microsserviços

Repita 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.jar

Gateway

O gateway é responsável por unificar as rotas de acesso aos microsserviços. Para executá-lo:

cd api-gateway/target
java -jar api-gateway.jar

Por padrão, o gateway estará acessível em http://localhost:8080.

Testando o Projeto

Os testes são realizados utilizando hurl, e os arquivos de teste estão localizados na pasta hurl.

Executando os Testes

  1. Certifique-se de que o hurl está instalado em sua máquina.

  2. Execute os testes utilizando o seguinte comando:

    hurl hurl

    Exemplo:

    hurl hurl/01_post_filmes.hurl
  3. Os arquivos de teste validam endpoints de cada microsserviço conforme suas funcionalidades descritas.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages