Skip to content

About

Plataforma iGaming white label com Laravel 10, Vue 3, Filament 3. Integração com 13+ provedores de jogos e 5 gateways de pagamento. Sistema completo de afiliados e painel administrativo.

Topics

Resources

Contributing

Security policy

Stars

3 stars

Watchers

0 watching

Forks

Latest commit

 

History

12 Commits

Folders and files

Repository files navigation

GitHub Repository GitHub Stars Site em Produção Laravel Version

🎰 Plataforma iGaming - Projeto de Portfólio

Esta é uma plataforma completa de iGaming desenvolvida em PHP utilizando o Framework Laravel 10 e Vue 3, com várias integrações com diferentes provedores de jogos e gateways de pagamento.

ℹ️ Sobre este Repositório: Este repositório contém apenas a documentação e descrição do projeto. O código-fonte é mantido em repositório privado.

⚠️ Aviso Legal: Este software é destinado apenas para uso em jurisdições onde o iGaming é legalmente permitido. Use-o com responsabilidade e consciência, e não o utilize para fins fraudulentos.

🚀 Tecnologias Utilizadas

  • Backend: Laravel 10 (PHP 8.1+)
  • Frontend: Vue 3, Pinia, Vue Router
  • UI Framework: Filament 3, Tailwind CSS, Flowbite
  • Autenticação: Laravel Sanctum, JWT Auth
  • Banco de Dados: MySQL/MariaDB
  • WebSockets: Laravel Echo, Pusher
  • Build Tool: Vite

✨ Recursos Principais

🔐 Autenticação e Segurança

  • Autenticação com Google OAuth
  • Sistema de permissões e roles (Spatie Permissions)
  • Middlewares de segurança personalizados (CheckAdmin, CheckAffiliate)
  • Validação de tokens para transações de jogos
  • Proteção contra fraudes em requisições de vitórias

🎮 Provedores de Jogos Integrados

  • Slotegrator - Plataforma completa de jogos
  • Salsa Games - Jogos de cassino
  • EverGame - Provedor de jogos com validação de tokens
  • WorldSlot - Integração completa com validação de segurança
  • Fivers - Método Seamless para integração transparente
  • PlayFiver - Provedor adicional de jogos
  • Nexus - Integração de jogos
  • Drakon - Provedor de jogos
  • Games2Api - API de jogos
  • Vibra - Plataforma de jogos
  • VeniX - Provedor de jogos
  • PlayGaming - Integração com validação de tokens
  • PrivateGames - Jogos privados
  • KaGaming - Provedor adicional

💳 Gateways de Pagamento

  • DigitoPay - Gateway principal
  • Stripe - Pagamentos internacionais
  • SuitPay - Gateway de pagamento
  • BSPay - Integração de pagamentos
  • UPay Brasil - Gateway brasileiro com PIX

👥 Sistema de Afiliados

  • Sistema de Afiliados com RevShare e CPA
  • Painel de Afiliados separado e completo
  • Sistema de Sub-afiliados
  • Controle de comissões e saques
  • Dashboard com estatísticas detalhadas
  • Histórico completo de transações

🎯 Funcionalidades do Sistema

Painel Administrativo Completo (Filament 3)

  • Gerenciamento de usuários, jogos e provedores
  • Controle de depósitos e saques
  • Gestão de banners e slides
  • Configurações avançadas
  • Sistema de missões
  • Controle de VIP
  • Gerenciamento de categorias de jogos

Painel de Afiliados

  • Dashboard personalizado
  • Controle de sub-afiliados
  • Histórico de comissões
  • Solicitação de saques

Sistema de Notificações

  • Notificações em tempo real via WebSockets
  • Notificações de depósitos e saques
  • Sistema de eventos (GameWin, SportBet, etc.)

Sistema de Jogos

  • Favoritos e likes
  • Avaliações de jogos
  • Jogos em destaque
  • Busca avançada
  • Controle de RTP (Return to Player)
  • Visualizações e estatísticas

Sistema de Missões

  • Missões personalizáveis
  • Sistema de recompensas
  • Controle de progresso

Sistema VIP

  • Níveis VIP configuráveis
  • Benefícios por nível
  • Controle de usuários VIP

Sistema de Roleta (Spin)

  • Configurações de roleta
  • Controle de execuções
  • Sistema de prêmios

Customização

  • Customização de layout CSS
  • Gerenciamento de banners e slides
  • Personalização de temas
  • Sistema de moedas múltiplas

Sistema de GGR (Gross Gaming Revenue)

  • Controle de GGR por provedor
  • Relatórios detalhados
  • Análise de performance

🔄 Arquitetura e Desenvolvimento

