Saltar a contenido

platform-api

Propósito

API REST pública de la plataforma white label de casino. Es el contrato central que consumen el front, el BackOffice, las integraciones y los servicios internos.

Stack

  • Laravel 12 · PHP 8.2+
  • Laravel Sanctum
  • PostgreSQL
  • Redis
  • Laravel Octane sobre FrankenPHP
  • SQS en producción / database en local
  • Spatie Laravel Permission · OwenIt Auditing

Repositorio

VortexPlayDev/platform-api

Arquitectura

  • Organización por dominios: Users, Games, Wallets, Platforms, Core.
  • Repositorios para acceso a datos, formatters para respuestas y services para lógica compleja.
  • Middlewares CleanDomain e IdentifyPlatform resuelven la plataforma por dominio.
  • El contexto de plataforma se guarda en Platform\Utils\Support\PlatformContext.
  • Las rutas viven en routes/api/ y se cargan automáticamente.

Desarrollo local

cp .env.example .env
composer install
php artisan key:generate
php artisan migrate
php artisan serve

Comandos útiles:

php artisan test
vendor/bin/pint
php artisan route:list
php artisan queue:work

Deploy

  • Runtime: Octane + FrankenPHP standalone.
  • Imagen base: dunglas/frankenphp:1-php8.4-alpine.
  • Build en AWS CodeBuild, imagen en ECR y servicio en ECS Fargate.
  • El contenedor web solo sirve HTTP; el worker de cola y el scheduler son servicios separados.

Contrato

  • Fuente de verdad: docs/api-contract.md.
  • Cualquier endpoint nuevo, cambiado o eliminado debe actualizar ese archivo.

Documentación relacionada