Kul-Kul adalah aplikasi berbasis web yang dibangun untuk memodernisasi pengelolaan kegiatan ekstrakurikuler di sekolah. Aplikasi ini menggantikan sistem pencatatan manual dengan platform digital yang terintegrasi, memudahkan siswa dalam mendaftar dan admin dalam mengelola data kegiatan, anggota, serta penilaian.
Sistem ini memfasilitasi interaksi antara sekolah (Admin/Pembina) dan Siswa:
- Siswa dapat melihat katalog ekstrakurikuler, mendaftar secara online, melihat jadwal, dan memantau riwayat aktivitas mereka.
- Admin/Pembina memiliki kendali penuh untuk mengelola master data ekstrakurikuler, memvalidasi pendaftaran, mengatur jadwal latihan, mencatat prestasi, hingga memberikan penilaian.
Teknologi utama yang digunakan dalam pengembangan:
- Backend Framework: Laravel 10 (PHP)
- Frontend: Blade Templating Engine
- Styling & UI: CSS3, JavaScript (Vanilla & jQuery)
- Database: MySQL
- Build Tool: Vite (untuk manajemen aset CSS/JS)
- Server: Apache / Nginx
- Landing Page Interaktif: Informasi visual mengenai kegiatan sekolah.
- Katalog Ekstrakurikuler: Daftar lengkap ekskul dengan deskripsi detail.
- Formulir Pendaftaran Online: Proses pendaftaran anggota baru yang mudah.
- Dashboard Siswa: Halaman profil, status keanggotaan, dan notifikasi.
- Informasi Jadwal: Kalender kegiatan latihan rutin.
- Dashboard Statistik: Ringkasan jumlah siswa, ekskul aktif, dan pendaftaran baru.
- Manajemen Master Data: CRUD untuk data Ekstrakurikuler, Pembina, dan Tahun Ajaran.
- Validasi Pendaftaran: Fitur untuk menerima atau menolak calon anggota baru.
- Manajemen Anggota: Database lengkap siswa yang aktif di setiap ekskul.
- Manajemen Jadwal: Pembuatan jadwal latihan dan event.
- Pencatatan Prestasi: Input data kejuaraan yang diraih oleh ekskul.
- Penilaian Anggota: Input nilai kinerja, kedisiplinan, dan keaktifan siswa.
- Laporan: Rekapitulasi data untuk keperluan administrasi sekolah.
Berikut adalah struktur direktori utama yang relevan dalam project ini:
kul-kul/
├── app/
│ ├── Http/Controllers/ # Logika bisnis (AdminController, EkskulController, dll)
│ ├── Models/ # Model Database (Ekskul, Member, Nilai, Prestasi, dll)
├── database/
│ ├── migrations/ # Struktur tabel database
│ ├── seeders/ # Data dummy untuk pengujian
├── public/
│ ├── css/ # File style kustom
│ ├── images/ # Aset gambar
│ ├── js/ # Script interaktif
├── resources/
│ ├── views/ # Tampilan aplikasi (Blade)
│ ├── admin/ # View khusus Admin
│ ├── user/ # View khusus Siswa
├── routes/
│ ├── web.php # Definisi routing aplikasi
│ └── admin.php # Routing khusus admin
└── .env.example # Template konfigurasi environment
Ikuti langkah-langkah berikut untuk menjalankan project di komputer lokal (Localhost):
Pastikan komputer Anda sudah terinstall:
- PHP >= 8.1
- Composer
- Node.js & NPM
- Database MySQL (XAMPP/Laragon)
- Clone Repository
git clone [https://github.com/raditt10/kul-kul.git](https://github.com/raditt10/kul-kul.git)
cd kul-kul
- Instal Dependensi Backend (Composer)
composer install
- Instal Dependensi Frontend (NPM)
npm install
- Konfigurasi Environment
Salin file
.env.examplemenjadi.env:
cp .env.example .env
- Setup Database
Buka file
.envdengan text editor, lalu sesuaikan konfigurasi database:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=nama_database_kamu # Buat database kosong dengan nama ini di phpMyAdmin
DB_USERNAME=root
DB_PASSWORD=
- Generate Application Key
php artisan key:generate
- Migrasi dan Seeding Data Jalankan perintah ini untuk membuat tabel dan mengisi data awal (dummy):
php artisan migrate --seed
- Setup Storage Link Agar gambar profil atau ekskul dapat diakses publik, jalankan:
php artisan storage:link
Untuk menjalankan aplikasi secara penuh, Anda perlu menjalankan dua terminal:
Terminal 1 (Laravel Server):
php artisan serve
Server akan berjalan di: http://127.0.0.1:8000
Terminal 2 (Vite Build Process):
npm run dev
Perintah ini diperlukan agar aset (CSS/JS) dapat dimuat dengan benar secara real-time.
Pastikan variabel berikut diatur di .env jika Anda menggunakan fitur upload gambar:
| Key | Deskripsi |
|---|---|
APP_URL |
URL aplikasi (misal: http://localhost:8000) |
FILESYSTEM_DISK |
Driver penyimpanan (gunakan public untuk upload gambar ekskul) |
Kontribusi selalu terbuka! Jika Anda ingin meningkatkan fitur project ini:
- Fork repository ini.
- Buat branch fitur baru (
git checkout -b fitur-baru). - Commit perubahan Anda (
git commit -m 'Menambahkan fitur XYZ'). - Push ke branch (
git push origin fitur-baru). - Buat Pull Request.
Project ini dilisensikan di bawah MIT License. Lihat file LICENSE untuk detail lebih lanjut.
_© 2025 Hak cipta milik pengembang [Roundless Slayer Team]