Tutorial membuat aplikasi CRM untuk tim penjualan

Tutorial ini memandu Anda membuat aplikasi untuk mengelola calon pelanggan, riwayat komunikasi, peluang penjualan, penanggung jawab, dan tindak lanjut. Judulnya menjelaskan manfaat contoh aplikasi; Anda bebas menentukan nama produk sendiri saat aplikasi sudah memiliki identitas.

Versi pertama akan membantu:

  • anggota tim mencatat calon pelanggan dan aktivitas;
  • peluang bergerak melalui tahapan penjualan yang jelas;
  • manager membagi peluang dan melihat ringkasan tim;
  • setiap anggota hanya membuka data yang diizinkan;
  • tindak lanjut yang terlambat mudah ditemukan.

Sebelum mulai

Pastikan project Planora, aplikasi development, dan Convex development siap. Gunakan satu conversation untuk satu tugas: PRD, status, implementasi satu fitur, E2E satu fitur, atau perbaikan satu bug.

Langkah 1 — buat PRD

Buka conversation baru, lalu ketik:

text
/planora-product-kit
Saya ingin membuat aplikasi CRM untuk tim penjualan kecil. Penggunanya adalahmanager penjualan dan anggota tim.
Versi pertama harus membantu kami:1. menyimpan perusahaan dan orang kontak;2. mencatat calon pelanggan dan sumbernya;3. membuat peluang dengan nilai, tahap, dan penanggung jawab;4. menyimpan catatan telepon, pesan, dan pertemuan;5. membuat tugas serta tanggal tindak lanjut;6. memindahkan peluang melalui tahapan penjualan;7. mencari dan memfilter peluang;8. menampilkan ringkasan pipeline dan aktivitas tim.
Manager boleh melihat seluruh tim dan memberikan peluang kepada anggota.Anggota hanya boleh melihat peluang yang ditugaskan kepadanya. Aplikasi palingsering digunakan melalui laptop, tetapi pencatatan aktivitas setelah pertemuanharus tetap nyaman melalui HP.
Versi pertama belum membutuhkan pengiriman email otomatis, WhatsApp, integrasitelepon, prediksi AI, atau sinkronisasi dengan CRM lain. Bantu saya menentukanscope yang realistis dan gunakan istilah yang mudah dipahami tim penjualan.Jangan menulis kode sebelum paket produk selesai, saya setujui, dan validatorPlanora lulus.

Output yang diharapkan

Agent akan merangkum fakta, asumsi, keputusan, dan pertanyaan terbuka. Pertanyaan penting biasanya meliputi:

  • tahapan penjualan yang benar-benar digunakan;
  • kapan peluang dinyatakan berhasil atau gagal;
  • hubungan perusahaan dengan beberapa kontak;
  • siapa yang boleh memindahkan atau memberikan peluang;
  • cara menangani calon pelanggan ganda;
  • kapan tindak lanjut dianggap terlambat;
  • angka yang ingin dilihat manager.

Jika agent langsung membuat kode, ketik:

text
Jangan implementasikan aplikasi dahulu. Selesaikan intake, PRD, panduan UI, danrencana eksekusi. Tunjukkan keputusan yang masih perlu saya konfirmasi.

Langkah 2 — jawab pertanyaan PRD

Contoh jawaban yang dapat digunakan:

text
Gunakan keputusan berikut untuk versi pertama:
1. Tahap peluang adalah Baru, Dikualifikasi, Proposal, Negosiasi, Berhasil, dan   Gagal.2. Peluang Berhasil wajib memiliki nilai akhir dan tanggal berhasil. Peluang   Gagal wajib memiliki alasan.3. Satu perusahaan dapat memiliki beberapa orang kontak.4. Manager dapat melihat, memberikan, dan memindahkan semua peluang. Anggota   hanya dapat memperbarui peluang yang ditugaskan kepadanya.5. Duplikasi diperiksa berdasarkan email atau nomor telepon kontak. Sistem   memberi peringatan, tetapi manager dapat mengonfirmasi jika memang berbeda.6. Setiap peluang aktif harus memiliki tanggal tindak lanjut berikutnya.   Tindak lanjut dianggap terlambat setelah tanggal tersebut terlewati dan   belum diselesaikan.7. Dashboard manager menampilkan jumlah dan nilai peluang per tahap, peluang   tanpa tindak lanjut, aktivitas minggu ini, serta hasil berhasil dan gagal.
Perbarui ringkasan fakta, asumsi, keputusan, dan pertanyaan terbuka. Janganmemaksakan istilah CRM yang tidak diperlukan oleh tim.

