Event Ticket Marketplace Backend
A live ticket marketplace backend for auctions, resale, wallet accounting and partner settlement.
Key results
61%
Share of repository commits I authored (162 of 267)
2 → 1
Primary databases consolidated into PostgreSQL, with Redis retained as cache
3 roles
Separate API access for admin, client and partner roles
- Backend Engineer (freelance), led the v2 refactor
- Nov 2025 to Dec 2025
- TEMMPAT
- Key project
- L3:ticket-marketplace-backend
Results
61%
Share of repository commits I authored (162 of 267)
2 → 1
Primary databases consolidated into PostgreSQL, with Redis retained as cache
3 roles
Separate API access for admin, client and partner roles
Problem
TEMMPAT supports buying, reselling and auctioning concert and event tickets. Its v1 backend split data between MongoDB and PostgreSQL without clear layers. The business needed dependable escrow-style payments, refunds and partner payouts.
Contribution
- I moved the Express API to Bun with a repository pattern and consolidated data in PostgreSQL, retiring MongoDB. I added Redis caching with explicit invalidation.
- I prevented double-selling by rewriting checkout and auction orders as database transactions with row locks and stock reservation.
- I built wallets with a transaction ledger, multi-component platform fees, signature-verified payment callbacks, refunds and withdrawals, with partner share settlement on order completion.
- I added Socket.IO buyer-seller chatrooms that open after payment, plus admin review of ticket files and signatures.
- I separated admin, client and partner access, added security logging and configured Prometheus and Grafana with blackbox and PostgreSQL exporters.
Architecture
Tech stack
Bun
Node.js
Express
PostgreSQL
Sequelize
RedisSocket.IO
JWT
AWS S3Brevo
Docker
nginx
Prometheus
Grafana
Jest
- iPaymu