Sistema feito para gerenciamento de milhas aéreas O usuário irá cadastrar um cartão informando o bandeira (Visa, MaterCard, Elo, etc) e poderá enviar email para todos os donos de uma determinada bandeira.
Projeto desenvolvido para praticar conceitos de micro serviços. Os micro serviços são
- Air miles card Api responsável pelo cadastro dos cartões
- Air miles newsletter Api responsável pelo envio de emails
- Air miles web Aplicação web responsável pela interface das API's com o usuário
- Node + Typescript
- RabbitMq para mensageria
- Jest como ferramenta de testes automatizados
- Eslint para padronizar alguns aspectos do código como aspas simples e ponto-vírgula
- Husky e lint-staged para garantir que o desenvolvedor não suba o código sem executar os testes e lint
- Typeorm para manipulação de banco de dados
- Swagger para documentação
- Docker e Docker-Compose instalados.
Para executar o projeto, você deverá clonar, entrar na pasta do projeto e executar os serviços utilizando docker-compose. Segue exemplo utilizando SSH. Você também pode baixar usando a CLI do github
git clone git@github.com:murilomaiaa/air_miles.git \
&& cd air_miles \
&& docker-compose up -d
O docker-compose irá iniciar os seguintes serviços
- Uma instância de RabbitMQ.
- Banco de dados Postgres para o air_miles_card
- Redis para fazer rate limiter do air_miles_card
- air_miles_card.
- Banco de dados Postgres para o air_miles_newsletter
- air_miles_newsletter
- Aplicação web
Para utilizar a aplicação basta acessar http://localhost:3000