Backend Marketplace Tiket Acara
Backend marketplace tiket yang sudah live untuk lelang, resale, ledger wallet, dan settlement mitra.
Hasil utama
61%
Proporsi commit repositori yang saya tulis (162 dari 267)
2 → 1
Database utama dipusatkan di PostgreSQL, dengan Redis tetap sebagai cache
3 roles
Akses API terpisah untuk peran admin, client, dan partner
- Backend Engineer (freelance), memimpin refactor v2
- Nov 2025 hingga Des 2025
- TEMMPAT
- Proyek utama
- L3:ticket-marketplace-backend
Hasil
61%
Proporsi commit repositori yang saya tulis (162 dari 267)
2 → 1
Database utama dipusatkan di PostgreSQL, dengan Redis tetap sebagai cache
3 roles
Akses API terpisah untuk peran admin, client, dan partner
Masalah
TEMMPAT melayani pembelian, resale, dan lelang tiket konser maupun acara. Data backend v1 tersebar di MongoDB dan PostgreSQL tanpa lapisan yang jelas. Bisnis membutuhkan alur pembayaran berbasis escrow, refund, dan payout mitra yang andal.
Kontribusi
- Saya memindahkan API Express ke Bun dengan repository pattern dan memusatkan data di PostgreSQL, menggantikan MongoDB. Saya juga menambahkan caching Redis dengan invalidasi yang eksplisit.
- Saya mencegah tiket terjual dua kali dengan menulis ulang checkout dan order lelang sebagai transaksi database dengan row lock dan reservasi stok.
- Saya membangun wallet dengan ledger transaksi, biaya platform multi-komponen, callback pembayaran dengan verifikasi signature, refund, dan penarikan dana, beserta settlement bagi hasil mitra saat order selesai.
- Saya menambahkan chatroom pembeli dan penjual lewat Socket.IO yang terbuka setelah pembayaran, serta review admin untuk file tiket dan tanda tangan.
- Saya memisahkan akses admin, client, dan partner, menambahkan security logging, serta mengonfigurasi Prometheus dan Grafana dengan exporter blackbox dan PostgreSQL.
Arsitektur
Tech stack
Bun
Node.js
Express
PostgreSQL
Sequelize
RedisSocket.IO
JWT
AWS S3Brevo
Docker
nginx
Prometheus
Grafana
Jest
- iPaymu