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.
⚙️ 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:
⚠️ 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.