Product EngineeringPilihanL3:event-ticketing-platform
Serupa Ticket Hub: Platform Ticketing Acara
Platform ticketing acara dengan situs pengunjung, dashboard penyelenggara, dan API Express, dari pencarian acara hingga e-ticket QR.
- Peran
- Full Stack Engineer dalam tim dua orang (fondasi backend, akun, acara, caching dan upload, situs pengunjung, serta dashboard penyelenggara)
- Periode
- Jun 2025 hingga Agu 2025
- Klien
- Serupa
Hasil
3 apps
Diserahkan sebagai API Express, situs pengunjung, dan dashboard penyelenggara
Dari tiga repositori proyek.
95%
Proporsi commit yang saya tulis di situs pengunjung dan dashboard penyelenggara (62 dari 65)
Commit non-merge di riwayat git dari Jun hingga Agu 2025, tanpa commit yang dihasilkan v0.
34%
Proporsi commit backend yang saya tulis (45 dari 133); rekan tim saya menulis kode pesanan dan pembayaran
Commit non-merge di riwayat git dari Jun hingga Agu 2025.
Masalah
Serupa membutuhkan platform ticketing sendiri: penyelenggara memublikasikan acara dengan beberapa tier tiket, pengunjung mencari acara dan mendapatkan tiket gratis maupun berbayar secara online, dan setiap pesanan berakhir dengan tiket yang bisa ditunjukkan di pintu masuk. Dua engineer freelance membangunnya sebagai tiga aplikasi antara Juni dan Agustus 2025.
Yang saya kerjakan
- Saya menyiapkan API di Express 5 dan Bun dengan lapisan route, controller, service, dan repository di atas PostgreSQL dan Drizzle, ditambah Helmet, rate limiting, log terstruktur, data seed, dan deploy lewat GitHub Actions.
- Saya membangun fitur akun dan acara di API: access token dan refresh token JWT, verifikasi email dan reset password, peran user dan admin, pencarian acara dengan filter, cache acara di Redis dengan invalidasi, penghitungan view dengan rate limit, serta upload cover acara dan foto profil ke S3.
- Saya membangun situs pengunjung dengan Next.js dan TanStack Query: penemuan dan pencarian acara, halaman acara dengan tier tiket, alur tiket gratis, checkout dengan pilihan metode pembayaran, halaman hasil pembayaran, dan My Tickets dengan kode QR, ditambah metadata SEO dan sitemap.
- Saya mengubah kerangka hasil v0 menjadi dashboard penyelenggara dan menghubungkan login serta pembuatan, pengeditan, dan daftar acara, lengkap dengan sub-kategori dan peta lokasi, ke API.
- Rekan tim saya membangun pemesanan tiket dan pembayaran di API (batas kuota dan batas per pengguna, link pembayaran dan callback untuk QRIS, kartu, e-wallet, dan virtual account, invoice PDF, email status, serta event pembayaran lewat Socket.IO); halaman checkout dan My Tickets buatan saya memanggil endpoint tersebut.
Arsitektur
- KlienAttendee siteNext.js 15, TanStack Query
- KlienOrganizer dashboardNext.js 15, Radix UI
- LayananExpress APIBun, JWT, Socket.IO
- DataPostgreSQL (Drizzle)Acara, tiket, dan pesanan
- DataRedisCache acara, jumlah view, link pembayaran
- EksternalAWS S3Cover, foto, invoice
- EksternalPayment gatewayQRIS, kartu, e-wallet, VA
Alur data
- Attendee site to Express API (REST + JWT)
- Organizer dashboard to Express API (manage events)
- Express API to PostgreSQL (Drizzle) (queries)
- Express API to Redis (cache)
- Express API to AWS S3 (uploads)
- Express API to Payment gateway (payment links)
- Payment gateway sends asynchronously to Express API (callbacks)
Galeri
Tech stack
Express
TypeScript
Bun
PostgreSQL
- Drizzle ORM
RedisSocket.IO
JWT
Google OAuth
AWS S3Next.js 15
TanStack Query
Tailwind CSS
shadcn/ui
GitHub Actions
Proyek Product Engineering lainnya
L2 · Riwayat karier terkaitFull Stack Engineer (freelance) · Serupa