SaaSPrivate repository

PlayTime — gaming club automation

Multi-tenant SaaS for billiards, PlayStation, karaoke and bowling clubs: time-based billing, kitchen orders and a Telegram Mini App that mirrors the floor live.

Overview

Clubs bill by the minute. PlayTime runs the floor — tables, sessions, day and night tariffs, counter sales, debts, a kitchen till and stock — for any number of clubs on one server, each blind to the others' data.

My contribution

  • Sole engineer — 69 commits, 459 test functions.
  • Multi-tenant user model and organisations, with a superadmin console across clubs.
  • Billing engine for time-based sessions, counter sales and debts that require a customer phone number.
  • Live floor state over Django Channels: a table started on the laptop appears on the Telegram Mini App and back again.
  • Kitchen workflow with a spoken order queue; roles confined so the kitchen sees only the kitchen.
  • Stock ledger with auto-consume on delivery and low-stock alerts; profit analytics from money that actually left.
  • Backups to an allow-listed Telegram destination only.

Architecture

  • Django 5.2 + Channels on Daphne; PostgreSQL; Redis as the channel layer.
  • aiogram for the bot and Mini App; receipts with ReportLab.
  • Docker Compose with Caddy terminating TLS.
All projects
PlayTime — gaming club automation — Matnazar Matnazarov