🏗️ Estrutura do Projeto

Organização Modular

  • Estrutura de rotas modular - Sistema organizado em routes/groups/
    • Separação clara entre rotas de provedores, gateways, autenticação e layouts
    • Facilita manutenção e escalabilidade
    • Reduz acoplamento entre módulos

Sistema de Traits

  • Provedores de jogos - Implementação através de Traits
    • Cada provedor possui sua própria trait em app/Traits/Providers/
    • Código mais limpo e reutilizável
    • Facilita adição de novos provedores
    • Isolamento de lógica específica de cada integração

Separação de Responsabilidades

  • Controllers organizados - Separação clara de responsabilidades
    • Controllers específicos para cada funcionalidade
    • Redução de código duplicado
    • Melhor organização e legibilidade

🔐 Segurança

Middlewares Personalizados

  • Validação de acesso - Middlewares específicos para cada painel
    • CheckAdmin - Validação exclusiva para painel administrativo
    • CheckAffiliate - Validação exclusiva para painel de afiliados
    • Separação completa de permissões entre painéis
    • Prevenção de acesso não autorizado

Validação de Tokens

  • Sistema de validação de tokens implementado
    • Implementação em múltiplos provedores (EverGame, WorldSlot, PlayGaming)
    • Prevenção de fraudes em transações
    • Validação centralizada e reutilizável

💳 Gateways de Pagamento

Estrutura Unificada

  • Padronização de implementação para todos os gateways
    • Sistema de serviços para cada gateway
    • Melhor tratamento de erros e exceções
    • Webhooks automatizados e mais confiáveis

🎮 Provedores de Jogos

Padronização de Integrações

  • Todos os provedores seguem padrão único
    • Sistema de traits permite fácil manutenção
    • Tratamento de erros padronizado
    • Logs e debugging melhorados

🎨 Frontend

Vue 3 com Composition API

  • Migração para Vue 3 com Composition API
  • Implementação de Pinia para gerenciamento de estado
  • Componentes reutilizáveis e modulares
  • Melhor performance e experiência do usuário

Filament 3

  • Painéis administrativos desenvolvidos com Filament 3
  • Interface moderna e responsiva
  • Melhor organização de recursos

📊 Banco de Dados

Otimização de Queries

  • Refatoração de queries N+1
  • Implementação de eager loading onde necessário
  • Índices adicionados para melhor performance
  • Otimização de relacionamentos entre models

Models Otimizados

  • Uso de Attribute Casting para proteção de dados sensíveis
  • Melhor organização de fillable/hidden attributes
  • Relacionamentos otimizados
  • Accessors e Mutators implementados

🚀 Performance

Cache e Otimização

  • Implementação de cache estratégico
  • Otimização de rotas e configurações
  • Melhor uso de recursos do Laravel
  • Redução de tempo de resposta

Build e Assets

  • Migração para Vite (substituindo Mix)
  • Build mais rápido e eficiente
  • Melhor organização de assets
  • Hot Module Replacement (HMR) para desenvolvimento

🧪 Qualidade de Código

Padrões e Boas Práticas

  • PSR-12 - Padrão de codificação seguido
  • Código mais limpo e legível
  • Comentários e documentação melhorados
  • Nomes de variáveis e métodos mais descritivos

Documentação de Código (PHPDoc)

  • PHPDoc completo em todos os métodos públicos principais
  • Documentação detalhada de métodos complexos com exemplos
  • Documentação de parâmetros, retornos e exceções
  • Referências cruzadas entre métodos relacionados
  • Arquivos principais documentados:
    • app/Helpers/Core.php - Métodos principais de lógica de negócio
    • app/Http/Controllers/Api/Profile/WalletController.php - Controller de carteira
    • app/Traits/Gateways/UpayTrait.php - Integração com gateway U Pay Brasil
    • app/Models/Wallet.php - Model de carteira com accessors documentados

Tratamento de Erros

  • Sistema de exceções personalizadas
  • Melhor tratamento de erros em APIs
  • Logs mais informativos
  • Mensagens de erro mais claras para desenvolvedores

🔒 Melhorias e Correções de Segurança

Esta plataforma passou por diversas melhorias para prevenir ataques e proteger os usuários contra ações maliciosas.

🔐 Segurança de Acesso aos Painéis

Problema: Rotas do admin sendo acessadas pelo painel de afiliados

Esse problema ocorria devido à ausência de uma validação separada, permitindo que algumas páginas do administrador fossem acessadas pelo painel de afiliado usando a mesma sessão e função.

