Skip to content

Api desenvolvida seguindo uma arquitetura de microservices. O objetivo dessa Api é entregar uma solução de gerenciamento para um campeonato de tênis.

License

Notifications You must be signed in to change notification settings

isaiasiotti18/microservices-smartranking

Repository files navigation

Api Smart Ranking

Api para ajudar no gerenciamento de rankings de jogadores tênis, usando uma arquitetura de microservices

GitHub JavaScript TypeScript Minimum node.js version GitHub license

🛠 Tecnologias

As seguintes ferramentas foram usadas na construção do projeto:

Features

  • 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

Pré-requisitos

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

🎲 Rodando o Back End (servidor)

# 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> 

Aviso importante!

Será necessário algumas configurações:

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

Também será preciso configurar os serviços na Aws

  • IAM
  • EC2 (Criar a virtual machine com o Rabbitmq usando a Bitnami)
  • S3
  • Cognito

O Deploy da Api

  • SAP Cloud platform
  • CI com Gitlab

Autor

Github - isaiasiotti18 Linkedin - Isaias Santos

Feito com <3 por mim, Entre em contato!

MIT licensed.

About

Api desenvolvida seguindo uma arquitetura de microservices. O objetivo dessa Api é entregar uma solução de gerenciamento para um campeonato de tênis.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published