BookRate é uma aplicação desenvolvida em Java e Spring Boot, utilizando a arquitetura de microserviços. Este projeto conta com uma aplicação dockerizada que pode ser facilmente executada usando Docker Compose.
O sistema permite que os usuários realizem consultas em tempo real das taxas de câmbio. No microserviço de câmbio, foi utilizada a API da AwesomeAPI para obter as taxas de câmbio, que são atualizadas a cada 30 segundos.
Já o microserviço de livros permite que os usuários cadastrem e consultem preços de livros. Por padrão, um livro é cadastrado em dólares, mas o preço pode ser consultado em qualquer moeda.
Login de usuário
: O usuário deve fazer login para se autenticar na plataforma. Credênciais que devem ser usadas: email e senha. Toda comunicação e feita via token JWT.Cadastro do usuário
: Caso o usuário não possua cadastro, deverá se cadastrar para conseguir fazer login.Atualização da senha do usuário
: O usuário poderá poderá atualizar a senha. Ele deverá informar a senha antiga e a nova senha.Exclusão da conta do usuário
: O usuário poderá excluir a sua conta da plataforma.
Consulta do câmbio
: O usuário pode consultar a taxa de câmbio, pra diversas moedas, em tempo real.
Cadastro
: Os usuários podem cadastrar livros.Consulta
: O preço dos livros podem ser exibidos em qualquer moeda.
- Docker e Docker Compose instalados no sistema. Você pode baixar o Docker Desktop (que já inclui o Docker Compose) a partir do site oficial do Docker.
Baixe o arquivo docker-compose.yml
fornecido no repositório. Esse arquivo contém as definições de configuração necessárias para rodar a aplicação e suas dependências, como o banco de dados.
No terminal, navegue até a pasta onde você salvou o docker-compose.yml
e execute o seguinte comando:
docker compose up -d
Para verificar se a aplicação está funcionando corretamente, você pode inspecionar os logs com o comando:
docker compose logs -f
Esse comando exibirá os logs de todos os containers, permitindo que você veja o status da aplicação e do banco de dados.
Após o Docker Compose iniciar todos os containers, a aplicação estará acessível. Você poderá acessá-la no navegador em:
http://localhost:8765/webjars/swagger-ui/index.html
Isso fará com que a aplicação seja inicializada na porta 8765.
docker compose down
Esse comando encerra a execução dos containers e remove os recursos associados, liberando espaço no sistema.
Abra o terminal do git bash na pasta onde deseja salvar o projeto e digite o seguinte comando:
git clone git@github.com:edielson-assis/bookrate-microservices.git
Depois de clonar o projeto, siga as instruções do passo 2 em diante para configurar e iniciar a aplicação.
- Java
- Maven
- Lombok
- PostgreSQL
- Spring Data JPA
- Bean Validation API
- Spring Boot Starter Web
- Spring Security
- Flyway PostgreSQL
- Flyway Core
- Java JWT
- Swagger
- Docker
- Spring cloud
- Actuator
- OpenFeign
- RabbitMQ
- Zipkin
The Apache License 2.0 License (Apache License 2.0)
Copyright ©️ 2024 - BookRate