Update README.md
This commit is contained in:
parent
bf3e3c929b
commit
fa2991735a
1 changed files with 79 additions and 1 deletions
80
README.md
80
README.md
|
|
@ -1,2 +1,80 @@
|
|||
# java-backend
|
||||
<div>
|
||||
<h1 align="center"> Formação Backend Expert <img src="https://github.com/ABSphreak/ABSphreak/blob/master/gifs/Hi.gif?raw=true" width="30px"></h2>
|
||||
|
||||
</div>
|
||||
|
||||
<p align="center">
|
||||
<img width="908" alt="image" src="https://github.com/ValdirCezar/Formacao-Backend-Expert/assets/58149445/47fbd128-e28a-4dc0-8cd6-3d34dac2189b">
|
||||
|
||||
## Visão Geral
|
||||
|
||||
O projeto "Formação Backend Expert" tem como objetivo fornecer uma formação completa para desenvolvedores backend, focando em uma arquitetura de microsserviços utilizando tecnologias modernas e práticas avançadas de desenvolvimento. Este repositório contém o código-fonte e os componentes desenvolvidos durante o curso.
|
||||
|
||||
## Tecnologias Utilizadas
|
||||
|
||||
- **Spring Boot**: Framework Java para criação de aplicações web e microsserviços.
|
||||
- **Spring Cloud**: Conjunto de ferramentas para construir sistemas distribuídos.
|
||||
- **Spring Security**: Framework de autenticação e autorização.
|
||||
- **JWT (JSON Web Tokens)**: Para autenticação e autorização segura.
|
||||
- **RabbitMQ**: Sistema de mensageria para comunicação assíncrona.
|
||||
- **MongoDB Atlas**: Serviço de banco de dados NoSQL gerenciado.
|
||||
- **Amazon RDS**: Serviço de banco de dados relacional gerenciado.
|
||||
- **Docker**: Plataforma para criação e gerenciamento de contêineres.
|
||||
- **GitHub**: Plataforma de hospedagem de código e controle de versão.
|
||||
|
||||
## Estrutura do Projeto
|
||||
|
||||
### Componentes Principais
|
||||
|
||||
1. **API Gateway**: Gerencia todas as requisições para os microsserviços.
|
||||
2. **Config Server**: Armazena e distribui configurações centralizadas.
|
||||
3. **Service Discovery**: Localiza e registra instâncias de serviço dinamicamente.
|
||||
4. **Auth Service API**: Gerencia tokens de acesso e autenticação de usuários.
|
||||
5. **Commons Lib**: Biblioteca compartilhada entre os microsserviços.
|
||||
6. **Email Service**: Envia e-mails utilizando RabbitMQ para gerenciamento de filas.
|
||||
7. **User Service API**: Gerencia informações de usuários.
|
||||
8. **Order Service API**: Gerencia ordens de serviço.
|
||||
|
||||
## Funcionalidades
|
||||
|
||||
- **Autenticação e Autorização**: Utilizando Spring Security e JWT.
|
||||
- **Balanceamento de Carga**: Distribuição automática de solicitações entre serviços.
|
||||
- **Configurações Centralizadas**: Atualização dinâmica de configurações em tempo de execução.
|
||||
- **Mensageria**: Comunicação assíncrona com RabbitMQ.
|
||||
- **Integração Contínua**: Utilizando GitHub e Docker para versionamento e implantação.
|
||||
|
||||
## Instalação
|
||||
|
||||
### Pré-requisitos
|
||||
|
||||
- [Java 17 ou superior](https://www.oracle.com/java/technologies/javase-jdk17-downloads.html)
|
||||
- [Docker](https://www.docker.com/get-started)
|
||||
- [Maven](https://maven.apache.org/install.html)
|
||||
- [Git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git)
|
||||
|
||||
### Iniciando o Projeto com Gradle
|
||||
|
||||
1. Clone este repositório.
|
||||
2. Navegue até o diretório do projeto.
|
||||
3. Execute `./gradlew build` para compilar o projeto.
|
||||
4. Execute `./gradlew run` para iniciar o servidor.
|
||||
|
||||
### Importando a Coleção do Postman
|
||||
|
||||
1. Baixe a coleção do Postman.
|
||||
2. Abra o aplicativo Postman.
|
||||
3. Clique em "Importar".
|
||||
4. Selecione o arquivo da coleção baixado.
|
||||
5. Siga as instruções para importar a coleção.
|
||||
|
||||
## Contribuição
|
||||
|
||||
1. Fork o projeto.
|
||||
2. Crie uma branch para sua feature (`git checkout -b feature/nova-feature`).
|
||||
3. Commit suas mudanças (`git commit -am 'Adiciona nova feature'`).
|
||||
4. Push para a branch (`git push origin feature/nova-feature`).
|
||||
5. Abra um Pull Request.
|
||||
|
||||
## Licença
|
||||
|
||||
Este projeto está licenciado sob a [MIT License](LICENSE).
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue