Skip to content

JHIC 2025 Competition Project - Roundless Slayer Team.

License

Notifications You must be signed in to change notification settings

Raditt10/kulkul

Repository files navigation

Kul-Kul: Sistem Informasi Manajemen Ekstrakurikuler

Laravel PHP MySQL Vite License

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.

📌 Deskripsi Project

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.

🛠️ Tech Stack

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

🚀 Fitur Utama

👥 Halaman Siswa (User Interface)

  • 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 Admin & Pembina

  • 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.

📁 Struktur Folder Project

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

⚙️ Instalasi & Setup

Ikuti langkah-langkah berikut untuk menjalankan project di komputer lokal (Localhost):

Prasyarat

Pastikan komputer Anda sudah terinstall:

  • PHP >= 8.1
  • Composer
  • Node.js & NPM
  • Database MySQL (XAMPP/Laragon)

Langkah Instalasi

  1. Clone Repository
git clone [https://github.com/raditt10/kul-kul.git](https://github.com/raditt10/kul-kul.git)
cd kul-kul
  1. Instal Dependensi Backend (Composer)
composer install
  1. Instal Dependensi Frontend (NPM)
npm install
  1. Konfigurasi Environment Salin file .env.example menjadi .env:
cp .env.example .env
  1. Setup Database Buka file .env dengan 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=
  1. Generate Application Key
php artisan key:generate
  1. Migrasi dan Seeding Data Jalankan perintah ini untuk membuat tabel dan mengisi data awal (dummy):
php artisan migrate --seed
  1. Setup Storage Link Agar gambar profil atau ekskul dapat diakses publik, jalankan:
php artisan storage:link

🖥️ Cara Menjalankan Project

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.

🔐 Environment Variable Penting

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

Kontribusi selalu terbuka! Jika Anda ingin meningkatkan fitur project ini:

  1. Fork repository ini.
  2. Buat branch fitur baru (git checkout -b fitur-baru).
  3. Commit perubahan Anda (git commit -m 'Menambahkan fitur XYZ').
  4. Push ke branch (git push origin fitur-baru).
  5. Buat Pull Request.

📄 Lisensi

Project ini dilisensikan di bawah MIT License. Lihat file LICENSE untuk detail lebih lanjut.


_© 2025 Hak cipta milik pengembang [Roundless Slayer Team]

About

JHIC 2025 Competition Project - Roundless Slayer Team.

Topics

Resources

License

Stars

Watchers

Forks

Contributors 5