Laravel Logo

Tani Desa

Test CI/CD 123

Build Status Latest Stable Version License

Platform digital terintegrasi untuk menghubungkan Petani lokal dengan Konsumen secara langsung (Direct-to-Consumer).


## 📑 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". - [x] **Dashboard Petani:** Ringkasan aktivitas toko. - [x] **Manajemen Produk (CRUD):** Tambah, Edit, Hapus, dan Lihat daftar produk pertanian. - [x] **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. - [x] **Checkout (Transaksi):** Melakukan pemesanan barang (Metode COD). - [x] **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 Generate key aplikasi dan jalankan migrasi database serta seeder data dummy. ```bash php artisan key:generate ``` ### Step 6: Database Migration Jalankan migrasi database serta seeder data dummy. ```bash php artisan migrate --seed ``` ### Step 7: Import Data Wilayah Indonesia (Wajib) Jalankan perintah ini untuk mengisi data wilayah resmi Indonesia ke dalam database. ```bash php artisan laravolt:indonesia:seed ``` ### Step 8: Konfigurasi Storage Link Jalankan perintah untuk konfigurasi storage link untuk menyimpan gambar ```bash php artisan storage:link ``` ### Step 9: 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` | **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: - [x] **Core:** Authentication & Role Management - [x] **Core:** Database Schema & Migration - [x] **Module:** Admin Verification Workflow - [x] **Module:** Shopping Cart & Checkout - [x] **Module:** Product Management (Vendor) - [x] **Feature:** Transaction History Tracking - [ ] **Feature:** In-app Messaging System ---