TIF_NGANJUK_E41220737/README.md

6.7 KiB

Laravel Logo

Tani Desa

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

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

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