Code Monkey home page Code Monkey logo

reading's Introduction

Reading

Projeto do desafio da Hivecloud. Foi construido com Sprint Boot, Java 11, MySQL e H2 para testes.

Passo a passo

Banco de dados

Foi utilizado o Docker para subir o banco. Comando para execução:

$ docker pull mysql:8.0.20
$ docker run -p 3306:3306 --name mscadastro --network reading -e MYSQL_USER=root -e MYSQL_ALLOW_EMPTY_PASSWORD=yes -e MYSQL_DATABASE=mscadastro mysql:8.0.20

obs: Só um único comando vai ser suficiente para subir o servidor do banco. Ao executar o projeto, o mesmo irá apontar para o mesmo servidor dos 3 projetos (porta 3306)

Módulos

Para cada módulo do projeto, deverá ser executado o comando:

$ mvn clean install
$ java -jar target/NOME_DO_PACOTE.jar

Ordem de execução dos projetos

  • config-server
  • ms-eureka-server
  • api-gateway-zuul
  • Quaisquer outros projetos (ms-cadastro, ms-leitura, ms-notificação)

Aplicações

O projeto foi construido numa arquitetura de microserviços e todas as requisições são feitas a partir do gateway. Todos os projetos são independentes entre si e tem um banco de dados próprio. Cada projeto tem um swagger configurado e pode ser utilizado para fazer as requisições pelo endereço http://localhost:[PORTA]/swagger-ui.html Uma breve explicação dos serviços logo abaixo.

Eureka Server

Service Discovery. Pode ser acessar a partir do endereço http://localhost:8761

Config Server

Servidor de configuração.

Api Gateway Zuul

Api Gateway responsável pelas requisições e load balancer.

Microservice Cadastro

Serviço responsável por ter os cadastros de Usuários, Livros e Resenhas. Pode ser acesso a partir do endereço http://localhost:8765/ms-cadastro/api/livros, http://localhost:8765/ms-cadastro/api/resenhas e http://localhost:8765/ms-cadastro/api/usuarios. Existe um motor de busca no endereço http://localhost:8765/ms-cadastro/api/livros/consulta-externa/[termo pesquisado] que retorna uma lista de até 5 livros. O termo utilizado pode ser o autor, livro, isbn, etc.

Microservice Notificação

Serviço responsável para receber as notificações do cadastro e repassar para o usuário. Pode ser acesso a partir do endereço http://localhost:8765/ms-notificacao/api/notificacoes.

Microservice Leitura

Serviço responsável para armazenar a atividade de leitura do usuário, tais como atualização do número de página, atualização da nota, inclusão de um livro na lista de leitura, finalização de leitura de um livro e início da leitura de um livro. Pode ser acesso a partir do endereço http://localhost:8765/ms-leitura/api/leituras.

reading's People

Contributors

choliveira84 avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.