117 lines
3.9 KiB
Markdown
117 lines
3.9 KiB
Markdown
# User Stories untuk CRUD Farmer di Mobile Phone
|
|
|
|
## Admin Login
|
|
|
|
### US-001: Admin Login
|
|
- **Sebagai** admin aplikasi Happy Farmer
|
|
- **Saya ingin** login ke aplikasi mobile menggunakan username/email dan password
|
|
- **Sehingga** saya dapat mengakses dashboard admin untuk mengelola data farmer
|
|
|
|
**Kriteria Penerimaan:**
|
|
- Admin dapat memasukkan username/email dan password
|
|
- Sistem memvalidasi kredensial admin
|
|
- Jika berhasil, admin diarahkan ke dashboard utama
|
|
- Jika gagal, muncul pesan error yang jelas
|
|
- Session admin tersimpan untuk akses berikutnya
|
|
|
|
## CRUD Farmer Operations
|
|
|
|
### US-002: Lihat Daftar Farmer (Read)
|
|
- **Sebagai** admin yang sudah login
|
|
- **Saya ingin** melihat daftar semua farmer yang terdaftar
|
|
- **Sehingga** saya dapat memantau dan mengelola data farmer
|
|
|
|
**Kriteria Penerimaan:**
|
|
- Menampilkan list farmer dengan informasi: nama, email, nomor telepon, lokasi
|
|
- Fitur pencarian berdasarkan nama atau email
|
|
- Pagination untuk daftar yang panjang
|
|
- Sorting berdasarkan nama, tanggal registrasi
|
|
|
|
### US-003: Tambah Farmer Baru (Create)
|
|
- **Sebagai** admin yang sudah login
|
|
- **Saya ingin** menambah farmer baru ke dalam sistem
|
|
- **Sehingga** farmer dapat mulai menggunakan aplikasi
|
|
|
|
**Kriteria Penerimaan:**
|
|
- Form input dengan field: nama, email, password, nomor telepon, alamat, tanggal lahir
|
|
- Validasi email unik dan format yang benar
|
|
- Validasi nomor telepon yang valid
|
|
- Konfirmasi setelah berhasil menambah farmer
|
|
- Error handling jika gagal menyimpan data
|
|
|
|
### US-004: Lihat Detail Farmer (Read Detail)
|
|
- **Sebagai** admin yang sudah login
|
|
- **Saya ingin** melihat informasi lengkap seorang farmer
|
|
- **Sehingga** saya dapat memahami profil farmer secara detail
|
|
|
|
**Kriteria Penerimaan:**
|
|
- Menampilkan semua informasi farmer termasuk foto profil
|
|
- Riwayat aktivitas farmer (training, kontrak, dll)
|
|
- Status aktif/non-aktif farmer
|
|
- Tombol untuk edit dan delete farmer
|
|
|
|
### US-005: Edit Data Farmer (Update)
|
|
- **Sebagai** admin yang sudah login
|
|
- **Saya ingin** mengubah informasi farmer yang sudah ada
|
|
- **Sehingga** data farmer selalu akurat dan terkini
|
|
|
|
**Kriteria Penerimaan:**
|
|
- Form pre-filled dengan data farmer yang akan diedit
|
|
- Validasi sama seperti saat create farmer
|
|
- Konfirmasi sebelum menyimpan perubahan
|
|
- Log perubahan untuk audit trail
|
|
- Update informasi updatedBy dan updatedAt
|
|
|
|
### US-006: Hapus Farmer (Delete)
|
|
- **Sebagai** admin yang sudah login
|
|
- **Saya ingin** menghapus farmer dari sistem
|
|
- **Sehingga** data yang tidak relevan tidak tersimpan
|
|
|
|
**Kriteria Penerimaan:**
|
|
- Konfirmasi sebelum menghapus (dialog/popup)
|
|
- Peringatan jika farmer memiliki data terkait (kontrak, training)
|
|
- Soft delete untuk menjaga integritas data
|
|
- Log aktivitas penghapusan
|
|
|
|
## User Stories Tambahan
|
|
|
|
### US-007: Logout Admin
|
|
- **Sebagai** admin yang sudah login
|
|
- **Saya ingin** logout dari aplikasi
|
|
- **Sehingga** session saya aman dan tidak dapat diakses orang lain
|
|
|
|
### US-008: Filter dan Pencarian Farmer
|
|
- **Sebagai** admin yang sudah login
|
|
- **Saya ingin** memfilter farmer berdasarkan kriteria tertentu
|
|
- **Sehingga** saya dapat dengan mudah menemukan farmer yang dicari
|
|
|
|
**Kriteria Penerimaan:**
|
|
- Filter berdasarkan status (aktif/non-aktif)
|
|
- Filter berdasarkan lokasi/wilayah
|
|
- Filter berdasarkan tanggal registrasi
|
|
- Kombinasi multiple filter
|
|
|
|
## Prioritas Pengembangan
|
|
|
|
1. **Epic 1: Authentication & Authorization**
|
|
- US-001: Admin Login
|
|
- US-007: Logout Admin
|
|
|
|
2. **Epic 2: Farmer Management - Basic CRUD**
|
|
- US-002: Lihat Daftar Farmer
|
|
- US-003: Tambah Farmer Baru
|
|
- US-004: Lihat Detail Farmer
|
|
- US-005: Edit Data Farmer
|
|
- US-006: Hapus Farmer
|
|
|
|
3. **Epic 3: Advanced Features**
|
|
- US-008: Filter dan Pencarian Farmer
|
|
|
|
## Catatan Teknis
|
|
|
|
- Semua operasi CRUD harus menggunakan API yang sudah didefinisikan
|
|
- Implementasi menggunakan state management yang sesuai (Redux/Context API)
|
|
- UI/UX harus responsive dan user-friendly
|
|
- Validasi client-side dan server-side
|
|
- Error handling yang comprehensive
|
|
- Loading states untuk semua operasi async |