Skip to content

Repositório dedicado ao projeto Ignite Lab #01 Microsserviços da RocketSeat.

License

Notifications You must be signed in to change notification settings

marcel099/rs-ignite-lab-01-microservices

Repository files navigation

Ignite Lab #01 - Microsserviços

Índice

Sobre

O projeto foi desenvolvido na primeira edição do evento Ignite Lab proporcionado pela empresa Rocketseat aos alunos do programa Ignite.

O propósito do projeto foi desenvolver um sistema baseado na arquitetura de microsserviços.

Arquitetura

O sistema, desenvolvido em TypeScript, é composto de um site em React e um Back-End GraphQL Node em arquitetura de microsserviços.

Diagrama dos componentes do sistema. São eles: uma aplicação web, um microsserviço dedicados a compras e seu respectivo banco de dados, um microsserviço dedicado a salas de aula e seu respectivo banco de dados, um microsserviço gateway.

Cada um dos microsserviços se conecta ao seu próprio banco de dados.

Modelo Entidade-Relacionamento do banco de dados do microsserviço dedicado a compras. Modelo Entidade-Relacionamento do banco de dados do microsserviço dedicado a salas de aula.

Principais tecnologias utilizadas

O sistema foi desenvolvido em TypeScript. É composto de 4 partes:

Alguns pontos a destacar:

  • Uso do protocolo GraphQL como forma de comunicação entre Front-End e Back-End
  • Utilização de Arquitetura de Microsserviços no Back-End através do Apollo Federation
  • Integração entre microsserviços através do Apache Kafka
  • Emprego de um microsserviço gateway através do Apollo Gateway para proporcionar transparência ao Back-End
  • Consumo do Back-End através do Apollo Client

Instalação local

Passos para atingir isso podem ser conferidos neste arquivo.

Licença

Este projeto está sob a licença MIT. Para maiores detalhes acesse o arquivo de licença.