Jika masih ragu:

text
Saya belum tahu. Tunjukkan 2 atau 3 pilihan yang sederhana beserta manfaat,risiko, dan dampaknya terhadap versi pertama. Jangan memilih sebelum sayamemutuskan.

Setelah ringkasan benar:

text
Ringkasan sudah sesuai. Buat paket produk lengkap dengan UI berbahasa Indonesia.Berikan requirement ID, acceptance criteria, urutan dependency, dan handoff E2Euntuk setiap fitur browser-visible. Jalankan validator Planora dan perbaikisemua kegagalan sebelum melapor selesai.

Langkah 3 — periksa output paket produk

Anda akan melihat:

text
product/|-- README.md|-- manifest.json|-- PRD/|-- UI/`-- EXECUTION/

Contoh isi fitur yang lebih rinci:

text
product/|-- PRD/|   |-- PRD.md|   |-- asumsi-dan-pertanyaan.md|   |-- model-data.md|   |-- metrik-keberhasilan.md|   `-- fitur/|       |-- akses-manager-dan-anggota.md|       |-- perusahaan-dan-kontak.md|       |-- calon-pelanggan-dan-peluang.md|       |-- tahapan-penjualan.md|       |-- aktivitas-dan-catatan.md|       |-- tugas-dan-tindak-lanjut.md|       `-- dashboard-pipeline.md|-- UI/|   |-- design-direction.md|   |-- accessibility.md|   |-- components/|   |-- patterns/|   `-- screens/`-- EXECUTION/    |-- TODO.md    |-- feature-order.md    |-- release-readiness.md    `-- phases/

Nama file dapat berbeda, tetapi harus menjelaskan manfaat fitur. Pastikan laporan menyebut validator lulus dan tidak ada keputusan penting yang disembunyikan sebagai asumsi.

Langkah 4 — lihat task pertama

Buka conversation baru:

text
/planora-status
Jelaskan progres aplikasi CRM. Sebutkan task pertama yang siap, hasil yang akandilihat pengguna, dependency, dan validasinya. Jangan mengubah file.

Urutan yang masuk akal:

  1. pengguna, tim, dan batas akses;
  2. perusahaan dan kontak;
  3. calon pelanggan dan peluang;
  4. tahapan penjualan;
  5. aktivitas dan catatan;
  6. tugas serta tindak lanjut;
  7. pencarian dan filter;
  8. dashboard manager;
  9. pengalaman laptop dan HP.

Ikuti urutan aktual di product/EXECUTION/TODO.md.

Langkah 5 — implementasikan satu fitur

Buka conversation baru dan cukup ketik:

text
/planora-next

Tidak perlu menambahkan instruksi lain. Agent memilih satu task yang siap, menerapkan workflow yang tercatat, menjalankan test, dan memperbarui evidence.

Output yang diharapkan

Laporan harus menjelaskan task dan requirement, hasil bagi pengguna, file yang berubah, test yang dijalankan, hasil test, kondisi salah, batas akses, status E2E, path spec, blocker, dan preview task berikutnya.

Setelah fitur browser-visible selesai, Anda biasanya melihat:

text
apps/                         implementasi aplikasiproduct/EXECUTION/TODO.md     progres dan evidencespecs/e2e/NAMA-FILE.md        handoff E2E

Jangan menerima laporan yang hanya berisi daftar file. Minta penjelasan tentang perilaku pengguna dan aturan penjualan yang sudah dibuktikan.

Langkah 6 — lakukan E2E setiap selesai satu fitur

  1. Pastikan server aplikasi dan Convex development berjalan.
  2. Buka Chrome dan tutup semua tab yang tidak diperlukan.
  3. Sisakan tab aplikasi local atau biarkan agent membukanya.
  4. Buka conversation baru.
  5. Di Antigravity, aktifkan:
