83 lines
1.5 KiB
Markdown
83 lines
1.5 KiB
Markdown
|
|
# Panduan Kontribusi
|
||
|
|
|
||
|
|
Terima kasih telah tertarik berkontribusi pada proyek **Persegi**!
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Prasyarat
|
||
|
|
|
||
|
|
- PHP >= 8.4
|
||
|
|
- Composer
|
||
|
|
- MySQL / MariaDB
|
||
|
|
- Node.js (opsional, untuk asset)
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Setup Lokal
|
||
|
|
|
||
|
|
```bash
|
||
|
|
git clone <repo-url>
|
||
|
|
cd persegi
|
||
|
|
|
||
|
|
composer install
|
||
|
|
cp .env.example .env
|
||
|
|
php artisan key:generate
|
||
|
|
```
|
||
|
|
|
||
|
|
Isi konfigurasi database di `.env`:
|
||
|
|
```
|
||
|
|
DB_DATABASE=persegi
|
||
|
|
DB_USERNAME=root
|
||
|
|
DB_PASSWORD=
|
||
|
|
```
|
||
|
|
|
||
|
|
Lalu jalankan:
|
||
|
|
```bash
|
||
|
|
php artisan migrate --seed
|
||
|
|
php artisan shield:generate --panel=admin
|
||
|
|
php artisan shield:super-admin --user=1
|
||
|
|
php artisan serve
|
||
|
|
```
|
||
|
|
|
||
|
|
Akses admin panel: `http://localhost:8000/dashboard`
|
||
|
|
|
||
|
|
Untuk notifikasi & queue:
|
||
|
|
```bash
|
||
|
|
php artisan queue:work
|
||
|
|
```
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Alur Kontribusi
|
||
|
|
|
||
|
|
1. Fork repository ini
|
||
|
|
2. Buat branch baru: `git checkout -b feat/nama-fitur`
|
||
|
|
3. Lakukan perubahan
|
||
|
|
4. Commit dengan pesan yang jelas (gunakan bahasa Indonesia):
|
||
|
|
```
|
||
|
|
feat: tambah fitur X
|
||
|
|
fix: perbaiki bug Y
|
||
|
|
docs: update dokumentasi Z
|
||
|
|
```
|
||
|
|
5. Push ke fork kamu: `git push origin feat/nama-fitur`
|
||
|
|
6. Buat Pull Request ke branch `master`
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Konvensi Kode
|
||
|
|
|
||
|
|
- Ikuti struktur yang sudah ada: Resource → `app/Filament/Resources/{Nama}/`
|
||
|
|
- Pisahkan Form, Table, dan Pages ke file terpisah
|
||
|
|
- Gunakan Observer untuk side-effect (log, notifikasi)
|
||
|
|
- Semua aksi penting wajib dicatat ke `activity_logs`
|
||
|
|
- Jangan hardcode permission — gunakan Filament Shield
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Melaporkan Bug
|
||
|
|
|
||
|
|
Buka issue dengan menyertakan:
|
||
|
|
- Langkah untuk mereproduksi
|
||
|
|
- Pesan error lengkap
|
||
|
|
- Role user yang mengalami bug
|