Tutorial membuat aplikasi manajemen laundry
Tutorial ini memandu Anda membuat aplikasi manajemen laundry multi-cabang dari percakapan pertama sampai setiap fitur diperiksa melalui browser. Anda tidak perlu memahami kode. Tugas Anda adalah menjelaskan proses bisnis, memeriksa rencana, mencoba hasil, dan mengatakan jika hasilnya belum sesuai.
Versi pertama aplikasi dalam contoh ini akan membantu:
- owner mengelola cabang, layanan, pegawai, pengeluaran, dan laporan;
- admin atau kasir mencatat pelanggan, pesanan, dan pembayaran;
- operator memperbarui status cucian;
- setiap pegawai hanya membuka data cabang tempatnya bekerja.
Nama file dan nomor task yang dibuat agent dapat berbeda dari contoh. Selalu gunakan nama yang benar-benar dilaporkan oleh agent di project Anda.
Sebelum mulai
Pastikan folder utama Planora sudah dibuka di Antigravity, setup awal sudah
selesai, Convex development sudah terhubung, dan aplikasi starter dapat dibuka
di http://localhost:3000.
Gunakan satu conversation untuk satu tugas:
- conversation 1 untuk membuat PRD dan paket produk;
- conversation berikutnya untuk melihat status;
- satu conversation baru untuk setiap implementasi fitur;
- satu conversation baru lagi untuk E2E fitur tersebut;
- conversation baru untuk memperbaiki bug jika E2E gagal.
Dengan pola ini, agent tidak mencampur perencanaan, penulisan kode, dan pemeriksaan browser dalam satu percakapan yang terlalu panjang.
Langkah 1 — buat PRD dan rencana produk
Buka conversation baru. Ketik pesan berikut secara utuh:
Output yang diharapkan
Agent belum langsung membuat halaman atau database. Agent akan merangkum ide, memisahkan fakta, asumsi, keputusan, dan pertanyaan terbuka. Biasanya agent juga menanyakan paling banyak tiga keputusan penting dalam satu putaran.
Contoh hasil yang benar:
Jika agent langsung menulis kode, hentikan dan ketik:
Langkah 2 — jawab pertanyaan penyusunan PRD
Jawab berdasarkan proses laundry Anda. Jika Anda ingin mengikuti contoh ini, Anda dapat mengetik jawaban berikut:
Agent mungkin menanyakan nomor pesanan, estimasi selesai, pajak, satuan berat, atau cara mencari pelanggan. Jawab yang Anda ketahui. Jika belum tahu, jangan menebak. Ketik:
Output yang diharapkan
Setelah beberapa putaran, tidak boleh ada keputusan penting yang disamarkan sebagai fakta. Anda akan menerima ringkasan scope versi pertama, hal yang tidak masuk scope, asumsi yang masih perlu diuji, dan keputusan yang sudah Anda buat.
Periksa ringkasannya. Jika sudah benar, ketik:
Langkah 3 — periksa hasil pembuatan PRD
Setelah selesai, Anda akan melihat folder utama berikut:
Isi lengkapnya kurang lebih seperti ini:
Fungsi setiap bagian:
PRD/menjelaskan apa yang dibuat, aturan bisnis, hasil yang diharapkan, dan hal yang belum diputuskan;UI/menjelaskan layar, komponen, isi teks, aksesibilitas, serta perilaku di laptop dan HP;EXECUTION/TODO.mdadalah daftar pekerjaan yang akan diambil satu per satu oleh/planora-next;EXECUTION/phases/menjelaskan urutan dan kriteria selesai setiap tahap;manifest.jsonmencatat seluruh artefak, versi, status, dan blocker paket.
Nama file fitur harus menjelaskan maknanya. Agent mungkin memilih nama yang
sedikit berbeda, tetapi jangan menerima nama umum seperti fitur-1.md.
Laporan akhir pembuatan paket harus menyebutkan bahwa validator lulus. Untuk memeriksa pemahaman Anda, ketik:
Conversation PRD selesai ketika paket lengkap, validator lulus, dan Anda setuju dengan arah produknya.
Langkah 4 — lihat fitur pertama yang siap dibuat
Buka conversation baru, lalu ketik:
Output yang diharapkan
Agent membaca product/manifest.json dan product/EXECUTION/TODO.md, lalu
menunjukkan task pertama yang dependency-nya sudah selesai. Pada contoh ini,
urutan yang masuk akal adalah:
- fondasi pengguna, peran, cabang, dan batas akses;
- layanan serta harga;
- pelanggan;
- pembuatan pesanan;
- perubahan status cucian;
- pembayaran dan sisa tagihan;
- pengeluaran cabang;
- dashboard dan laporan;
- perapian pengalaman laptop dan HP.
Urutan project Anda dapat berbeda. Ikuti task ID dan dependency di paket yang benar-benar dibuat, bukan nomor pada artikel ini.
Langkah 5 — implementasikan satu fitur
Buka conversation baru dan cukup ketik:
Instruksi tambahan tidak wajib. Agent otomatis melanjutkan task in_progress
atau memilih task pending pertama yang seluruh dependency-nya sudah selesai.
Satu pemanggilan hanya mengerjakan satu task.
Agent seharusnya menjalankan empat tahap:
- Plan — menyebutkan task, scope, file yang mungkin berubah, risiko, test, dan kebutuhan E2E;
- Execute — mengubah kode untuk satu task saja;
- Test — menjalankan pemeriksaan teknis dan memperbaiki kegagalan yang masih berada dalam scope;
- Validate — membandingkan hasil dengan acceptance criteria PRD dan menyiapkan instruksi E2E.
Output yang diharapkan setelah satu fitur
Laporan implementasi harus berisi:
- task ID dan requirement ID yang dipenuhi;
- hasil yang sekarang dapat dilakukan pengguna;
- file aplikasi yang berubah;
- test yang benar-benar dijalankan beserta hasilnya;
- kondisi salah dan kasus batas yang diperiksa;
- status E2E: Required, Recommended, atau Not needed;
- path file seperti
specs/e2e/NAMA-FILE.mdjika E2E diperlukan; - blocker atau risiko yang masih tersisa;
- satu task berikutnya sebagai preview, tanpa ikut mengerjakannya.
Anda juga akan melihat perubahan pada beberapa tempat berikut:
Folder di dalam apps/ dan nama spec E2E mengikuti implementasi. Gunakan path
yang dilaporkan agent, jangan menebaknya.
Jika report test tidak jelas, ketik di conversation yang sama:
Langkah 6 — selalu jalankan E2E setelah fitur selesai
Saya merekomendasikan E2E setiap kali satu fitur yang terlihat atau digunakan melalui browser selesai diterapkan. Jangan menunggu seluruh aplikasi selesai. Dengan cara ini, bug ditemukan saat perubahan masih kecil dan mudah dilacak.
Menyiapkan browser di Antigravity
- Pastikan aplikasi development dan Convex development sedang berjalan.
- Buka Chrome. Usahakan tutup semua tab lama agar agent tidak memilih tab yang salah atau membaca halaman yang tidak berkaitan.
- Sisakan satu tab aplikasi di
http://localhost:3000, atau biarkan agent membukanya jika kemampuan browser mendukung hal tersebut. - Buka conversation baru khusus untuk E2E.
- Di Antigravity, ketik
/browser, lalu pilih kemampuan browser atau Chrome Dev yang muncul. Izinkan Antigravity mengendalikan browser development. - Setelah browser aktif, kirim pesan kedua dengan
/e2e-testerdan path spec yang diberikan oleh agent implementasi.
Contoh pesan pertama:
Contoh pesan kedua:
Ganti NAMA-FILE.md dengan nama yang tercantum pada laporan /planora-next.
Jangan menjalankan /e2e-tester tanpa path jika terdapat lebih dari satu spec
yang belum selesai.
Output yang diharapkan dari E2E
Agent E2E akan memperbarui file spec dan memberikan laporan seperti:
Status akhirnya harus salah satu dari:
Passed: semua skenario wajib sesuai hasil yang diharapkan;Failed: setidaknya satu perilaku tidak sesuai;Blocked: browser, server, akun, data uji, atau credential belum tersedia.
Jangan menerima status Passed jika browser tidak pernah dibuka atau tidak ada
evidence langkah yang benar-benar dijalankan.
Langkah 7 — jika E2E gagal
Jangan memperbaiki bug di conversation E2E. Buka conversation baru, lalu ketik:
Setelah perbaikan selesai, buka conversation baru lagi. Tutup tab browser yang
tidak diperlukan, aktifkan /browser, lalu jalankan kembali:
Bug benar-benar selesai hanya setelah test teknis lulus dan E2E ulang berstatus
Passed.
Langkah 8 — ulangi pola implementasi dan E2E
Untuk setiap fitur aplikasi manajemen laundry, ulangi pola berikut:
Contoh hasil yang perlu terlihat setelah setiap kelompok fitur:
Akses, peran, dan cabang
Owner dapat melihat seluruh cabang. Admin dan operator hanya dapat membuka cabangnya. E2E wajib mencoba akses yang diizinkan dan akses lintas cabang yang harus ditolak.
Layanan dan harga
Owner atau pengguna yang diizinkan dapat membuat layanan kiloan dan satuan, mengubah harga, dan menonaktifkan layanan. Nilai kosong atau negatif ditolak.
Pelanggan
Kasir dapat membuat dan mencari pelanggan. Nomor telepon yang tidak valid mendapat pesan yang jelas, dan data pelanggan cabang lain tidak bocor.
Pesanan laundry
Kasir dapat memilih pelanggan, menambahkan beberapa layanan, memasukkan berat atau jumlah, melihat subtotal, diskon, total, estimasi selesai, dan nomor pesanan. Perhitungan harus dibuktikan dengan contoh angka yang diketahui.
Status proses cucian
Operator dapat mengubah status sesuai urutan. Perubahan yang melompati aturan atau dilakukan oleh pengguna tanpa izin harus ditolak dengan pesan yang jelas. Alur pada layar HP juga harus diperiksa.
Pembayaran dan sisa tagihan
Kasir dapat mencatat uang muka, pembayaran sebagian, dan pelunasan tunai atau transfer. Total pembayaran dan sisa tagihan harus benar. Pesanan belum boleh menjadi Selesai jika masih memiliki tagihan.
Pengeluaran cabang
Pengguna yang diizinkan dapat mencatat pengeluaran dengan tanggal, kategori, nominal, dan catatan. Cabang lain tidak dapat melihat atau mengubah data itu.
Dashboard dan laporan
Owner dapat memilih periode dan cabang, lalu melihat omzet, pesanan, pembayaran, piutang, serta pengeluaran yang sesuai data uji. Perubahan filter harus menghasilkan angka yang dapat diverifikasi.
Jangan menggabungkan semua fitur di atas dalam satu /planora-next. Satu
invocation hanya mengerjakan satu task yang siap.
Langkah 9 — periksa status versi pertama
Setelah semua task terlihat selesai dan seluruh E2E sudah lulus, buka conversation baru lalu ketik:
Output yang diharapkan
Agent memberikan ringkasan read-only. Versi pertama baru dapat dianggap selesai jika:
- semua task wajib di
product/EXECUTION/TODO.mdberstatusdone; - acceptance criteria tidak diubah hanya agar implementasi terlihat selesai;
- test teknis yang diwajibkan lulus;
- setiap E2E Required berstatus
Passeddan memiliki evidence; - tidak ada keputusan bisnis atau blocker rilis yang masih terbuka.
Menambahkan WhatsApp setelah versi pertama
WhatsApp adalah kemampuan baru yang dapat menimbulkan biaya dan mengirim pesan ke pihak luar. Jangan memasukkannya sebagai perubahan kecil. Buka conversation baru:
Setelah paket produk diperbarui dan validator lulus, kembali ke pola satu fitur:
conversation baru untuk /planora-next, lalu conversation baru untuk
/browser dan /e2e-tester pada environment development dengan penerima uji
yang aman.
`