From faca225e082a07164d15969503220250ab758a42 Mon Sep 17 00:00:00 2001 From: tuxarmy Date: Mon, 6 Apr 2026 00:11:07 +0700 Subject: [PATCH] feat: tambah halaman panduan penggunaan (docs/USER_GUIDE.md + /panduan) --- app/Http/Controllers/PublicController.php | 5 +- docs/USER_GUIDE.md | 230 ++++++++++++++++++ resources/views/public/guide.blade.php | 282 ++++++++++++++++++++++ routes/web.php | 1 + 4 files changed, 517 insertions(+), 1 deletion(-) create mode 100644 docs/USER_GUIDE.md create mode 100644 resources/views/public/guide.blade.php diff --git a/app/Http/Controllers/PublicController.php b/app/Http/Controllers/PublicController.php index 460272b..ddc3d6d 100644 --- a/app/Http/Controllers/PublicController.php +++ b/app/Http/Controllers/PublicController.php @@ -63,7 +63,10 @@ class PublicController extends Controller return view('public.kontak'); } - public function kontakStore(\Illuminate\Http\Request $request) + public function guide() + { + return view('public.guide'); + } public function kontakStore(\Illuminate\Http\Request $request) { $data = $request->validate([ 'name' => 'required|string|max:100', diff --git a/docs/USER_GUIDE.md b/docs/USER_GUIDE.md new file mode 100644 index 0000000..381e32c --- /dev/null +++ b/docs/USER_GUIDE.md @@ -0,0 +1,230 @@ +# Panduan Penggunaan Sistem Persegi + +Sistem manajemen internal Organisasi Pemuda Desa Karangdadap. +Akses panel: **https://persegi.nyawiji.net/admin** + +--- + +## Daftar Isi + +1. [Login & Akses Panel](#1-login--akses-panel) +2. [Dashboard](#2-dashboard) +3. [Manajemen Anggota](#3-manajemen-anggota) +4. [Divisi](#4-divisi) +5. [Kegiatan](#5-kegiatan) +6. [Keuangan (Kas)](#6-keuangan-kas) +7. [Iuran Anggota](#7-iuran-anggota) +8. [Voting](#8-voting) +9. [Approval](#9-approval) +10. [Audit Internal](#10-audit-internal) +11. [Konten & Blog](#11-konten--blog) +12. [Poin Anggota](#12-poin-anggota) +13. [Notifikasi](#13-notifikasi) +14. [Hak Akses per Role](#14-hak-akses-per-role) + +--- + +## 1. Login & Akses Panel + +1. Buka **https://persegi.nyawiji.net/admin** +2. Masukkan email dan password yang diberikan pengurus +3. Klik **Masuk** + +> Hanya anggota dengan status **aktif** yang bisa login. Jika tidak bisa masuk, hubungi pengurus. + +--- + +## 2. Dashboard + +Setelah login, halaman utama menampilkan: +- **Statistik** — jumlah anggota aktif, kegiatan, kas masuk/keluar +- **Log Aktivitas** — perubahan terbaru di sistem +- **Leaderboard Poin** — 10 anggota dengan poin tertinggi + +--- + +## 3. Manajemen Anggota + +**Menu:** Organisasi → Anggota + +### Tambah Anggota Baru +1. Klik tombol **Tambah Anggota** +2. Isi nama, email, nomor telepon, alamat, dan divisi +3. Atur status: **Aktif** atau **Nonaktif** +4. Klik **Simpan** + +> Anggota baru otomatis mendapat role `anggota` dan bisa login ke panel. + +### Nonaktifkan Anggota +1. Buka halaman edit anggota +2. Ubah status ke **Nonaktif** +3. Isi alasan nonaktif +4. Klik **Simpan** + +> Anggota nonaktif tidak bisa login ke panel. + +### Assign Role Tambahan +Role bisa ditambahkan di field **Role** saat edit anggota. +- `koordinator` — hanya bisa di-assign oleh **ketua** +- Role lain (`pengurus`, `bendahara`, dll) — bisa di-assign oleh yang punya akses + +--- + +## 4. Divisi + +**Menu:** Organisasi → Divisi + +- Tambah, edit, atau hapus divisi +- Setiap divisi bisa memiliki **Penanggung Jawab** — dipilih dari anggota dengan role `pengurus` + +--- + +## 5. Kegiatan + +**Menu:** Kegiatan → Kegiatan + +### Alur Status Kegiatan + +``` +Draft → Pending (diajukan) → Approved / Rejected +``` + +### Buat Kegiatan Baru (Pengurus / Koordinator) +1. Klik **Tambah Kegiatan** +2. Isi judul, deskripsi, tanggal mulai & selesai +3. Isi **Estimasi Budget** jika ada (opsional) +4. Klik **Simpan** — kegiatan tersimpan sebagai **Draft** + +### Ajukan Kegiatan +1. Buka kegiatan yang sudah dibuat +2. Ubah status ke **Pending** +3. Klik **Simpan** + +> Ketua akan mendapat notifikasi untuk menyetujui. +> Jika budget ≥ Rp500.000, akan dibuat **Approval** otomatis. +> Jika budget > Rp2.000.000, akan dibuat **Voting** otomatis. + +### Setujui / Tolak Kegiatan (Ketua) +1. Buka kegiatan dengan status **Pending** +2. Ubah status ke **Approved** atau **Rejected** +3. Klik **Simpan** + +### Catat Kehadiran Peserta +1. Buka kegiatan yang sudah **Approved** +2. Buka tab **Kehadiran Peserta** +3. Klik **Tambah Peserta** → pilih anggota → atur status kehadiran +4. Anggota yang hadir otomatis mendapat **+10 poin** + +--- + +## 6. Keuangan (Kas) + +**Menu:** Keuangan → Transaksi + +### Catat Transaksi Baru (Bendahara) +1. Klik **Tambah Transaksi** +2. Pilih kategori, isi jumlah, keterangan, dan tanggal +3. Pilih **Kegiatan Terkait** jika transaksi untuk kegiatan tertentu (opsional) +4. Klik **Simpan** + +### Alur Verifikasi Otomatis + +| Jumlah | Alur | +|---|---| +| < Rp500.000 | Bisa langsung diverifikasi | +| Rp500.000 – Rp2.000.000 | Approval ketua diperlukan | +| > Rp2.000.000 | Voting anggota diperlukan | + +### Verifikasi Transaksi (Ketua) +1. Buka transaksi yang menunggu verifikasi +2. Klik tombol **Verifikasi** + +> Transaksi yang sudah diverifikasi **tidak bisa diubah atau dihapus**. + +--- + +## 7. Iuran Anggota + +**Menu:** Organisasi → Iuran Anggota + +- Catat iuran per anggota per periode (format: `YYYY-MM`, contoh: `2026-04`) +- Status iuran: **Lunas** atau **Belum Lunas** + +--- + +## 8. Voting + +**Menu:** Keputusan → Voting + +- Voting dibuat otomatis oleh sistem saat ada transaksi atau budget kegiatan > Rp2.000.000 +- Anggota bisa melihat dan memilih suara di halaman detail voting +- Voting otomatis tertutup setelah deadline + +--- + +## 9. Approval + +**Menu:** Keputusan → Approval + +- Approval dibuat otomatis untuk transaksi atau budget kegiatan Rp500.000–Rp2.000.000 +- Ketua bisa menyetujui atau menolak di halaman detail approval + +--- + +## 10. Audit Internal + +**Menu:** Audit → Temuan Audit + +- Auditor bisa membuat temuan audit +- Pengurus terkait bisa memberikan respons terhadap temuan + +--- + +## 11. Konten & Blog + +**Menu:** Konten → Post + +### Buat Artikel +1. Klik **Tambah Post** +2. Isi judul, konten, dan slug +3. Simpan sebagai **Draft** atau langsung **Publish** + +> Artikel yang dipublish otomatis memberikan **+5 poin** ke penulis. +> Editor bisa me-review dan publish/unpublish artikel. + +--- + +## 12. Poin Anggota + +**Menu:** Organisasi → Poin Anggota + +Poin diberikan otomatis: +| Aktivitas | Poin | +|---|---| +| Hadir di kegiatan | +10 | +| Artikel dipublish | +5 | + +--- + +## 13. Notifikasi + +Ikon lonceng di pojok kanan atas menampilkan notifikasi masuk, seperti: +- Kegiatan menunggu persetujuan +- Status kegiatan diubah +- Transaksi butuh approval/voting +- Status keanggotaan diubah + +--- + +## 14. Hak Akses per Role + +| Role | Yang Bisa Dilakukan | +|---|---| +| `super_admin` | Semua akses | +| `ketua` | Approve kegiatan, verifikasi kas, lihat semua data | +| `bendahara` | Input kas & iuran | +| `pengurus` | Buat & ajukan kegiatan, lihat anggota & divisi | +| `koordinator` | Buat & kelola kegiatan milik sendiri (sebelum disetujui) | +| `anggota` | Lihat kegiatan, voting, poin, buat artikel | +| `auditor` | Lihat semua data + buat temuan audit | +| `editor` | Review & publish artikel | diff --git a/resources/views/public/guide.blade.php b/resources/views/public/guide.blade.php new file mode 100644 index 0000000..7e7091b --- /dev/null +++ b/resources/views/public/guide.blade.php @@ -0,0 +1,282 @@ +@extends('public.layout') +@section('title', 'Panduan Penggunaan') +@section('content') + +
+ +
+

+ Panduan +

+

Panduan
Penggunaan

+

Panduan lengkap penggunaan sistem manajemen internal Persegi.

+
+ +
+ + {{-- Sidebar navigasi --}} + + + {{-- Konten --}} +
+ + {{-- Login --}} +
+

1. Login & Akses Panel

+
    +
  1. Buka {{ config('app.url') }}/admin
  2. +
  3. Masukkan email dan password yang diberikan pengurus
  4. +
  5. Klik Masuk
  6. +
+

+ Hanya anggota dengan status aktif yang bisa login. Jika tidak bisa masuk, hubungi pengurus. +

+
+ + {{-- Dashboard --}} +
+

2. Dashboard

+

Setelah login, halaman utama menampilkan:

+
    +
  • Statistik — jumlah anggota aktif, kegiatan, kas masuk/keluar
  • +
  • Log Aktivitas — perubahan terbaru di sistem
  • +
  • Leaderboard Poin — 10 anggota dengan poin tertinggi
  • +
+
+ + {{-- Anggota --}} +
+

3. Manajemen Anggota

+

Menu: Organisasi → Anggota

+ +

Tambah Anggota Baru

+
    +
  1. Klik tombol Tambah Anggota
  2. +
  3. Isi nama, email, nomor telepon, alamat, dan divisi
  4. +
  5. Atur status: Aktif atau Nonaktif
  6. +
  7. Klik Simpan
  8. +
+ +

Nonaktifkan Anggota

+
    +
  1. Buka halaman edit anggota
  2. +
  3. Ubah status ke Nonaktif dan isi alasan
  4. +
  5. Klik Simpan
  6. +
+

+ Anggota nonaktif tidak bisa login ke panel. +

+
+ + {{-- Divisi --}} +
+

4. Divisi

+

Menu: Organisasi → Divisi

+
    +
  • Tambah, edit, atau hapus divisi
  • +
  • Setiap divisi bisa memiliki Penanggung Jawab — dipilih dari anggota dengan role pengurus
  • +
+
+ + {{-- Kegiatan --}} +
+

5. Kegiatan

+

Menu: Kegiatan → Kegiatan

+ +
+ Draft + + Pending + + Approved + / + Rejected +
+ +

Buat Kegiatan Baru

+
    +
  1. Klik Tambah Kegiatan
  2. +
  3. Isi judul, deskripsi, tanggal, dan estimasi budget (opsional)
  4. +
  5. Klik Simpan — tersimpan sebagai Draft
  6. +
  7. Ubah status ke Pending untuk mengajukan ke ketua
  8. +
+ +

+ Budget ≥ Rp500.000 → approval ketua otomatis dibuat.
+ Budget > Rp2.000.000 → voting otomatis dibuat. +

+ +

Catat Kehadiran Peserta

+
    +
  1. Buka kegiatan yang sudah Approved
  2. +
  3. Buka tab Kehadiran Peserta
  4. +
  5. Tambah peserta dan atur status kehadiran
  6. +
  7. Anggota yang hadir otomatis mendapat +10 poin
  8. +
+
+ + {{-- Kas --}} +
+

6. Keuangan (Kas)

+

Menu: Keuangan → Transaksi

+ +

Catat Transaksi

+
    +
  1. Klik Tambah Transaksi
  2. +
  3. Pilih kategori, isi jumlah, keterangan, dan tanggal
  4. +
  5. Pilih kegiatan terkait jika ada (opsional)
  6. +
  7. Klik Simpan
  8. +
+ +
+ + + + + + + + + + + + +
JumlahAlur
< Rp500.000Langsung diverifikasi
Rp500.000 – Rp2.000.000Perlu approval ketua
> Rp2.000.000Perlu voting anggota
+
+
+ + {{-- Iuran --}} +
+

7. Iuran Anggota

+

Menu: Organisasi → Iuran Anggota

+
    +
  • Catat iuran per anggota per periode (format: YYYY-MM, contoh: 2026-04)
  • +
  • Status: Lunas atau Belum Lunas
  • +
+
+ + {{-- Voting --}} +
+

8. Voting

+

Menu: Keputusan → Voting

+
    +
  • Voting dibuat otomatis saat transaksi atau budget kegiatan > Rp2.000.000
  • +
  • Anggota bisa memilih suara di halaman detail voting
  • +
  • Voting tertutup otomatis setelah deadline
  • +
+
+ + {{-- Approval --}} +
+

9. Approval

+

Menu: Keputusan → Approval

+
    +
  • Approval dibuat otomatis untuk transaksi atau budget Rp500.000–Rp2.000.000
  • +
  • Ketua bisa menyetujui atau menolak di halaman detail approval
  • +
+
+ + {{-- Audit --}} +
+

10. Audit Internal

+

Menu: Audit → Temuan Audit

+
    +
  • Auditor bisa membuat temuan audit
  • +
  • Pengurus terkait bisa memberikan respons terhadap temuan
  • +
+
+ + {{-- Konten --}} +
+

11. Konten & Blog

+

Menu: Konten → Post

+
    +
  1. Klik Tambah Post
  2. +
  3. Isi judul, konten, dan slug
  4. +
  5. Simpan sebagai Draft atau langsung Publish
  6. +
+

+ Artikel yang dipublish otomatis memberikan +5 poin ke penulis. +

+
+ + {{-- Poin --}} +
+

12. Poin Anggota

+

Menu: Organisasi → Poin Anggota

+ + + + + + + + + + + +
AktivitasPoin
Hadir di kegiatan+10
Artikel dipublish+5
+
+ + {{-- Notifikasi --}} +
+

13. Notifikasi

+

Ikon lonceng di pojok kanan atas menampilkan notifikasi masuk:

+
    +
  • Kegiatan menunggu persetujuan
  • +
  • Status kegiatan diubah
  • +
  • Transaksi butuh approval atau voting
  • +
  • Status keanggotaan diubah
  • +
+
+ + {{-- Role --}} +
+

14. Hak Akses per Role

+
+ + + + + + + + + + + + + + + + +
RoleYang Bisa Dilakukan
ketuaApprove kegiatan, verifikasi kas, lihat semua data
bendaharaInput kas & iuran
pengurusBuat & ajukan kegiatan, lihat anggota & divisi
koordinatorBuat & kelola kegiatan milik sendiri (sebelum disetujui)
anggotaLihat kegiatan, voting, poin, buat artikel
auditorLihat semua data + buat temuan audit
editorReview & publish artikel
+
+
+ +
+
+
+ +@endsection diff --git a/routes/web.php b/routes/web.php index 73e417f..198bbbe 100644 --- a/routes/web.php +++ b/routes/web.php @@ -10,3 +10,4 @@ Route::get('/blog', [\App\Http\Controllers\PublicController::class, 'blog'])->na Route::get('/blog/{post:slug}', [\App\Http\Controllers\PublicController::class, 'blogDetail'])->name('blog.detail'); Route::get('/kontak', [\App\Http\Controllers\PublicController::class, 'kontak'])->name('kontak'); Route::post('/kontak', [\App\Http\Controllers\PublicController::class, 'kontakStore'])->name('kontak.store'); +Route::get('/panduan', [\App\Http\Controllers\PublicController::class, 'guide'])->name('guide');