Solução Implementada:

  • Novos middlewares criados para permitir bloqueios e validações individuais nos painéis:
    • CheckAdmin - Validação exclusiva para administradores
    • CheckAffiliate - Validação exclusiva para afiliados
  • Separação completa de permissões entre painéis
  • Validação de roles em todas as rotas sensíveis

🎮 Segurança em Provedores de Jogos

Validação de Tokens em Provedores

Para evitar que dados de vitória sejam enviados via requisição e o saldo seja fraudado, implementamos um sistema de tokens para validar as transações recebidas nos seguintes provedores:

  • EverGame - Sistema de validação de tokens implementado
  • WorldSlot - Validação de segurança nas transações
  • PlayGaming - Proteção contra requisições fraudulentas

💳 Melhorias nos Gateways de Pagamento

DigitoPay - Melhorias de Segurança

  1. Mudanças na Consulta de Status

    • Anteriormente: Enviávamos apenas o ID da transação para o front-end
    • Agora: Enviamos tanto o ID da transação quanto o ID de verificação
    • Benefício: Permite realizar a chamada da transação com maior segurança
  2. Verificação Adicional no Webhook

    • Implementada verificação adicional na confirmação de depósito
    • Garante que o pagamento foi realmente aprovado antes de creditar o saldo
    • Previne fraudes e duplicação de créditos
  3. Webhook Automatizado

    • Webhook da DigitoPay agora é automaticamente configurado
    • Reduz erros de configuração manual
    • Melhora a confiabilidade do sistema

Novos Gateways Implementados

  • Stripe - Integração completa com suporte a webhooks
  • SuitPay - Gateway de pagamento brasileiro
  • BSPay - Integração de pagamentos
  • U Pay Brasil - Gateway com suporte a PIX e consulta de status

🛡️ Outras Melhorias de Segurança

  • Sistema de validação de tokens em todas as transações críticas
  • Proteção contra CSRF em todas as rotas
  • Validação de permissões em nível de middleware
  • Sistema de logs para auditoria de ações administrativas
  • Proteção de dados sensíveis com atributos ocultos em modo demo

📋 Requisitos do Sistema

Requisitos Mínimos

  • PHP: 8.1 ou superior
  • Composer: 2.0 ou superior
  • Node.js: 16.x ou superior
  • NPM: 8.x ou superior
  • Banco de Dados: MySQL 5.7+ ou MariaDB 10.3+
  • Extensões PHP: curl, intl, libxml, simplexml, zip

📸 Screenshots

Nota: As imagens podem levar alguns segundos para carregar devido ao tamanho dos arquivos.

Interface Principal

Interface Principal

Painel Administrativo

Configurações Gerais

Configurações do Sistema

Configurações de Gateways

Configurações de Gateways

Gerenciamento de Provedores

Gerenciamento de Provedores

Customização

Customização do Sistema

Interface do Usuário

Jogos

Interface de Jogos

Jogos Mobile

Interface Mobile

Depósitos

Sistema de Depósitos

Idiomas

Seleção de Idiomas

🛠️ Tecnologias e Ferramentas

Backend

  • Laravel 10
  • PHP 8.1+
  • MySQL/MariaDB
  • Laravel Sanctum
  • JWT Auth
  • Spatie Permissions

Frontend

  • Vue 3
  • Pinia
  • Vue Router
  • Tailwind CSS
  • Flowbite
  • Vite

Admin Panel

  • Filament 3
  • Laravel Modules

Integrações

  • Laravel Echo
  • Pusher
  • Guzzle HTTP
  • Stripe SDK

📝 Notas de Desenvolvimento

Estrutura de Rotas

O projeto utiliza uma estrutura modular de rotas:

  • routes/groups/provider/ - Rotas dos provedores de jogos
  • routes/groups/gateways/ - Rotas dos gateways de pagamento
  • routes/groups/auth/ - Rotas de autenticação
  • routes/groups/layouts/ - Rotas de layout

Traits de Provedores

Cada provedor possui sua própria trait em app/Traits/Providers/:

  • Facilita a manutenção e extensão
  • Permite reutilização de código
  • Isola a lógica específica de cada provedor

Sistema de Módulos

O projeto utiliza nwidart/laravel-modules para organização modular do código.

🎯 Desafios e Soluções

Desafios Enfrentados

  1. Integração com Múltiplos Provedores

    • Desafio: Cada provedor possui APIs diferentes e padrões distintos
    • Solução: Criação de sistema de Traits padronizado, facilitando a integração de novos provedores
  2. Segurança em Transações

    • Desafio: Prevenir fraudes em transações de jogos
    • Solução: Implementação de sistema de validação de tokens em múltiplos provedores
  3. Separação de Painéis

    • Desafio: Garantir que painéis administrativo e de afiliados sejam completamente separados
    • Solução: Criação de middlewares específicos (CheckAdmin, CheckAffiliate)
  4. Performance e Escalabilidade

    • Desafio: Otimizar queries e melhorar performance
    • Solução: Refatoração de queries N+1, implementação de eager loading e cache estratégico

