Pembangunan Platform Durian Berlokasi -- 2

Job ID: 39633719

Budget: $150 – $300 USD

DOKUMEN SPESIFIKASI SISTEM

Platform web dan PWA yang menghubungkan pembeli dengan pekebun & peniaga durian berdasarkan lokasi.


---

STACK TEKNOLOGI

Komponen Teknologi Digunakan

Frontend Next.js (React) + Tailwind CSS (PWA-ready)
Backend API Golang (Gin atau Fiber)
Authentication JWT (access + refresh) + Role-Based Access
Database PostgreSQL + PostGIS (untuk geo-query)
File Storage Hetzner Cloud / CDN optional
Caching (Opsyen) Redis (untuk caching carian, seller popular)
Deployment Hetzner Cloud
API Integrasi WhatsApp API, Google Maps API, FPX (opsyenal)



---

PERANAN PENGGUNA (USER ROLES)

Role Keterangan

Admin: Pemilik sistem. Urus pengguna, komisen, lokasi, produk, dan analitik.
Pekebun: Individu bermusim yang menjual durian terus dari kebun.
Peniaga: Penjual tetap dengan stok konsisten (lori, pasar, kedai).
Pembeli Orang awam yang mencari dan menempah durian dari penjual berdekatan.



---

MODUL & FUNGSI TERPERINCI MENGIKUT PERANAN

1. ADMIN PANEL

Fungsi Utama:

Login Admin

Dashboard statistik:

Jumlah pengguna ikut peranan

Tempahan harian/bulanan

Komisen dan hasil jualan

Lokasi paling aktif


Urus Akaun:

Aktifkan/Bekukan pengguna

Tukar peranan pengguna


Urus Produk:

Tambah/Edit jenis durian: nama, kategori, gred, gambar


Urus Lokasi:

Tambah/Edit daerah, negeri, radius lokasi


Komisen & Pelan:

Tetapkan komisen (%) atau yuran bulanan

Lihat dan eksport transaksi komisen


Laporan:

Jualan & prestasi penjual

Top seller mingguan/bulanan

Transaksi lengkap




---

2. PEKEBUN DASHBOARD

Fungsi Utama:

Daftar / Login

Profil Lengkap:

Nama, telefon, lokasi kebun (GPS-based)


Tambah Produk Durian:

Nama, harga/kg, gred, gambar

Stok harian (boleh set habis)

Pilihan penghantaran: Self-pickup / Delivery / COD

Waktu operasi


Urus Tempahan:

Terima / tolak / selesai


Notifikasi:

Bila tempahan baru / stok hampir habis (WhatsApp/Email)




---

3. PENIAGA DASHBOARD

Fungsi Tambahan:

Set lokasi jualan (boleh ubah harian)

Produk tambahan:

Durian frozen, tempoyak, aiskrim


Promosi & Pakej:

Contoh: RM100 = 3kg Musang King


Mohon Featured Seller:

Dipaparkan di atas senarai carian pengguna


Urus Tempahan & Notifikasi seperti pekebun



---

4. PEMBELI PORTAL

Fungsi Utama:

Daftar / Login

Carian Lokasi:

Berdasarkan lokasi GPS

Filter: Harga, Jarak, Jenis Durian, Rating


Lihat Senarai Penjual:

Jarak (km), rating, stok durian


Lihat Profil Penjual:

Papar senarai produk & harga


Tempahan:

Pilih jenis durian, kuantiti, waktu pickup/hantar

Pilihan pembayaran: FPX / COD / WhatsApp terus


Fungsi Tambahan:

Simpan penjual ke Favorite

Semak status tempahan

Beri rating & ulasan selepas transaksi




---

MODUL GEO-BASED & LOKASI (POSTGIS)

Fungsi Lokasi:

Simpan lokasi penjual & pembeli dalam format GeoJSON

Carian penjual dalam radius:

5km, 10km, 25km


Jarak dipaparkan (cth: "1.2km dari anda")

Peta Interaktif:

Marker lokasi penjual

Klik → Lihat profil → Tempah


Sort Penjual:

Jarak, Harga, Rating




---

INTEGRASI API

API Tujuan

WhatsApp API Hubungi penjual secara terus melalui butang WhatsApp
Google Maps API Pinpoint lokasi kebun/kedai & carian alamat pengguna
FPX (opsyenal) Bayaran atas talian untuk tempahan durian



---

AUTH & SEKURITI

JWT Auth (Access + Refresh Token)

Role-Based Access

Password hashing (bcrypt)

Rate limiting untuk endpoint API

Google reCAPTCHA untuk form pendaftaran/login



---

NOTIFIKASI AUTOMATIK

Medium Kepada Kandungan

WhatsApp / Email Penjual Bila ada tempahan baru
WhatsApp / Email Pembeli Bila status tempahan berubah
Sistem Admin Bila ada report atau ulasan negatif



---

LAPORAN & TRANSAKSI

Untuk Penjual:

Lihat jualan harian/mingguan

Cetak invoice

Filter ikut jenis durian, lokasi, tarikh


Untuk Admin:

Laporan komisen terkumpul

Transaksi penuh sistem

Prestasi penjual (mingguan/bulanan)

Senarai pengguna aktif



---

FLOW PENGGUNA (END-TO-END)

1. Pembeli daftar/login


2. Sistem kesan lokasi automatik


3. Carian penjual berdekatan (ikut radius)


4. Lihat stok, harga, lokasi & rating


5. Tempah → Pilih pickup atau hantar


6. Bayaran: FPX / COD / WhatsApp


7. Penjual terima & proses


8. Pembeli terima durian → beri rating


9. Sistem rekod jualan & kemaskini statistik




---

RANGKA DEPLOYMENT & STRUKTUR TEKNIKAL

Frontend: PWA Next.js deploy ke Hetzner

Backend API: Golang REST API (Gin/Fiber)

Database: PostgreSQL + PostGIS

Auth & Security: JWT + RBAC + Bcrypt

API Integrasi: WhatsApp API, Google Maps API

Optional: Redis + CDN for image
Related categories: Golang Redis API Integration Next.js Tailwind CSS