# PROJECT MANAGEMENT DOCUMENT (PMD)

**Nama Proyek:** Web Aplikasi "Jasa Suruh"
**Tipe Aplikasi:** On-Demand Services Platform (Web-based / PWA)
**Status Dokumen:** Draft / Perencanaan Awal

---

## 1. Ringkasan Proyek (Project Overview)

**"Jasa Suruh"** adalah sebuah web aplikasi berbasis _on-demand_ yang berfungsi sebagai platform penghubung antara _Customer_ (pelanggan) yang membutuhkan bantuan untuk berbagai macam tugas sehari-hari, dengan _Mitra_ (pekerja lepas/penyedia jasa) yang siap mengerjakan tugas tersebut. Aplikasi ini menawarkan fleksibilitas tinggi mulai dari layanan standar (antar-jemput, pengiriman, belanja) hingga layanan khusus berbasis _bidding/negosiasi_ (perbaikan barang dan permintaan acak/bebas).

## 2. Tujuan Proyek (Project Objectives)

- Menyediakan platform web satu pintu untuk segala kebutuhan _request_ pelanggan.
- Membangun sistem _matching_ dan _bidding_ yang adil antara _Customer_ dan _Mitra_.
- Menciptakan ekosistem transaksi yang aman, mudah dipantau, dan transparan.

---

## 3. Pembagian Peran Pengguna (User Roles)

Proyek ini memiliki 3 entitas pengguna utama yang akan mengakses 3 antarmuka (dashboard) yang berbeda:

1. **Customer:** Pengguna yang membuat _request_ (permintaan) dan membayar jasa.
2. **Mitra:** Penyedia jasa yang menerima dan mengeksekusi _request_.
3. **Admin:** Pengelola sistem yang memantau keseluruhan platform.

---

## 4. Ruang Lingkup Fitur (Scope of Work & Features)

### A. Sisi Customer (Web App Utama)

Sistem bagi _Customer_ difokuskan pada pemesanan layanan. Terdiri dari 5 fitur inti (_Core Features_):

- **1. Suruh Anterin**
- Fitur pemesanan ojek _online_ (Ride-hailing).
- Fungsi: Input lokasi jemput dan tujuan, kalkulasi harga otomatis berdasarkan jarak, pencarian Mitra terdekat.

- **2. Suruh Kirimin**
- Fitur pengiriman barang (Logistics).
- Fungsi: Input lokasi pengambilan dan pengiriman, detail barang, kalkulasi harga otomatis.

- **3. Suruh Beliin**
- Fitur pembelanjaan barang kebutuhan (Personal Shopper).
- Fungsi: Input daftar belanjaan (sabun, susu, dll), estimasi harga barang + biaya jasa, titik pengantaran.

- **4. Suruh Benerin** (Sistem _Bidding/Penawaran_)
- Fitur perbaikan barang elektronik/rumah tangga.
- Fungsi: Customer memposting masalah (contoh: AC mati, Kipas rusak) -> Mengunggah foto/deskripsi -> Menentukan _budget_/upah -> Menunggu dan memilih penawaran (_bidding_) dari Mitra.

- **5. Suruh Bebas** (Sistem _Bidding/Penawaran_)
- Fitur _custom request_ (Permintaan _random_).
- Fungsi: Customer mengetik permintaan bebas -> Menentukan harga bayaran -> Menunggu dan memilih penawaran dari Mitra yang bersedia.

### B. Dashboard Mitra

Dashboard ini digunakan oleh pekerja untuk mencari penghasilan. Terdiri dari menu utama:

- **1. Misi (Missions)**
- **Direct Order:** Menerima _request_ langsung untuk layanan "Suruh Anterin", "Suruh Kirimin", dan "Suruh Beliin" (berbasis jarak/algoritma).
- **Open Request / Bidding Board:** Melihat daftar _request_ "Suruh Benerin" dan "Suruh Bebas". Mitra dapat mengajukan penawaran jasa (mengambil harga sesuai _budget_ atau mengajukan negosiasi).

- **2. History (Riwayat)**
- Menampilkan riwayat misi yang telah selesai dikerjakan.
- Menampilkan status pendapatan dari masing-masing misi.

### C. Dashboard Admin

Dashboard ini digunakan oleh pemilik platform/manajemen operasi:

- **1. User Management (Kelola Pengguna):**
- Verifikasi, _suspend_, atau menghapus akun Customer.
- Verifikasi dokumen Mitra (KTP, SIM, SKCK, dll) untuk keamanan.

- **2. Transaction Monitoring (Pantau Transaksi):**
- Memantau arus uang masuk, pembayaran ke Mitra, dan status _order_ yang sedang berjalan (_live tracking_).
- Pusat resolusi jika terjadi perselisihan (_dispute_) antara Customer dan Mitra.

---

## 5. Rekomendasi Teknologi (Tech Stack)

_Karena belum ditentukan, ini adalah rekomendasi standar industri:_

- **Frontend (Customer Web App & Dashboards):** React.js atau Vue.js (Dibuat sebagai _Progressive Web App / PWA_ agar terasa seperti aplikasi _mobile_ di HP).
- **Backend:** Node.js (Express) atau Go (Golang) untuk menangani _real-time request_ dan _bidding_.
- **Database:** PostgreSQL (Relational Data) & Redis (untuk _caching_ dan _live tracking_ ojek).
- **Third-Party API:**
- Google Maps API / Mapbox (Kalkulasi jarak, rute, dan _live tracking_).
- Midtrans / Xendit (Payment Gateway untuk pembayaran).
- Socket.io (Untuk fitur _real-time bidding_ dan _chat_).

## Desain Web Suruh

    Referensi desain UI/UX untuk web aplikasi ini pada link "https://stitch.withgoogle.com/projects/8107012945507598556"