🆕 Melhorias Recentes (2024-2025)

💰 Sistema de Ganhos e Rollover

Correção: Ganhos dos Jogos

  • Problema corrigido: Ganhos dos jogos não estavam disponíveis para saque quando havia rollover ativo
  • Solução implementada: Ganhos agora são creditados diretamente em balance_withdrawal (disponível para saque)
  • Comportamento:
    • Ganhos sempre vão para balance_withdrawal, independentemente do rollover
    • Rollover se aplica apenas ao depósito inicial, não aos ganhos
    • Usuários podem sacar ganhos imediatamente após vencer

Sistema de Depósitos

  • Lógica de rollover aprimorada:
    • Se rollover desabilitado: depósitos vão direto para balance_withdrawal
    • Se rollover habilitado: depósitos vão para balance com rollover configurado
  • Transparência: Sistema agora documenta claramente onde cada valor é creditado

💸 Sistema de Saques

Melhorias Implementadas

  • Validações aprimoradas:
    • Verificação de saldo disponível com mensagens detalhadas
    • Validação de limites diários, semanais, mensais e anuais
    • Verificação de valores mínimos e máximos
  • Correção de formatação:
    • Valores de saque mínimo e máximo agora são formatados corretamente
    • Correção automática de valores em centavos (ex: 500000 → 5000.00)
    • Cast decimal:2 em min_withdrawal e max_withdrawal no model Setting
  • Interface administrativa:
    • Ações explícitas de aprovação de saques
    • Integração com SuitPay para processamento
    • Filtros avançados para busca de saques
    • Status visual com cores (Pendente, Aprovado, Cancelado)

📊 Sistema de Transações

Nova Funcionalidade

  • Resource de Transações no Admin:
    • Visualização completa de todas as transações financeiras
    • Filtros por status, método de pagamento, data e valor
    • Badge de notificação com quantidade de transações pendentes
    • Busca global por usuário, payment_id e referência
  • Correções na tela do usuário:
    • Ordenação de depósitos por data (mais recentes primeiro)
    • Correção de formatação de moeda com fallback para moeda da carteira
    • Tratamento de valores nulos e indefinidos

🔧 Melhorias Técnicas

Tratamento de Erros

  • Função currencyFormat aprimorada:
    • Tratamento robusto de valores null e undefined
    • Fallback automático para moeda padrão (BRL)
    • Try-catch para prevenir erros de formatação
    • Conversão automática para uppercase

Logs e Debugging

  • Logs detalhados em operações críticas:
    • Logs de saques com informações completas
    • Logs de processamento de pagamentos
    • Logs de webhooks com dados completos
    • Facilita debugging e auditoria

📚 Documentação de Código

PHPDoc Completo

  • Métodos principais documentados:
    • Core::payWithRollover() - Lógica complexa de rollover documentada
    • Core::DiscountBalance() - Priorização de saldos documentada
    • UpayTrait::finalizePayment() - Processamento de pagamentos documentado
    • WalletController::requestWithdrawal() - Fluxo de saque documentado
  • Características da documentação:
    • Descrições detalhadas de comportamento
    • Exemplos de uso práticos
    • Documentação de parâmetros e retornos
    • Referências cruzadas com @see
    • Documentação de exceções possíveis

🐛 Correções de Bugs

Correções Aplicadas

  • ✅ Ganhos não disponíveis para saque quando rollover ativo
  • ✅ Valores de saque mínimo/máximo exibidos incorretamente (500000.00 → 5000.00)
  • ✅ Transações pagas aparecendo como pendentes
  • ✅ Formatação de moeda com valores nulos causando erros
  • ✅ Ordenação incorreta de depósitos na tela do usuário

📌 Status do Projeto

Este projeto está em produção e sendo continuamente melhorado com novas funcionalidades e otimizações.

🌐 Site em Produção: https://usealpa.online/

📧 Contato

Para mais informações sobre o projeto, entre em contato através do GitHub.


Nota: Este repositório contém apenas a documentação do projeto. O código-fonte é mantido em repositório privado.

About

Plataforma iGaming white label com Laravel 10, Vue 3, Filament 3. Integração com 13+ provedores de jogos e 5 gateways de pagamento. Sistema completo de afiliados e painel administrativo.

Topics

Resources

Contributing

Security policy

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors