R.RAFI BAKHTIAR
SOFTWARE ENGINEER
TERBUKA UNTUK KERJA CV ↗
← KEMBALI KE PROYEK

PROYEK 03 · WEBSITE PEMESANAN

D'Rolls
Pancake Roll.

FRESHLY MADE · SMALL BATCH
A little
something sweet.
PANCAKE ROLL / MENU ↗
JENIS PROYEKProyek tim (PKK), 4 anggota
PERANWeb developer (tim 4 orang)
STACKLaravel 11 · PHP · Tailwind CSS · Alpine.js

01 / KONTEKS

Toko sederhana untuk penjual yang nyata.

Penjual makanan kecil menerima pesanan lewat chat. Situs ini membuat pelanggan bisa melihat menu dan menyiapkan pesanan sendiri, sehingga penjual menerima satu pesan yang jelas, bukan menyusun pesanan satu per satu.

02 / FITUR

Dari menu
hingga WhatsApp.

01

Halaman menu

Menu yang tersedia lengkap dengan gambar dan harga. Menu yang ditandai tidak tersedia disembunyikan dan tidak bisa dipesan.

02

Keranjang session

Tambah item, ubah jumlah dengan plus dan minus, hapus satu item, atau kosongkan keranjang. Navbar menampilkan jumlah item.

03

Checkout terpilih

Pilih item keranjang yang ingin dipesan dan lihat total yang langsung berubah.

04

Pesan WhatsApp

Checkout membuka wa.me berisi item, jumlah, dan total yang sudah tersusun.

05

Halaman responsif

Tampilan untuk mobile dan desktop, notifikasi aksi, dan halaman 404 khusus.

06

Feature test

Tes PHPUnit untuk alur keranjang, validasi, harga dari server, dan halaman utama.

TANGKAPAN LAYAR

Tampilan aplikasi.

Beranda D'Rolls
Halaman beranda.
Keranjang D'Rolls dengan item terpilih dan total yang langsung berubah
Keranjang: pilih item dan lihat total langsung berubah.
Beranda D'Rolls di layar ponsel
Situs yang sama di ponsel.

KEPUTUSAN DESAIN

Pilihan yang saya ambil, beserta alasannya.

01

Harga selalu berasal dari server

Browser hanya mengirim id menu dan jumlah. Nama dan harga dibaca dari katalog di server, jadi harga yang diubah lewat inspect element tidak berpengaruh. Kasus ini dicakup feature test.

02

Input divalidasi di server

Jumlah harus bilangan bulat 1 sampai 99 dan menu harus tersedia. Selain itu ditolak dengan pesan yang jelas dalam bahasa Indonesia.

03

Tanpa database, dengan sengaja

Menu disimpan di file konfigurasi dan keranjang di session dengan format id menu ke jumlah. Untuk penjual kecil yang menerima pesanan lewat WhatsApp ini sudah cukup dan mudah di-deploy. Konsekuensinya pesanan tidak tersimpan; menyimpannya adalah item pertama dalam daftar perbaikan saya.

04

Checkout lewat WhatsApp

Penjual sudah menerima pesanan lewat WhatsApp, jadi checkout membuka chat berisi pesanan yang sudah tersusun: item, jumlah, dan total. Cara ini sesuai dengan cara usaha berjalan tanpa membangun sistem pembayaran.

05

Nomor penjual tidak masuk repository

Nomor WhatsApp dibaca dari file .env, bukan ditulis di kode, agar nomor pribadi tidak ikut terpublikasi bersama source code.

03 / PERBAIKAN BERIKUTNYA

Yang akan saya tambahkan.

Menyimpan pesanan ke database dan membuat panel admin untuk mengelola menu, supaya penjual tidak perlu mengedit file konfigurasi. Berikutnya: pembayaran online, serta pencarian dan kategori untuk menu yang lebih panjang.

DISKUSIKAN PROYEK INI ↗ PROYEK BERIKUTNYA: ATTENDA ↗