Moovbet Backend API
Monorepo central contendo a inteligência de negócios da casa de apostas, orquestrado e desenvolvido inteiramente em NestJS.
⚡ Arquitetura de Microsserviços
A aplicação é um monorepo que segue as convenções estritas arquiteturais do NestJS (nest-cli).
Eles são divididos dentro das pastas nativas apps/* que compartilham métodos em libs/common.
Core (Porta 3001)
Processa as regras vitais do jogador. Registros, depósitos, e operações gerais dos cassinos virtuais e sportsbooks.
Admin (Porta 3002)
Motor exclusivo para gestores da Plataforma. Contém lógicas de CRUD e restrições de permissão hierárquica severa.
Email-Sender (Porta 3004)
Worker isolado encarregado do envio maciço de e-mails transacionais (como redefinição de senhas) via Amazon SES.
Games (Porta 3005)
Processa lógicas de gamificação interna. (Pode estar sob forte refatoração, atualmente desativado no ambiente de dev).
Providers (Porta 3006)
Filtro de integração que atua como hub conversando com agregadores massivos de jogos, como a InfinGame, Evolution, etc.
Partners (Porta 3008)
Microsserviço que computa ganhos de Afiliados. Possui CRON jobs que rodam periodicamente para calcular CPA Brokers e Comissões.
🗄️ Bases de Dados & Filas
O software aciona 4 containers primordiais de infraestrutura pesada sob a rede docker moovbet:
-
🐘
PostgreSQL 14+
Base principal e relacional da aplicação (TypeORM). Guarda desde o KYC dos usuários até dados contábeis rígidos.
-
🍃
MongoDB Atlas/Local
Base NoSQL que grava volumes altíssimos de eventos isolados. Alerta de Custo: Foi documentado no TopicMap que esta base está gerando cobranças excessivas de $8,000 mensais na nuvem AWS.
-
🔴
Redis
Engine em memória. Utilizado pelo pacote nativo
io-redispara Rate-Limiting, Caching das Sessões de JWT e Locks Distribuídos. -
🐰
RabbitMQ
Espinha dorsal vital para Mensageria. Desacopla as requisições, transferindo dados de forma garantida entre o Core e os outros microsserviços (ex: Avisando o Partners quando o usuário ganha).
🔌 Gateways e Third-Parties
A varredura estática de `.env.example` retornou integrações profundas com dezenas de provedores de mercado:
Autenticação Social
Estratégias via PassportJS para Google Auth, Facebook Auth e Discord Auth construídas no backend.