Event Management adalah sebuah platform yang dirancang untuk memudahkan baik user maupun admin dalam melakukan pendaftaran serta pengelolaan event. Platform ini memberikan kemudahan akses dengan tampilan yang terbilang baik dan user friendly. Selain itu, platform ini didesain sedemikian rupa untuk memudahkan pengelolaan event baik untuk skala kecil, menengah, atau besar.
Berikut adalah Entity Relationship Diagram (ERD) yang menunjukkan struktur dan relasi antar tabel:
Catatan: Sistem menggunakan database relasional untuk mengelola pendaftaran, transaksi, dan operasional sistem secara otomatis.
events: Menyimpan detail acara.event_code: Kode unik identitas event.available_slots®istered_count: Untuk kontrol kuota peserta.
participants: Data pendaftar yang terhubung ke event.- Info personal (nama, email, phone, nik, gender).
- Tracking pembayaran (
payment_status,payment_proof). - Log notifikasi (
wa_notification_sent,email_notification_sent).
users: Data admin/staf pengelola. Mendukung fitur keamanan seperti Two-Factor Authentication (2FA) dan role.personal_access_tokens: Token untuk akses API (Laravel Sanctum).password_reset_tokens: Penyimpanan token sementara untuk reset kata sandi.
payment_methods: Master data metode pembayaran (Nama bank, nomor rekening, status aktif).sessions: Menyimpan data sesi login user.cache&cache_locks: Optimasi kecepatan akses data dan penguncian proses.
jobs&job_batches: Mengelola proses background (seperti pengiriman email massal).failed_jobs: Mencatat proses antrean yang gagal.migrations: Rekam jejak perubahan struktur database.
| Hubungan | Tabel Asal | Tabel Tujuan | Kunci (Foreign Key) |
|---|---|---|---|
| One to Many | events |
participants |
event_id |
| One to Many | users |
sessions |
user_id |
| Polymorphic | users/others |
personal_access_tokens |
tokenable_id |
- Pendaftaran: Setiap peserta di tabel
participantsmemilikitransaction_codeunik untuk verifikasi. - Keamanan: Penggunaan
two_factor_secretpada tabelusersuntuk proteksi ekstra admin. - Manajemen Kuota: Validasi
available_slotsdilakukan sebelum record pendaftar baru dibuat.
Path: /
Role paling umum dengan fitur penunjang pencarian dan pendaftaran.
- ✅ Melakukan pendaftaran event.
- ✅ Mencari event aktif.
- ✅ Cek status pendaftaran via kode transaksi.
Path: /admin
Wewenang penuh untuk manajemen operasional sistem.
- ✅ Monitoring dashboard & statistik.
- ✅ CRUD Event & Manajemen Peserta.
- ✅ Verifikasi pembayaran & Kirim Email QR Code.
- ✅ Manajemen Metode Pembayaran.
| Komponen | Teknologi |
|---|---|
| Backend | Laravel 12 |
| Frontend | Livewire, Tailwind CSS, Vite |
| Database | MySQL |
| Library Utama | Maatwebsite Excel, Js QrCode, Font Awesome |
| Security | Laravel Fortify & Jetstream |
- PHP >= 8.2
- Composer & Node.js (NPM)
- MySQL Server
- Clone repository
git clone https://github.com/training-solonet/event_management.git
cd event_management- Install dependencies
composer install
npm install- Setup environment
cp .env.example .env
php artisan key:generate- Konfigurasi database di file
.env
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=event_management
DB_USERNAME=root
DB_PASSWORD=- Jalankan migrasi database
php artisan migrate- Build assets
npm run build
# atau untuk development
npm run dev- Jalankan aplikasi
php artisan serveAplikasi akan berjalan di http://localhost:8000
# Terminal 1 - Laravel
php artisan serve
# Terminal 2 - Vite
npm run dev# Fix PHP code style
./vendor/bin/pint
