Moovbet Wikiarquitetura / moovbet-backoffice

Moovbet Backoffice (Painel Admin)

Central de Inteligência onde gestores, administradores e diretores tomam decisões, aprovam saques e auditam saldos. Monolito tradicional, poderoso e veloz.

C# (.NET 9.0) ASP.NET MVC Entity Framework Core Bootstrap 5

⚙️ Engenharia de Backend

Diferente do Frontend (Vite/React) e do Core Backend (NestJS), surpreendentemente o Backoffice é um Monolito puro arquitetado em C# utilizando fortemente a base robusta do ASP.NET Core MVC e Entity Framework. Isso garante zero complexidades client-side para o CMS administrativo.

Conexões Múltiplas

O Program.cs conecta ativamente em duas bases de dados distintas do PostgreSQL via Npgsql simultaneamente.

  • moovbet_backoffice (DB Isolado de Permissões/Roles)
  • moovbet (DB Principal da Operação do Cassino)

Side-Effects e Background Services

O servidor ASP.NET hospeda Daemons rodando em background consumindo filar para disparar avisos em tempo real.

  • SignalR: Utiliza o canal de Websockets nativo do C# (SaqueHub, DepositoHub) para apitar notificações visuais e sonoras na tela do gestor quando eventos financeiros ocorrem.

🖼️ O Visual e Sistema Temático

Por tratar-se de páginas ASP.NET tradicionais servidas por Controllers, utiliza o super-template fechado e maduro chamado Hyper Responsive Admin Dashboard acoplado às ferramentas mais consagradas de data-viz do mercado:

jQuery 3.7+ DataTables.net ApexCharts Chart.js

⚠️ Tratamento de Inatividade

Foi codificado um middleware estrito via `Session` com `SlidingExpiration`. Se um gestor largar o terminal minimizado e não emitir requisições (AFK), o servidor expurgará o estado e o token, forçando um logout total de segurança (previsto via `Constants.MAX_HOURS_AFK`).

🗂️ Módulos Críticos de Gestão

💰 Financeiro

Senhas hardcoded no ambiente? Não! Ele se utiliza das classes injetáveis IMoovbetSaqueService e SaldoService para ler/auditar contas de bancos, saques pendentes e depósitos falhos.

👤 Usuários e KYC

Painéis de moderação que permitem administradores ler documentações, gerir cadastros, e aplicar logs no banco isolado detalhando "quem baniu quem" (IAdminKycService).

🎰 Bônus e Cassino

Gestores e CRM podem aplicar ou retirar campanhas de Bônus (Roleover/Cassinos) em massa utilizando o módulo IPromotionsService.