Api para ajudar no gerenciamento de rankings de jogadores tênis, usando uma arquitetura de microservices
As seguintes ferramentas foram usadas na construção do projeto:
- Node.Js
- Typescript
- NestJs
- Cloud MongoDB
- Amazon Web Services
- EC2
- Cognito
- S3 Bucket
- AWS Bitnami
- RabbitMQ](https://www.rabbitmq.com/)
- SAP Cloud Platform
- Gitlab para CI
- Usuários
- Criar novos usuários
- Consultar
- Todos os usuários
- Por Id
- Atualização
- Exclusão
- Categorias (Cada usuário possui sua categoris/nível)
- Criação de novas categorias
- Consultar
- Todas as categorias
- Por Id
- Atualização
- Exclusão
- Desafios
- Consultar todos os desafios
- Consulta de desafios realizados
- Por data
- Por categoria
- Atualização do Status do desafio
- Exclusão
- Partidas
- Toda partida é criada dentro de desafios
- Rankings
- Processar partida
- Consultar Rankings
Antes de começar, você vai precisar ter instalado em sua máquina as seguintes ferramentas: Git, Node.js. Além disto é bom ter um editor para trabalhar com o código como VSCode
# Primeiro faça um clone desse repositório
$ git clone <https://github.com/isaiasiotti18/microservices-smartranking>
# Acesse cada pasta do projeto
- api-gateway
- micro-admin-backend
- micro-desafios
- micro-notificacoes
- micro-rankings
# Rode o npm install para instalar todas as dependências necessárias
$ npm install
# Execute a aplicação em modo de desenvolvimento
$ npm run dev:server
# O servidor inciará na porta:8080 - acesse <http://localhost:8080>
Variáveis de ambiente, cada micro possui suas variaveis, porém são quase tudo iguais, só no api-gateway que possui mais
- Api-gateway
- AWS_S3_BUCKET_NAME
- AWS_REGION
- AWS_ACCESS_KEY_ID
- AWS_SECRET_ACCESS_KEY
- COGNITO_USER_POOL_ID
- COGNITO_CLIENT_ID
- RABBITMQ_USER
- RABBITMQ_PASSWORD
- RABBITMQ_URL
- Os demais microservices
- RABBITMQ_USER
- RABBITMQ_PASSWORD
- RABBITMQ_URL
- IAM
- EC2 (Criar a virtual machine com o Rabbitmq usando a Bitnami)
- S3
- Cognito
- SAP Cloud platform
- CI com Gitlab
Github - isaiasiotti18 Linkedin - Isaias Santos