Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/temgi/microsservicos_springcloud
https://github.com/temgi/microsservicos_springcloud
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/temgi/microsservicos_springcloud
- Owner: Temgi
- Created: 2023-07-15T14:18:37.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-08-01T22:04:51.000Z (over 1 year ago)
- Last Synced: 2023-08-01T22:08:07.745Z (over 1 year ago)
- Language: Java
- Size: 459 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Ecossistema de Microsserviços Java com SpringCloud
Conjunto de Microsserviços Escalável com Balanceamento de Carga, API Gateway, Discovery Server e Configuração Centralizada no Git
[![NPM](https://img.shields.io/npm/l/react)](https://github.com/Temgi/Microsservicos_SpringCloud/blob/main/LICENSE)
## 🧠 Sobre o Projeto
A Aplicação é um Sistema de RH com Cadastro de Trabalhadores dividido em Diversos Microsserviços Java com Spring Cloud, utilizando assim, Feign para Requisições de API entre Microsserviços, Ribbon para Balanceamento de Carga, Eureka para Discovery e Registro de Microsserviços, API Gateway Zuul para Roteamento, Hystrix para Tolerância a Falhas, OAuth e JWT para Autenticação e Autorização, Configuração Centralizada no GitHub, Containers Docker para Microsserviços e Banco de Dados. Onde foi Construído os Microsserviços envolvendo os Processos de Configuração, Autenticação, Balanceamento de Carga, API Gateway, tendo como Base as Entidades Folha de Pagamento, Trabalhador, Usuários e Autorização.
## 📗 Sumário
* [Arquitetura do Projeto](#-arquitetura-do-projeto)
* [Modelo Conceitual](#-modelo-conceitual)
* [Organização de Pacotes](#-organiza%C3%A7%C3%A3o-de-pacotes)
* [Features](#%EF%B8%8F-features)
* [Estrutura de Autenticação OAuth](#-estrutura-de-autentica%C3%A7%C3%A3o-oauth)
* [Autorização com Token JWT](#%EF%B8%8F-autoriza%C3%A7%C3%A3o-com-token-jwt)
* [Conjunto de Interfaces](#-conjunto-de-interfaces)
* [Tecnologias Utilizadas](#-tecnologias-utilizadas)
* [Como Executar o Projeto](#-como-executar-o-projeto)
* [Autor](#-autor)## 💻 Arquitetura do Projeto
![Arquitetura Projeto](https://github.com/Temgi/Microsservicos_SpringCloud/blob/main/assets/ArquiteturaProjeto.png)
## 🎨 Modelo Conceitual
![Modelo Conceitual](https://github.com/Temgi/Microsservicos_SpringCloud/blob/main/assets/ModeloConceitual.png)
## 👓 Organização de Pacotes
![Pacotes do Projeto](https://github.com/Temgi/Microsservicos_SpringCloud/blob/main/assets/PacotesProjeto.png)
## ⚙️ Features
- [x] Autenticação/Autorização de Containers
- [x] Gateway de Roteamento
- [x] Comunicação API-Rest com JSON
- [x] Balanceamento de Carga
- [x] Configuração Centralizada no Git
- [x] Microsserviços Escaláveis e Flexíveis
- [x] Servidor de Discovery
- [x] Token para Autorização de Microsserviços
- [x] Isolamento em Containers Docker
- [x] Coesão e Desacoplamento de Serviços
- [x] Serviços Independentes
- [x] Resiliência e Tolerância a Falhas
- [x] InfraEstrutura Automatizada## 💡 Estrutura de Autenticação OAuth
![Autenticação OAuth](https://github.com/Temgi/Microsservicos_SpringCloud/blob/main/assets/Autenticacao-OAuth.png)
## 🛰️ Autorização com Token JWT
![Autorização JWT](https://github.com/Temgi/Microsservicos_SpringCloud/blob/main/assets/Autorizacao-TokenJWT.png)
## 🎯 Conjunto de Interfaces
![Conjunto Interfaces](https://github.com/Temgi/Microsservicos_SpringCloud/blob/main/assets/EstruturaClasses.png)
## 🚀 Tecnologias Utilizadas:
### Back-End
- Java 11
- API Gateway Netflix Zuul
- Feign Nextflix
- Spring Data JPA
- Jackson JSON
- Postman
- Ribbon Load Balance
- Maven
- Apache TomCat
- Netflix Eureka Discovery
- Netflix Hystrix
- JPA-Hibernate
- OAuth e JWT
- Docker
- PostgreSQL
## 🏁 Como Executar o Projeto
### Instalações
1-Baixar e Instalar o Java-JDK no Link Abaixo:
https://www.oracle.com/br/java/technologies/javase/javase8-archive-downloads.html
2-Configurar Variáveis de Ambiente do Java-JDK Conforme Link Abaixo:
https://www.alura.com.br/apostila-java-orientacao-objetos/apendice-instalacao-do-java
3-Baixar e Instalar o Docker Seguindo o Link Abaixo:
https://docs.docker.com/desktop/install/windows-install/
4-Baixar e Instalar o Postman Seguindo os Links Abaixo:
https://www.postman.com/downloads/
https://www.alura.com.br/artigos/postman-como-instalar-dar-seus-primeiros-passos
### Execução e Deploy do Projeto
#### Clonar Repositório
- git clone https://github.com/Temgi/APILogistica.git
#### Configuração do Projeto
- Execução do Projeto: https://github.com/Temgi/Microsservicos_SpringCloud/blob/main/assets/README.md
#### Configuração Container Docker
- Execução dos Containers: https://github.com/Temgi/Microsservicos_SpringCloud/blob/docker/README.md
## 📝 **Autor**
Rui Azevedo
Contatos: LinkedIn - WhatsApp - [email protected]