Karya / dolphin-tamiya

Dolphin Tamiya.

2025·Web·15 teknologi·situs ↗

§ Ringkasan

Rumah online Dolphin Model Hobby, toko hobi Tamiya di Indonesia. Satu platform berisi toko lengkap dengan keranjang dan checkout, papan komunitas tempat anggota bisa posting, memberi reaksi, dan saling membalas, pengumuman balapan beserta hasilnya, dan berita seputar Tamiya, semuanya dikelola dari dashboard admin. Saya mengerjakannya sendiri sebagai fullstack, dari API dan database, tampilan toko, sisi admin, sampai deploy ke production.

§ Fitur utama

  • 01REST API dengan Bun dan Elysia, terdokumentasi dengan OpenAPI, mencakup produk, keranjang, checkout, pesanan, ulasan, wishlist, komunitas, event, artikel, dan pengaturan situs
  • 02Dashboard admin untuk produk, pesanan, banner, berita, event, dan pengguna, lengkap dengan log aktivitas admin
  • 03Katalog produk dan market dengan filter kategori, pencarian, dan pengurutan
  • 04Keranjang yang langsung berubah saat diklik dan otomatis kembali kalau server menolak
  • 05Checkout dengan alamat tersimpan, ongkir langsung per kurir lewat RajaOngkir, dan pembayaran lewat iPaymu
  • 06Riwayat pesanan beserta status pembayaran, plus ulasan produk dengan rating bintang yang bisa ditulis begitu pesanan dibayar
  • 07Komunitas ala Reddit: posting per kategori, like dan dislike, serta balasan komentar bertingkat
  • 08Akun dengan verifikasi email dan reset password, dengan halaman terproteksi yang dijaga di sisi server
  • 09Mode maintenance yang bisa menutup satu halaman saja, misalnya market, sementara bagian lain tetap jalan
  • 10Gambar disimpan di AWS S3, dan aplikasinya di-deploy dengan Docker di belakang Cloudflare

§ Tantangan & solusi

Karena memegang dua sisi sekaligus, API-nya bisa dibentuk sesuai kebutuhan tiap layar, bukan tampilan toko yang harus merangkai banyak respons. Toko ini tidak punya pelacakan pengiriman real-time, jadi kalau ulasan baru dibuka setelah status "terkirim", kebanyakan pembeli tidak akan pernah diminta mengulas. Sekarang ulasan bisa ditulis begitu pesanan dibayar, dan setiap pesanan menunjukkan barang mana yang belum diulas. Ongkir tergantung kurir yang dipilih pembeli, jadi tarifnya diambil langsung dari RajaOngkir untuk tiap alamat, bukan dari tabel tetap. Maintenance juga perlu lebih rinci daripada sekadar nyala atau mati: pengaturannya disimpan di API, dan situs mengecek halaman yang diminta di sisi server sebelum render, jadi satu bagian bisa ditutup untuk perbaikan tanpa ikut mematikan komunitas dan event.