Ticketing & Point-of-Sale for Recreation Venues
A full-stack, multi-tenant point-of-sale and ticketing platform for swimming pools and recreation venues: sell and print entry tickets, manage members, take payment by cash, dynamic QRIS, or RFID/membership, and track revenue and visits through operator dashboards — all on one shared, multi-business deployment. (Freelance project.)
What it does. The platform runs the front desk of a swimming pool / recreation venue. Cashiers
sell entry tickets through a web POS, take payment by cash, dynamic QRIS QR, or
RFID/membership, and print a ticket/receipt with a redeemable code. Members are managed with
balances/units; visits and revenue roll up into operator dashboards. The system is
multi-tenant — several venues (usaha) run on one deployment, each with its own pricing, members,
and users.
Running a busy pool's front desk on paper and spreadsheets didn't hold up:
usaha (venue) scopes pricing, tickets, members, users, and reporting so
many venues share one deployment.| Layer | Technologies |
|---|---|
| Web app / API | Next.js (React, TypeScript), Prisma ORM, API routes |
| Database | PostgreSQL |
| Payments | Dynamic QRIS QR payments, RFID / membership, cash |
| Ticketing | Coded single-use tickets (issue + redeem), receipt/ticket printing |
| Storage | MinIO object storage (artifacts, exports) |
| Dashboards | Chart.js (revenue · visits · trends) |
| Infra | Docker / docker-compose, nginx, GitHub Actions CI/CD |
Disclaimer: sample visuals may contain anonymized, simulated, or non-production values for presentation purposes.