TIXEVENT adalah platform manajemen dan penjualan tiket acara (event ticketing platform) berbasis web yang dirancang untuk mengoptimalkan proses transaksi antara Admin, Event Organizer, dan Pengguna. Fitur unggulan dari platform ini adalah Smart Waiting List & Queue Automation System, yang membantu mengatasi masalah kehabisan tiket pada event dengan tingkat permintaan tinggi melalui sistem antrean otomatis yang adil dan terstruktur.
Sistem ini menyediakan manajemen tiket secara end-to-end yang mencakup:
Memisahkan hak akses berdasarkan peran pengguna:
- Admin β Mengelola event, kategori, dan data pengguna.
- Organizer β Mengelola tiket, kuota, dan waiting list.
- User β Membeli tiket dan bergabung ke daftar tunggu.
Organizer dapat menambah kuota tiket kapan saja apabila kapasitas acara ditingkatkan.
Menggunakan prinsip First In First Out (FIFO) untuk menjaga keadilan antrean ketika tiket habis terjual.
Sistem mengirimkan email otomatis menggunakan Mailtrap kepada pengguna yang berada di urutan teratas waiting list ketika tiket tersedia kembali.
| Technology | Description |
|---|---|
| Laravel | Backend Framework |
| PHP | Programming Language |
| MySQL | Database Management System |
| Tailwind CSS | Frontend Styling |
| Mailtrap | Email Testing Service |
| Blade Template Engine | Laravel View Engine |
git clone https://github.com/USERNAME/TIXEVENT.git
cd TIXEVENTcomposer install
npm install
npm run devSalin file .env.example menjadi .env
cp .env.example .envKemudian sesuaikan konfigurasi database dan Mailtrap pada file .env.
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=tixevent_db
DB_USERNAME=root
DB_PASSWORD=MAIL_MAILER=smtp
MAIL_HOST=sandbox.smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=YOUR_MAILTRAP_USERNAME
MAIL_PASSWORD=YOUR_MAILTRAP_PASSWORD
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS=noreply@tixevent.com
MAIL_FROM_NAME="TIXEVENT"Generate application key:
php artisan key:generateBuat database bernama:
tixevent_dbKemudian jalankan:
php artisan migrate --seedphp artisan config:clear
php artisan serveAplikasi dapat diakses melalui:
http://127.0.0.1:8000
- Membuat event baru
- Mengubah data event
- Menghapus event
- Menampilkan detail event
- Menambah jenis tiket
- Mengatur harga tiket
- Mengatur kuota tiket
- Memantau tiket terjual
- User dapat bergabung ke waiting list ketika tiket habis.
- Sistem menyimpan urutan antrean secara otomatis.
- Organizer dapat memanggil pengguna teratas ketika kuota tersedia.
- Mengirim email otomatis kepada pengguna yang dipanggil.
- Berisi informasi event dan link pembelian tiket.
Tiket Sold Out (Quota = 0)
β
βΌ
User Klik "Masuk Daftar Tunggu"
β
βΌ
Data Disimpan ke waiting_lists
(Status = waiting)
β
βΌ
Organizer Menambah Kuota Tiket
β
βΌ
Organizer Klik "Panggil"
β
βΌ
Sistem Mengirim Email Notifikasi
(Status = notified)
β
βΌ
User Membeli Tiket
β
βΌ
Status Menjadi "done"
Menyimpan data akun dan hak akses pengguna.
| Field | Type |
|---|---|
| id | bigint |
| name | varchar |
| varchar | |
| password | varchar |
| role | enum(admin, organizer, user) |
Menyimpan informasi acara.
| Field | Type |
|---|---|
| id | bigint |
| title | varchar |
| description | text |
| location | varchar |
| event_date | datetime |
| banner | varchar |
Menyimpan data jenis tiket.
| Field | Type |
|---|---|
| id | bigint |
| event_id | bigint |
| name | varchar |
| price | decimal |
| quota | integer |
| sold_quantity | integer |
Menyimpan data antrean pengguna.
| Field | Type |
|---|---|
| id | bigint |
| user_id | bigint |
| event_id | bigint |
| status | enum(waiting, notified, done) |
| created_at | timestamp |
TIXEVENT berhasil mengimplementasikan sistem penjualan tiket yang terintegrasi dengan fitur waiting list otomatis untuk menangani kondisi tiket habis (sold out).
Melalui penerapan sistem antrean FIFO dan notifikasi email otomatis, proses distribusi tiket menjadi lebih transparan, adil, dan efisien. Selain itu, organizer memiliki fleksibilitas untuk menambah kuota tiket tanpa mengganggu integritas data maupun urutan antrean pengguna.