← Back to Products
SaaS PlatformLive

GameTrakker

A multi-tenant Pennsylvania Small Games of Chance point-of-sale, inventory, and PA Department of Revenue reporting platform for social clubs and taverns — a modern rebuild of the abandoned 2014–2017 Cordova/PHP app, with a touchscreen POS, full DOR SGOC_Report XML filing, and a native tablet POS companion.

One Next.js app, four surfaces. Host-based routing serves www (public + login), admin (manager dashboard), pos (floor register), and api from gametrakker.net, behind one Let's Encrypt cert with cross-subdomain SSO.

GameTrakker POS register — Small Games of Chance touchscreen point of sale showing the game grid with real pull-tab artwork and the current-transaction panel
The GameTrakker POS register — tap a game, enter an amount, then Pay In / Pay Out.

Platform Features

Touchscreen POS Register

A fast floor register with PIN-based staff sessions, a touchscreen pay-in/pay-out keypad, and offline resilience.

  • PIN login for floor staff (club + PIN)
  • Keypad modal: Pay In / Pay Out with change-due math
  • Ticket-price validation (no partial / below-price tickets)
  • Offline IndexedDB queue with auto-sync on reconnect
  • In-register Jackpot & Door Prize entry (PIN-auth)
  • ESC/POS receipt printer + cash drawer via print-bridge

All 9 SGOC Game Types

Tracks every official Pennsylvania Small Games of Chance game type end-to-end, with pay-in/pay-out and inventory.

  • Pull Tabs & Punch Boards
  • Raffles (incl. Special Permit)
  • Daily / Weekly Drawings
  • 50/50, Race Night, and Pools
  • Per-sale ticket tally and open-deal tracking
  • Bingo & Keno intentionally excluded (not SGOC)

DOR SGOC_Report XML Filing

Generates the official PA Department of Revenue submission — XSD-valid XML, aggregated by week and game-type code, PGP-ready.

  • XSD-valid SGOC_Report XML (validated against the official schema)
  • Sections 1–5: license, ledger, charity payouts, expenses, totals
  • Game-type guard rejects unmappable types before filing (HTTP 422)
  • PGP encryption hook for DOR transmission
  • Daily, Weekly, Monthly, and Employee reports
  • Schedule-V and CSV export

Games & Inventory

Full game lifecycle with a shared Game Master catalog, on-hand inventory, and bulk operations.

  • Game CRUD with image upload
  • Game Master catalog with real manufacturer artwork
  • On-hand inventory and open-deal tracking
  • Bulk activate / inactivate
  • Per-game reconciliation via the payout engine
  • 78-game demo catalog for the showcase club

Operations

Jackpots, door prizes, charities, and expenses — the money movement around the games.

  • Jackpot tracking and payouts
  • Door prize entry
  • Charities and charitable payout distribution
  • Expense recording
  • Pay-in / pay-out ledger with idempotent replay protection
  • Recharts daily-activity dashboard

Multi-Tenant Admin + RBAC

Organization, club, and staff management with feature-level permissions authoritative across nav and API.

  • Company / SGOC license with county-municipality cascade
  • Staff CRUD with PINs, custom roles, and per-user grants
  • Clubs and company groups
  • requireCapability() gates both nav and API from one grant
  • Manager (web NextAuth) + floor (PIN session) auth models
  • Audit logging on privileged actions

Stripe Billing

Organization-level subscriptions with signature-verified webhooks and a self-service billing portal.

  • Org-level plan mapping from Stripe price IDs
  • Checkout + customer portal (owner-gated)
  • Signature-verified webhook plan sync
  • Graceful 503 when billing is unconfigured
  • Public pricing page

Legacy Migration

Imports the abandoned 2014–2017 Cordova/PHP/MySQL app's data into the modern multi-tenant Postgres schema.

  • MySQL → Postgres migration tool (idempotent by legacy company ID)
  • Companies → Organizations, Users → PIN-hashed memberships
  • Game Master, Games, GamePay ledger, charities, jackpots
  • Exact financial-total reconciliation checks pass
  • Re-run safe: never touches the demo seed

Technology Stack

Next.js 15React 19TypeScriptPrisma 6PostgreSQL 16NextAuthPIN sessionsStripeTailwind CSSRechartsPinoSentryopenpgpnodemailer → PostfixCapacitorDockerNginxJestPlaywright

Build Metrics

9

SGOC Game Types

65

Unit Tests

18

E2E Tests

4

Subdomains