6.7 KiB
Tani Desa
Test CI/CD 123Platform digital terintegrasi untuk menghubungkan Petani lokal dengan Konsumen secara langsung (Direct-to-Consumer).
📑 Table of Contents
- About the Project
- System Architecture
- Key Features
- Prerequisites
- Installation Guide
- Access Management (Seeders)
- Development Roadmap
- 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.
- Login Admin: Halaman login khusus admin.
- Dashboard Admin: Statistik ringkas jumlah petani dan status verifikasi.
- 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.
- 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.
- Katalog Produk: Melihat dan mencari produk yang dijual petani.
- Detail Produk: Melihat rincian produk.
- 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.
git clone [https://github.com/sayasilvi/web-pertanian.git]
cd web-pertanian
Step 2: Install Backend Dependencies
Install library PHP melalui Composer.
composer install
Step 3: Install Frontend Dependencies
Install library JavaScript.
npm install
Step 4: Environment Configuration
Salin file konfigurasi dan sesuaikan kredensial database.
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
Generate key aplikasi dan jalankan migrasi database serta seeder data dummy.
php artisan key:generate
Step 6: Database Migration
Jalankan migrasi database serta seeder data dummy.
php artisan migrate --seed
Step 7: Import Data Wilayah Indonesia (Wajib)
Jalankan perintah ini untuk mengisi data wilayah resmi Indonesia ke dalam database.
php artisan laravolt:indonesia:seed
Step 8: Konfigurasi Storage Link
Jalankan perintah untuk konfigurasi storage link untuk menyimpan gambar
php artisan storage:link
Step 9: Start Application
Terminal (Laravel Server):
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 |
Active | Dapat Login & Jualan |
| Budi Tani | budi_tani |
password123 |
Pending | Menunggu Approval Admin |
| Joko Tani | joko_tani |
password123 |
Rejected | 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:
- Core: Authentication & Role Management
- Core: Database Schema & Migration
- Module: Admin Verification Workflow
- Module: Shopping Cart & Checkout
- Module: Product Management (Vendor)
- Feature: Transaction History Tracking
- Feature: In-app Messaging System