Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/robsantossilva/maratona-fullcycle-marco-2020

Maratona Full Cycle Março 2020
https://github.com/robsantossilva/maratona-fullcycle-marco-2020

Last synced: about 2 months ago
JSON representation

Maratona Full Cycle Março 2020

Awesome Lists containing this project

README

        



Maratona Full Cycle Março/2020


Projeto de um sistema de ordens de entregas (Delivery) com monitoramento realtime.


### Detalhamento
A principio parece um simples CRUD mas por trás existem 5 Microsserviços trabalhando juntos, cada um se responsabiliza por um contexto diferente da aplicação e trabalhando em sintonia conseguem solucionar o problema. A Ideía principal é permitir a criação de ordens de entrega, selecionando o motorista e o destino. Um microsserviço escrito em Go Lang irá simular o deslocamento do motorista e esse deslocamento é monitorado em tempo real através de uma interface web desenvolvida com Reac JS.

E por fim, após o motorista chegar ao destino o micro serviço é notificado e então altera o status da entrega para "Entregue".

### Tecnologias utilizadas
- RabbitMQ 3.8: Faz a comunicação assincrona entre os microsserviços
- Go Lang 1.14
- NodeJs 12.14
- Framework NestJS
- Framework RactJS
- Mysql 5.7
- Docker

### Microsserviços
- Micro-Drivers: Mantem o cadastro de motoristas.

- Micro-Orders: Responsável pela criação de ordens de entregas, tudo o que se refere a Ordens de Entrega será responsabilidade deste microsserviço. Irá comunica-se com Micro-Drivers via http request para obter informações do driver. Notificara o Micro-Mapping e Micro-Simulator que uma nova orden foi criada.

- Micro-Mapping: Responspável por manter o RealTime do posicionamento do motorista e identifica se o mesmo chegou ao destino notificando o Micro-Order que o motorista finalizou a entrega.

- Micro-Simulator: Responsavel por simulator o deslocamento do motorista.

### Pré-requisitos
- Docker
- Docker Compose

### Instalação
``` bash
sudo docker-compose up -d
```