Lompat ke konten
RingkasanFeb 2026 → sekarang

CH. IVol. 02 · Bab 01 (02)

MBA Laundry Express

Situs profil usaha dan panel admin yang membuat staf memperbarui sendiri seluruh isi website, tanpa menyentuh kode.

MBA Laundry Express sudah punya banyak cabang, layanan, dan promo — semuanya masih disampaikan lewat chat dan selebaran. Pemilik usaha butuh satu wadah online resmi supaya calon pelanggan bisa mengecek cabang, harga, dan promo sendiri, kapan saja.

Saya membangunnya dari nol: satu aplikasi React 19 dan TypeScript yang melayani dua sisi sekaligus. Sisi publik berisi seluruh halaman profil usaha, sisi admin berisi panel tempat staf mengubah kontennya. Semuanya ditopang PocketBase sebagai backend, lalu dikirim ke VPS Linux lewat Docker supaya bisa jalan terus.

Reponya privat, jadi halaman ini berisi ceritanya, angkanya, dan cara kerjanya — tanpa kodenya.

Baca lewat commit-nya
mbalaundryexpress.com

Situs publik MBA Laundry Express — daftar layanan, harga, dan cabang dalam satu halaman.

Galeri proyek · 02

CeritaPerjalanan dalam 4 langkah

Yang tercatat di riwayat kerja.

  1. 01 · Awal proyek

    Menentukan batas pekerjaan

    Sebelum menulis kode, saya duduk dengan pemilik usaha dan mendata apa saja yang perlu bisa diubah staf sendiri: daftar layanan, harga per kilo, promo yang sedang jalan, artikel, sampai lowongan. Dari daftar itu saya susun struktur halaman dan struktur data di PocketBase.

    catatan kerja, apa adanya

    • tentukan peta halaman publik: beranda, layanan, harga, cabang, promo
    • susun koleksi PocketBase: layanan, harga, promo, artikel, cabang
    • sepakat: staf tidak boleh perlu buka kode untuk ganti harga
  2. 02 · Sisi publik

    Sembilan belas halaman yang cepat dibuka

    Sisi publik dibangun sebagai React 19 + Vite dengan TypeScript dan Tailwind CSS. Halaman layanan, harga, cabang, promo, artikel, kalkulator estimasi, karier, sampai kemitraan semuanya membaca dari koleksi PocketBase yang sama. Sebagai PWA, halaman yang sudah dikunjungi tetap bisa dibuka walau sinyal di jalan sedang jelek.

    catatan kerja, apa adanya

    • rakit kerangka SPA + rute untuk seluruh halaman publik
    • halaman harga: tabel per kilo, per item, dan paket langganan
    • kalkulator estimasi biaya supaya pelanggan tahu harga sebelum datang
    • pasang manifest PWA: bisa dipasang di layar utama ponsel
  3. 03 · Panel admin

    Panel yang dipakai orang non-teknis setiap hari

    Bagian tersulitnya bukan membuat CRUD-nya, tapi membuat staf mau memakainya. Panel admin saya rancang sederhana: satu formulir per jenis konten, pratinjau gambar langsung, dan tombol simpan yang jelas. Perubahan yang disimpan langsung tampil di situs publik karena keduanya membaca sumber data yang sama.

    catatan kerja, apa adanya

    • form admin per jenis konten dengan pratinjau gambar
    • kelola pesan masuk: tandai sudah dibaca, hapus, arsip
    • sederhanakan autentikasi staf, cukup satu akun bersama
  4. 04 · Rilis

    Naik ke VPS dan dipantau

    Aplikasi dikirim ke VPS Linux lewat Docker dengan Nginx di depannya, dan PocketBase disimpan di volume terpisah supaya datanya aman saat deploy ulang. Sejak itu staf memperbarui promosi dan artikel sendiri — saya tidak lagi dipanggil hanya untuk mengganti satu baris harga.

    catatan kerja, apa adanya

    • bungkus aplikasi + PocketBase dalam Docker Compose
    • Nginx: domain, HTTPS, dan cache untuk berkas statis
    • volume terpisah untuk data, deploy ulang tidak menghapus konten
    • pasang pengecekan sederhana supaya tahu kalau situs mati
AnatomiDi balik layar

Cara semuanya disusun.

Cara bagian-bagian bicara

  1. 01Pengunjungbuka situs / PWA
  2. 02React 19 + Vitehalaman publik
  3. 03PocketBasekonten + auth staf
  4. 04Panel adminstaf ubah isi sendiri
  5. 05Docker di VPSNginx + volume data

Isi proyek

  • /pages/beranda
  • /pages/layanan
  • /pages/harga
  • /pages/cabang
  • /pages/promo
  • /pages/blog
  • /pages/kalkulator
  • /pages/karir
  • /pages/kemitraan
  • /admin/konten
  • /admin/blog
  • /admin/pesan
  • /admin/statistik
  • /admin/auth

Proyek privat, jadi tidak ada kode di halaman ini. Struktur di atas diambil darinya.

MBA Laundry Express: bab 01, Nouval B. Saputra