Ticketing Acara Berkuota Terbatas
Ticketing acara premium berkuota terbatas, dengan booking atomik untuk mencegah overselling, pembayaran online, dan e-ticket QR.
Hasil utama
45%
Proporsi commit non-merge yang saya tulis (32 dari 71), ditambah 14 dari 24 pull request yang di-merge
1 transaction
Pengecekan dan pengurangan kuota secara atomik mencegah kursi terakhir terjual dua kali
- Full Stack Engineer, freelance dalam tim dua orang
- Jul 2025 hingga Agu 2025
- DariOrdal
- Proyek
- L3:limited-quota-event-ticketing
Hasil
45%
Proporsi commit non-merge yang saya tulis (32 dari 71), ditambah 14 dari 24 pull request yang di-merge
1 transaction
Pengecekan dan pengurangan kuota secara atomik mencegah kursi terakhir terjual dua kali
Masalah
DariOrdal menjual tiket acara premium dengan kuota terbatas. Checkout bersamaan berisiko menjual kursi terakhir dua kali, sementara jeda antara pembayaran dan penerbitan tiket menambah pekerjaan manual penyelenggara.
Kontribusi
- Saya menata API route Next.js 15 ke dalam lapisan repository dan service, lalu mengotomatiskan deployment dari GitHub.
- Saya menempatkan pengecekan dan pengurangan kuota secara atomik per tier tiket dalam satu transaksi checkout Prisma untuk mencegah tiket terjual dua kali.
- Saya membangun penerbitan tiket, halaman My Tickets dengan kode QR, dan daftar channel pembayaran dari iPaymu, serta mendesain ulang email; rekan tim saya mengintegrasikan checkout iPaymu, callback, dan invoice PDF.
- Saya membangun dashboard admin: pengelolaan acara, tabel transaksi yang bisa diurutkan dan diekspor ke Excel, sesi refresh token, cache acara di Redis, dan Google Analytics.
Arsitektur
Galeri
Tech stack
Next.js 15
TypeScript
Prisma
PostgreSQL
Redis
AWS S3TanStack Table
Tailwind CSS
shadcn/ui
GitHub Actions
Bun
- iPaymu