185 lines
6.3 KiB
Markdown
185 lines
6.3 KiB
Markdown
<p align="center">
|
|
<a href="https://laravel.com" target="_blank">
|
|
<img src="https://raw.githubusercontent.com/laravel/art/master/logo-lockup/5%20SVG/2%20CMYK/1%20Full%20Color/laravel-logolockup-cmyk-red.svg" width="300" alt="Laravel Logo">
|
|
</a>
|
|
</p>
|
|
|
|
<h1 align="center">Tani Desa</h1>
|
|
|
|
<p align="center">
|
|
<a href="https://github.com/laravel/framework/actions"><img src="https://github.com/laravel/framework/workflows/tests/badge.svg" alt="Build Status"></a>
|
|
<a href="https://packagist.org/packages/laravel/framework"><img src="https://img.shields.io/packagist/v/laravel/framework" alt="Latest Stable Version"></a>
|
|
<a href="https://packagist.org/packages/laravel/framework"><img src="https://img.shields.io/packagist/l/laravel/framework" alt="License"></a>
|
|
</p>
|
|
|
|
<p align="center">
|
|
<strong>Platform digital terintegrasi untuk menghubungkan Petani lokal dengan Konsumen secara langsung (Direct-to-Consumer).</strong>
|
|
</p>
|
|
|
|
<hr>
|
|
|
|
## 📑 Table of Contents
|
|
|
|
- [About the Project](#-about-the-project)
|
|
- [System Architecture](#-system-architecture)
|
|
- [Key Features](#-key-features)
|
|
- [Prerequisites](#-prerequisites)
|
|
- [Installation Guide](#-installation-guide)
|
|
- [Access Management (Seeders)](#-access-management-seeders)
|
|
- [Development Roadmap](#-development-roadmap)
|
|
- [License](#-license)
|
|
|
|
---
|
|
|
|
## 📖 About the Project
|
|
|
|
**Tani Desa** adalah solusi perangkat lunak berbasis web yang dirancang untuk mendigitalisasi proses jual-beli komoditas pertanian desa. Sistem ini bertujuan memotong rantai distribusi yang panjang dengan memfasilitasi transaksi langsung antara produsen (Petani) dan konsumen akhir.
|
|
|
|
Sistem ini dibangun menggunakan arsitektur **Monolithic** dengan framework **Laravel**, serta antarmuka modern yang responsif menggunakan **Bootstrap 5 CSS**.
|
|
|
|
---
|
|
|
|
## 🛠 System Architecture
|
|
|
|
Aplikasi ini dikembangkan menggunakan *Tech Stack* modern dengan spesifikasi berikut:
|
|
|
|
| Komponen | Teknologi | Versi / Detail |
|
|
| :--- | :--- | :--- |
|
|
| **Backend Framework** | Laravel | v12.x |
|
|
| **Language** | PHP | v8.2+ |
|
|
| **Database** | MySQL / MariaDB | Relational Database |
|
|
| **Frontend Styling** | Bootstrap 5 CSS | v4.x (Latest) |
|
|
|
|
---
|
|
|
|
## Key Features
|
|
|
|
Sistem dibagi menjadi tiga modul utama berdasarkan *User Roles*:
|
|
|
|
### 1. Admin Desa (Administrator)
|
|
*Bertugas memverifikasi petani dan memantau sistem.*
|
|
- [x] **Login Admin:** Halaman login khusus admin.
|
|
- [ ] **Dashboard Admin:** Statistik ringkas jumlah petani dan status verifikasi.
|
|
- [x] **Verifikasi Petani:** Melihat daftar pendaftar, menyetujui (Approve), atau menolak (Reject) akun petani.
|
|
- [ ] **Monitoring Transaksi:** Memantau seluruh aktivitas transaksi di platform (View Only).
|
|
|
|
### 2. Petani (Penjual)
|
|
*Hanya bisa berjualan setelah akun diverifikasi oleh Admin Desa.*
|
|
- [ ] **Registrasi Petani:** Pendaftaran akun dengan status awal "Menunggu Persetujuan".
|
|
- [ ] **Dashboard Petani:** Ringkasan aktivitas toko.
|
|
- [x] **Manajemen Produk (CRUD):** Tambah, Edit, Hapus, dan Lihat daftar produk pertanian.
|
|
- [ ] **Manajemen Pesanan:** Menerima pesanan masuk dan mengubah status menjadi "Dikirim".
|
|
- [ ] **Kotak Masuk (Pesan):** Fitur tanya jawab dengan pembeli.
|
|
|
|
### 3. Pembeli (Publik)
|
|
*Pengguna umum yang membeli produk pertanian.*
|
|
- [ ] **Registrasi & Login:** Membuat akun pembeli.
|
|
- [x] **Katalog Produk:** Melihat dan mencari produk yang dijual petani.
|
|
- [x] **Detail Produk:** Melihat rincian produk.
|
|
- [x] **Keranjang Belanja:** Menambah produk ke cart sebelum checkout.
|
|
- [ ] **Checkout (Transaksi):** Melakukan pemesanan barang (Metode COD).
|
|
- [ ] **Riwayat Transaksi:** Melacak status pesanan (Diproses/Dikirim/Selesai).
|
|
- [ ] **Kirim Pesan:** Menghubungi petani terkait produk.
|
|
|
|
---
|
|
|
|
## Prerequisites
|
|
|
|
Sebelum melakukan instalasi, pastikan lingkungan server lokal Anda memenuhi persyaratan berikut:
|
|
|
|
- **PHP** >= 8.1
|
|
- **Composer** (PHP Dependency Manager)
|
|
- **MySQL** Database Server
|
|
- **Git** Version Control
|
|
|
|
---
|
|
|
|
## Installation Guide
|
|
|
|
Ikuti langkah-langkah berikut untuk menjalankan proyek di lingkungan pengembangan lokal (*Local Environment*):
|
|
|
|
### Step 1: Clone Repository
|
|
Unduh kode sumber dari repositori.
|
|
```bash
|
|
git clone [https://github.com/sayasilvi/web-pertanian.git)
|
|
cd web-pertanian
|
|
```
|
|
|
|
### Step 2: Install Backend Dependencies
|
|
Install library PHP melalui Composer.
|
|
|
|
```bash
|
|
composer install
|
|
```
|
|
|
|
### Step 3: Install Frontend Dependencies
|
|
Install library JavaScript.
|
|
|
|
```bash
|
|
npm install
|
|
```
|
|
|
|
### Step 4: Environment Configuration
|
|
Salin file konfigurasi dan sesuaikan kredensial database.
|
|
|
|
```bash
|
|
cp .env.example .env
|
|
```
|
|
*Edit file `.env` lalu atur parameter `DB_DATABASE`, `DB_USERNAME`, dan `DB_PASSWORD` sesuai konfigurasi lokal Anda.*
|
|
|
|
### Step 5: Application Key & Database
|
|
Generate key aplikasi dan jalankan migrasi database serta seeder data dummy.
|
|
|
|
```bash
|
|
php artisan key:generate
|
|
php artisan migrate --seed
|
|
```
|
|
|
|
### Step 6: Start Application
|
|
**Terminal (Laravel Server):**
|
|
```bash
|
|
php artisan serve
|
|
```
|
|
|
|
Aplikasi dapat diakses melalui browser di: `http://localhost:8000` atau `http://127.0.0.1:8000`
|
|
|
|
---
|
|
|
|
## Access Management (Seeders)
|
|
|
|
Berikut adalah kredensial default yang dibuat oleh sistem *Seeder* untuk keperluan *User Acceptance Testing (UAT)*:
|
|
|
|
### Administrator
|
|
| Role | Username | Password | Access Level |
|
|
| :--- | :--- | :--- | :--- |
|
|
| **Super Admin** | `admin` | `password123` | Full Access |
|
|
|
|
### Vendors (Petani)
|
|
| Account Name | Username | Password | Status | Notes |
|
|
| :--- | :--- | :--- | :--- | :--- |
|
|
| **Siti Sayur** | `siti_sayur` | `password123` | <span style="color:green">**Active**</span> | Dapat Login & Jualan |
|
|
| **Budi Tani** | `budi_tani` | `password123` | <span style="color:orange">**Pending**</span> | Menunggu Approval Admin |
|
|
| **Joko Tani** | `joko_tani` | `password123` | <span style="color:red">**Rejected**</span> | Akses Ditolak |
|
|
|
|
### Customers (Pembeli)
|
|
| Account Name | Username | Password |
|
|
| :--- | :--- | :--- |
|
|
| **Andi Pembeli** | `andi_beli` | `password123` |
|
|
| **Rina Sayur** | `rina_sayur` | `password123` |
|
|
|
|
---
|
|
|
|
## Development Roadmap
|
|
|
|
Status pengembangan fitur saat ini:
|
|
|
|
- [x] **Core:** Authentication & Role Management
|
|
- [x] **Core:** Database Schema & Migration
|
|
- [x] **Module:** Admin Verification Workflow
|
|
- [x] **Module:** Shopping Cart & Checkout
|
|
- [ ] **Module:** Product Management (Vendor)
|
|
- [ ] **Feature:** Transaction History Tracking
|
|
- [ ] **Feature:** In-app Messaging System
|
|
|
|
---
|