SAPA adalah sebuah platform berbasis web yang dirancang khusus untuk mahasiswa agar dapat menyuarakan aspirasi, memberikan aduan, dan melaporkan permasalahan di lingkungan kampus secara aman dan terstruktur.
- Sistem Pseudonim: Identitas mahasiswa disamarkan (misalnya "Anonim 231" atau pseudonim unik dari sistem) untuk melindungi privasi pelapor.
- Manajemen Aduan: Mahasiswa dapat membuat, mengedit, dan menghapus aduan/laporan mereka.
- Kategori Aduan: Laporan dikategorikan (Fasilitas, Akademik, Pelayanan, dll.) untuk memudahkan penanganan.
- Lampiran Bukti: Dukungan untuk mengunggah foto atau dokumen sebagai bukti laporan.
- Sistem Dukungan & Interaksi: Mahasiswa lain dapat memberikan dukungan (upvote) dan memberikan komentar pada laporan yang bersifat publik.
- Manajemen Role & Hak Akses: Sistem role-based access control (RBAC) memisahkan akses untuk Mahasiswa, Dosen, Admin, dan Super Admin dengan manajemen user yang terpusat.
- Syarat dan Ketentuan Pelaporan: Dilengkapi dengan persetujuan syarat & ketentuan (Terms & Conditions) sebelum membuat laporan untuk menjaga etika dan ketertiban.
- Halaman Legal & Informasi: Dilengkapi dengan halaman Tentang Kami, Syarat & Ketentuan, dan Kebijakan Privasi yang dapat diakses secara dinamis melalui Footer interaktif.
- Keamanan: Dilengkapi dengan verifikasi pendaftaran melalui sistem OTP (melalui Email) dan perlindungan formulir otentikasi menggunakan Captcha Matematika.
- Tampilan Dinamis (Dark Mode): Tampilan antarmuka (UI) yang modern, bersih (clean), responsif untuk perangkat mobile (dengan floating dropdown menu), dan mendukung mode gelap (dark mode) yang menyesuaikan dengan preferensi perangkat atau sistem operasi pengguna.
- Template Email Modern: Semua notifikasi email (kode OTP dan pembaruan status laporan) menggunakan layout yang terstruktur, menarik, dan sepenuhnya responsif di semua perangkat.
- Backend: Laravel 11
- Frontend: React (dengan Inertia.js)
- Styling: Tailwind CSS
- Database: MySQL / MariaDB
- PHP >= 8.2
- Composer
- Node.js & NPM
- Database MySQL / MariaDB
-
Clone repository ini:
git clone https://github.com/universitas-boyolali/sapa.git cd sapa -
Install dependensi PHP & Node.js:
composer install npm install
-
Konfigurasi Environment: Duplikat file
.env.examplemenjadi.env.cp .env.example .env
Lalu konfigurasikan database dan pengaturan SMTP Mailer di file
.env. Untuk environment lokal yang menggunakan Docker/Sail, Mailpit sudah disediakan secara bawaan untuk pengujian email (OTP/Notifikasi):DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=sapa DB_USERNAME=root DB_PASSWORD= MAIL_MAILER=smtp MAIL_HOST=mailpit MAIL_PORT=1025 MAIL_USERNAME=null MAIL_PASSWORD=null MAIL_ENCRYPTION=null MAIL_FROM_ADDRESS="hello@example.com" MAIL_FROM_NAME="${APP_NAME}"
-
Generate Application Key:
php artisan key:generate
-
Jalankan Migrasi & Seeder Database: (Untuk mengisi data awal seperti kamus pseudonim dan akun admin)
php artisan migrate --seed
-
Jalankan Server: Buka dua terminal berbeda dan jalankan perintah berikut:
- Terminal 1 (Backend):
php artisan serve - Terminal 2 (Frontend):
npm run dev
- Terminal 1 (Backend):
-
Akses aplikasi melalui
http://localhost:8000
Jika Anda lebih suka menggunakan Docker, Laravel Sail sudah disiapkan dan dikonfigurasi di dalam proyek ini.
- Pastikan Docker Desktop sudah berjalan di perangkat Anda.
- Install dependensi awal (jika belum):
composer install npm install
- Konfigurasi Environment:
Duplikat file
.env.examplemenjadi.envlalu sesuaikan untuk Sail (gunakan hostmysql):DB_CONNECTION=mysql DB_HOST=mysql DB_PORT=3306 DB_DATABASE=sapa DB_USERNAME=sail DB_PASSWORD=password
- Jalankan Sail (Docker Containers):
./vendor/bin/sail up -d
- Migrasi Database & Build Aset Frontend:
./vendor/bin/sail artisan migrate --seed ./vendor/bin/sail npm run build
- Akses aplikasi: Buka
http://localhostdi browser Anda. - Testing Email (Mailpit): Anda dapat melihat semua email (OTP/Reset Password) yang keluar secara lokal dengan membuka dashboard Mailpit di
http://localhost:8025. (Untuk menghentikan Sail, jalankan./vendor/bin/sail down)
Jika Anda ingin berkontribusi pada proyek ini, harap lakukan di branch dev.
- Checkout ke branch dev:
git checkout dev - Buat branch fitur baru:
git checkout -b fitur-saya - Commit perubahan:
git commit -m "Menambahkan fitur X" - Push ke GitHub:
git push origin fitur-saya - Buat Pull Request (PR) ke branch
dev.
SAPA bersifat open-sourced dan dilisensikan di bawah MIT license.
