TechDesk

Gaming Platform

Multi-brand gaming platform architecture

Industry
Gaming · Platform architecture
Status
Foundation phase
Our role
Architecture and engineering
Services
Software Engineering, Web & Product Engineering

Overview

The foundation for a multi-product gaming platform (sportsbook, casino aggregation, instant games, wallet, payments, bonuses, VIP, affiliates and an operator back office) as one configurable, multi-brand, multi-jurisdiction codebase.

The problem

  • A bet touches wallet, odds, bonus and risk at the same time; getting money wrong once is unacceptable.
  • Operators need several brands and jurisdictions without forking the code.

The approach

A modular monolith with strict domain boundaries: a bet is one database transaction, not a distributed saga, while modules stay isolated enough to extract later. Correctness rules are enforced by tests and lint rules, not by good intentions.

System architecture

  1. 01

    Platform API

    Fastify 5; one Zod schema is validator, type and OpenAPI source

  2. 02

    Ledger

    Immutable double-entry ledger in PostgreSQL; balances are derived, never mutated

  3. 03

    Realtime + jobs

    Redis 8 pub/sub for live odds; BullMQ jobs with retries

  4. 04

    Player app

    Next.js 16, dark-first and mobile-first, brand-driven tokens

  5. 05

    Config

    Brand config, currency registry and environment validation per deployment

Technology

  • Fastify 5
  • TypeScript
  • PostgreSQL 17
  • Drizzle
  • Redis 8
  • BullMQ
  • Next.js 16
  • React 19
  • Tailwind v4
  • Vitest

Key features

  • Money as bigint minor units with an explicit currency; floats on money are a lint error
  • Every financial operation idempotent, enforced by a unique index
  • Compliance server-side and deny-by-default
  • External callbacks signature-verified, replay-protected and idempotent
  • Structured logging with mandatory redaction