Platform e-commerce lokal berbasis desa/kawasan (hyperlocal marketplace) yang dirancang untuk memberdayakan pelaku UMKM, pedagang lokal, dan komoditas unggulan (seafood, hasil bumi, kuliner, dan kerajinan) di kawasan Cibenda, Kabupaten Pangandaran.
Dibangun dengan arsitektur monolitik modern menggunakan Laravel 11, Inertia.js, React, TypeScript, dan Tailwind CSS.
| Layer | Teknologi |
|---|---|
| Backend Framework | Laravel 11 (PHP 8.2+) |
| Frontend Framework | React 18/19 + TypeScript |
| Adapter Layer | Inertia.js v1 (Server-driven Single Page Application) |
| Styling & UI | Tailwind CSS, Lucide React Icons |
| Database | MySQL / MariaDB |
| Payment & Payout Gateway | Midtrans Core API (Direct Charge) & Midtrans IRIS (Payouts) |
| Mapping / Geolocation | Leaflet.js / OpenStreetMap |
- Katalog & Navigasi: Eksplorasi produk berdasarkan kategori (Seafood, Sayuran, Sembako, dll.) dan pencarian real-time.
- Profil Toko Mitra: Halaman etalase khusus per pedagang lengkap dengan jam operasional, badge verifikasi SID, dan katalog toko.
- Manajemen Keranjang & Checkout: Penanganan multi-item cart, pemilihan alamat pengiriman interaktif berbasis peta, dan ringkasan biaya transparan.
- Sistem Ulasan & Rating: Pembeli yang sudah menyelesaikan transaksi dapat memberikan ulasan bintang beserta foto produk.
- Onboarding Toko: Form setup toko, kustomisasi slug/username toko, dan verifikasi status SID desa.
- Katalog & Stok Produk: Tambah/edit produk, upload multi-foto, pengelolaan stok, harga, dan variasi.
- Kelola Pesanan: Pemantauan pesanan masuk, konfirmasi proses, input resi pengiriman, hingga penyelesaian pesanan.
- Dompet & Penarikan Saldo (Withdrawal): Rekapitulasi saldo penghasilan bersih dan form pengajuan penarikan dana ke rekening bank pedagang.
- Verifikasi & Manajemen Merchant: Pembuatan akun pedagang oleh admin, pemisahan identitas pemilik vs nama toko, serta peninjauan dokumen verifikasi SID.
- Laporan Produk Unggulan Terlaris (Leaderboard):
- Rekap produk terbaik per toko (1 produk unggulan/toko) dengan penjualan nyata (
total_sales > 0). - Filter interaktif (Semua Waktu, Hari Ini, Minggu/Bulan/Tahun Ini, atau Rentang Kustom).
- Medali peringkat vektor (Gold, Silver, Bronze) & metrik omset ringkas.
- Ekspor laporan langsung ke format CSV (UTF-8 BOM siap Excel).
- Rekap produk terbaik per toko (1 produk unggulan/toko) dengan penjualan nyata (
- PHP >= 8.2 & Composer
- Node.js >= 18.x & npm / pnpm
- MySQL / MariaDB
-
Clone repositori dan masuk ke direktori project:
git clone https://github.com/username/e-commerce_platform_pangandaran.git cd e-commerce_platform_pangandaran -
Salin file environment & sesuaikan konfigurasi database:
cp .env.example .env
Buka file
.envlalu sesuaikan kredensialDB_DATABASE,DB_USERNAME,DB_PASSWORD, dan konfigurasi Midtrans jika ada. -
Install dependensi PHP & Node.js:
composer install npm install
-
Generate Application Key:
php artisan key:generate
-
Jalankan migrasi database & seeder:
php artisan migrate --seed
-
Buat symbolic link untuk media/storage:
php artisan storage:link
-
Jalankan development server:
- Terminal 1 (Laravel backend):
php artisan serve
- Terminal 2 (Vite frontend):
npm run dev
- Terminal 1 (Laravel backend):
-
Akses aplikasi melalui browser di
http://localhost:8000.
├── app/
│ ├── Http/Controllers/
│ │ ├── Admin/ # Controller panel admin & laporan
│ │ ├── Merchant/ # Controller pedagang, produk & penarikan saldo
│ │ ├── Auth/ # Autentikasi multi-role
│ │ └── ... # Shop, Cart, Checkout, Order, & Review controllers
│ └── Models/ # Eloquent Models (User, Store, Product, Order, dll.)
├── resources/
│ ├── js/
│ │ ├── Components/ # Komponen UI modular (Admin, Merchant, Storefront, Cart)
│ │ ├── Hooks/ # Custom React hooks (Storefront, Admin, Merchant)
│ │ ├── Layouts/ # Layout wrappers (AdminLayout, MerchantLayout, StorefrontLayout)
│ │ └── Pages/ # Halaman Inertia.js (Admin, Storefront, Auth, Profile)
│ └── css/ # Konfigurasi Tailwind & global styling
├── routes/
│ ├── web.php # Route definitions & middleware grouping
│ └── auth.php # Route autentikasi
└── database/
├── migrations/ # Skema database
└── seeders/ # Data awal/dummy testing
- Autentikasi multi-guard/role memisahkan akses Super Admin, Merchant, dan Customer.
- Proteksi brute-force dan pesan login tersanitasi untuk mencegah user enumeration.
- Validasi transaksi dan status pembayaran terproteksi dengan verifikasi status Midtrans webhook/callback.