{"id":20030312,"url":"https://github.com/temgi/microsservicos_springcloud","last_synced_at":"2026-04-10T02:45:46.271Z","repository":{"id":181429251,"uuid":"666770670","full_name":"Temgi/Microsservicos_SpringCloud","owner":"Temgi","description":"App de RH com Cadastro de Trabalhadores dividido em Diversos Microsserviços Java com Spring Cloud, proporcionando Balanceamento de Carga, Comunicação Rest com JSON, API Gateway, Service Discovery, Serviços Isolados em Containers, Configuração Centralizada, Autenticação OAuth, Autorização com Token JWT de Microsserviços, CORS e RestTemplate.","archived":false,"fork":false,"pushed_at":"2023-08-02T19:29:21.000Z","size":514,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-12T17:46:40.390Z","etag":null,"topics":["apache-tomcat","api-gateway","cors","docker","docker-image","eureka-discovery-service","feign-client","hystrix","java-11","jwt-token","maven","oauth2","postgresql","rest-api","ribbon","spring-boot","spring-cloud","spring-cloud-netflix","zuul-api-gateway"],"latest_commit_sha":null,"homepage":"http://app-java.ddns:8001/workers","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Temgi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-07-15T14:18:37.000Z","updated_at":"2023-08-13T16:49:28.000Z","dependencies_parsed_at":"2024-11-13T09:38:19.895Z","dependency_job_id":null,"html_url":"https://github.com/Temgi/Microsservicos_SpringCloud","commit_stats":null,"previous_names":["temgi/microsservicos_springcloud"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Temgi%2FMicrosservicos_SpringCloud","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Temgi%2FMicrosservicos_SpringCloud/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Temgi%2FMicrosservicos_SpringCloud/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Temgi%2FMicrosservicos_SpringCloud/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Temgi","download_url":"https://codeload.github.com/Temgi/Microsservicos_SpringCloud/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241460204,"owners_count":19966519,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["apache-tomcat","api-gateway","cors","docker","docker-image","eureka-discovery-service","feign-client","hystrix","java-11","jwt-token","maven","oauth2","postgresql","rest-api","ribbon","spring-boot","spring-cloud","spring-cloud-netflix","zuul-api-gateway"],"created_at":"2024-11-13T09:25:48.285Z","updated_at":"2026-04-10T02:45:41.252Z","avatar_url":"https://github.com/Temgi.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv\u003e\n    \u003ch1 align=\"center\"\u003eEcossistema de Microsserviços Java com SpringCloud\u003c/h1\u003e\n    \u003ch6 align=\"center\"\u003eConjunto de Microsserviços Escalável com Balanceamento de Carga, API Gateway, Discovery Server e Configuração Centralizada no Git\u003c/h6\u003e\n\u003c/div\u003e\n\u003cbr\u003e\u003cbr\u003e\n\n[![NPM](https://img.shields.io/npm/l/react)](https://github.com/Temgi/Microsservicos_SpringCloud/blob/main/LICENSE) \n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"https://img.shields.io/badge/STATUS-completo-blue?style=for-the-badge\"\u003e\n\u003c/p\u003e\n\n## 🧠 Sobre o Projeto\n\u003cp\u003eA 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.\u003c/p\u003e \n\n## 📗 Sumário\n\n* [Arquitetura do Projeto](#-arquitetura-do-projeto)\n* [Modelo Conceitual](#-modelo-conceitual)\n* [Organização de Pacotes](#-organiza%C3%A7%C3%A3o-de-pacotes)\n* [Features](#%EF%B8%8F-features)\n* [Estrutura de Autenticação OAuth](#-estrutura-de-autentica%C3%A7%C3%A3o-oauth)\n* [Autorização com Token JWT](#%EF%B8%8F-autoriza%C3%A7%C3%A3o-com-token-jwt)\n* [Conjunto de Interfaces](#-conjunto-de-interfaces)\n* [Tecnologias Utilizadas](#-tecnologias-utilizadas)\n* [Como Executar o Projeto](#-como-executar-o-projeto)\n* [Autor](#-autor)\n\n## 💻 Arquitetura do Projeto\n\u003cbr\u003e\n\n![Arquitetura Projeto](https://github.com/Temgi/Microsservicos_SpringCloud/blob/main/assets/ArquiteturaProjeto.png)\n\n## 🎨 Modelo Conceitual\n\u003cbr\u003e\n\n![Modelo Conceitual](https://github.com/Temgi/Microsservicos_SpringCloud/blob/main/assets/ModeloConceitual.png)\n\n## 👓 Organização de Pacotes\n\u003cbr\u003e\n\n![Pacotes do Projeto](https://github.com/Temgi/Microsservicos_SpringCloud/blob/main/assets/PacotesProjeto.png)\n\n## ⚙️ Features\n\n- [x] Autenticação/Autorização de Containers\n- [x] Gateway de Roteamento\n- [x] Comunicação API-Rest com JSON\n- [x] Balanceamento de Carga\n- [x] Configuração Centralizada no Git\n- [x] Microsserviços Escaláveis e Flexíveis\n- [x] Servidor de Discovery\n- [x] Token para Autorização de Microsserviços\n- [x] Isolamento em Containers Docker\n- [x] Coesão e Desacoplamento de Serviços\n- [x] Serviços Independentes\n- [x] Resiliência e Tolerância a Falhas\n- [x] InfraEstrutura Automatizada\n\n## 💡 Estrutura de Autenticação OAuth\n\u003cbr\u003e\n\n![Autenticação OAuth](https://github.com/Temgi/Microsservicos_SpringCloud/blob/main/assets/Autenticacao-OAuth.png)\n\n## 🛰️ Autorização com Token JWT\n\u003cbr\u003e\n\n![Autorização JWT](https://github.com/Temgi/Microsservicos_SpringCloud/blob/main/assets/Autorizacao-TokenJWT.png)\n\n## 🎯 Conjunto de Interfaces\n\u003cbr\u003e\n\n![Conjunto Interfaces](https://github.com/Temgi/Microsservicos_SpringCloud/blob/main/assets/EstruturaClasses.png)\n\n## 🚀 Tecnologias Utilizadas:\n### Back-End\n\u003cul\u003e\n        \u003cli\u003e Java 11\u003c/li\u003e\n        \u003cli\u003e API Gateway Netflix Zuul\u003c/li\u003e\n        \u003cli\u003e Feign Nextflix\u003c/li\u003e\n        \u003cli\u003e Spring Data JPA\u003c/li\u003e\n        \u003cli\u003e Jackson JSON\u003c/li\u003e\n        \u003cli\u003e Postman\u003c/li\u003e\n        \u003cli\u003e Ribbon Load Balance\u003c/li\u003e\n        \u003cli\u003e Maven\u003c/li\u003e\n        \u003cli\u003e Apache TomCat\u003c/li\u003e\n        \u003cli\u003e Netflix Eureka Discovery\u003c/li\u003e\n        \u003cli\u003e Netflix Hystrix\u003c/li\u003e\n        \u003cli\u003e JPA-Hibernate\u003c/li\u003e\n        \u003cli\u003e OAuth e JWT\u003c/li\u003e\n        \u003cli\u003e Docker\u003c/li\u003e\n        \u003cli\u003e PostgreSQL\u003c/li\u003e\n\u003c/ul\u003e\n\n## 🏁 Como Executar o Projeto\n\n### Instalações\n1-Baixar e Instalar o Java-JDK no Link Abaixo:\n\u003cbr\u003e\nhttps://www.oracle.com/br/java/technologies/javase/javase8-archive-downloads.html\n\u003cbr\u003e\u003cbr\u003e\n2-Configurar Variáveis de Ambiente do Java-JDK Conforme Link Abaixo:\n\u003cbr\u003e\nhttps://www.alura.com.br/apostila-java-orientacao-objetos/apendice-instalacao-do-java\n\u003cbr\u003e\u003cbr\u003e\n3-Baixar e Instalar o Docker Seguindo o Link Abaixo:\n\u003cbr\u003e\nhttps://docs.docker.com/desktop/install/windows-install/\n\u003cbr\u003e\u003cbr\u003e\n4-Baixar e Instalar o Postman Seguindo os Links Abaixo:\n\u003cbr\u003e\nhttps://www.postman.com/downloads/\n\u003cbr\u003e\nhttps://www.alura.com.br/artigos/postman-como-instalar-dar-seus-primeiros-passos\n\u003cbr\u003e\u003cbr\u003e\n\n### Execução e Deploy do Projeto\n\n#### Clonar Repositório\n- git clone https://github.com/Temgi/APILogistica.git\n\n#### Configuração do Projeto\n- Execução do Projeto: https://github.com/Temgi/Microsservicos_SpringCloud/blob/main/assets/README.md\n\n#### Configuração Container Docker\n- Execução dos Containers: https://github.com/Temgi/Microsservicos_SpringCloud/blob/docker/README.md\n\n\n\n## 📝 **Autor**\n\n\u003ctable\u003e\n\u003ctr\u003e\n\u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/Temgi\"\u003e\u003cimg style=\"border-radius: 10%;\" src=\"https://avatars.githubusercontent.com/u/8334174?v=4\" width=\"80px;\" alt=\"Foto de Rui Temgi Saraiva Azevedo no GitHub\"/\u003e\u003c/a\u003e\u003cbr /\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\nRui Azevedo\n\u003cbr\u003e\nContatos:  \u003ca href=\"https://www.linkedin.com/in/devruiazevedo/\"\u003eLinkedIn\u003c/a\u003e - \u003ca href=\"https://wa.me/5511971973505?text=Olá.%20Estou%20Entrando%20em%20Contato%20a%20partir%20do%20Portfólio%20no%20GitHub.\"\u003eWhatsApp\u003c/a\u003e - \u003ca href=\"#\"\u003e ruisaraivasp@gmail.com\u003c/a\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftemgi%2Fmicrosservicos_springcloud","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftemgi%2Fmicrosservicos_springcloud","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftemgi%2Fmicrosservicos_springcloud/lists"}