text
/browser
  1. Kirim pesan berikut dengan path yang diberikan agent:
text
/e2e-tester specs/e2e/NAMA-FILE.md
Jalankan seluruh skenario melalui browser pada environment local ataudevelopment. Gunakan akun manager dan anggota tim sebagai data uji. Periksabrowser console, rekam hasil aktual, dan lampirkan screenshot atau video untukperjalanan penting. Jika gagal, jangan memperbaiki kode secara diam-diam.

Output E2E yang diharapkan

Laporan menyebut status Passed, Failed, atau Blocked, jumlah skenario, hasil setiap langkah, URL, akun atau peran uji, dan evidence visual.

Contoh evidence fitur peluang:

text
Anggota membuat peluang dan menetapkan tindak lanjut: PassedPeluang muncul pada tahap Baru: PassedManager memindahkan peluang ke Dikualifikasi: PassedAnggota lain membuka URL peluang tersebut: akses ditolak, PassedScreenshot pipeline dan penolakan akses: tersimpan

Langkah 7 — jika E2E gagal

Buka conversation baru:

text
/bug
E2E pada specs/e2e/NAMA-FILE.md gagal. Baca evidence terakhir, reproduksimasalah, cari akar penyebab, dan perbaiki bug tanpa memperluas scope ataumelemahkan acceptance criteria. Jalankan test terkait dan siapkan E2E ulang.

Setelah perbaikan, gunakan conversation baru, aktifkan /browser, lalu jalankan kembali /e2e-tester dengan spec yang sama.

Langkah 8 — ulangi untuk seluruh fitur

text
Implementasi: /planora-nextValidasi browser: /browser, lalu /e2e-tester specs/e2e/NAMA-FILE.mdJika gagal: /bugSetelah diperbaiki: /browser, lalu /e2e-tester kembali

Hasil per fitur yang perlu dibuktikan:

Pengguna dan batas akses

Manager melihat seluruh tim. Anggota hanya melihat peluang yang ditugaskan. Membuka URL secara langsung tidak boleh melewati izin.

Perusahaan dan kontak

Pengguna dapat membuat perusahaan dengan beberapa kontak. Peringatan duplikasi muncul untuk email atau nomor telepon yang sama.

Peluang dan tahapan

Peluang memiliki nilai, tahap, pemilik, dan tindak lanjut. Perpindahan ke Berhasil atau Gagal meminta informasi wajib yang sesuai.

Aktivitas

Telepon, pesan, dan pertemuan tersimpan berurutan dengan pelaku dan waktu. Catatan cepat dapat dibuat melalui HP tanpa tampilan terpotong.

Tugas dan tindak lanjut

Tugas mendatang, hari ini, selesai, dan terlambat tampil dengan benar. Peluang aktif tanpa tindak lanjut mudah ditemukan.

Pencarian dan filter

Pencarian nama, perusahaan, tahap, pemilik, dan rentang tanggal menghasilkan data yang konsisten dan tidak membocorkan peluang pengguna lain.

Dashboard manager

Jumlah dan nilai peluang per tahap sesuai data uji yang dapat dihitung manual. Peluang Berhasil dan Gagal masuk periode laporan yang benar.

Langkah 9 — periksa versi pertama

Buka conversation baru:

text
/planora-status
Apakah seluruh scope versi pertama aplikasi CRM sudah selesai? Tunjukkan statustask, test, E2E, evidence, keputusan, risiko, dan blocker. Jangan menyebut siaprilis jika validasi Required belum lulus. Jangan mengubah file.

Versi pertama selesai hanya jika task wajib done, test wajib lulus, E2E Required Passed, dan tidak ada blocker rilis.

Jika tahapan penjualan berubah

Gunakan perubahan produk, bukan chore:

text
/planora-change
Tim ingin mengubah tahapan penjualan dari [TAHAPAN LAMA] menjadi [TAHAPANBARU]. Jelaskan dampaknya pada peluang lama, laporan, filter, dan pekerjaan tim.Perbarui PRD, UI, serta urutan task. Jangan implementasikan sebelum rencanaselesai, validator lulus, dan saya menyetujuinya.