Fenyxz WiFi — Platform Voucher Hotspot
Aplikasi web untuk menjual voucher WiFi. Pelanggan membeli dan menebus voucher sendiri lalu memantau sisa waktunya, sementara admin mengelola kode, promo, dan arus kas dari satu panel.
- Peran
- Full-Stack Developer
- Periode
- Apr–Mei 2025
- Tools
-
- Laravel 12
- PHP
- MySQL
- Blade
- Bootstrap 5
- Chart.js
Tantangan
Fenyxz WiFi menjual akses internet dalam bentuk voucher berdurasi, dari 1 jam sampai 24 jam. Yang dibutuhkan: tempat pelanggan membeli dan menebus kode sendiri, aturan supaya satu kode tidak bisa dipakai dua kali atau oleh orang lain, dan cara bagi admin untuk melihat pemasukan tanpa merekap manual.
Peran saya
Saya membangunnya sebagai full-stack developer: skema database, alur beli dan tebus voucher, area pelanggan, panel admin, sampai grafik arus kas.
Proses
Aplikasinya saya kerjakan dari akhir April sampai pertengahan Mei 2025. Saya mulai dari skema data, yaitu kode voucher, promo, transaksi, dan riwayat pemakaian, lalu menambah kolom sambil jalan, misalnya waktu tebus dan tanggal kedaluwarsa. Laravel dengan Blade dan Bootstrap dipakai untuk dua area yang dipisahkan middleware role: panel admin dan area pelanggan. Bagian paling rumit ternyata soal waktu. Ada batas waktu untuk menebus setelah membeli, lalu durasi pakai yang baru dihitung sejak voucher ditebus. Karena itu riwayat pemakaian menyimpan waktu mulai dan berakhirnya sendiri, dan untuk data lama yang belum punya waktu berakhir saya membuat perintah Artisan yang mengisinya otomatis.
Solusi
- Beli sendiri: pelanggan memilih paket dari katalog, memilih metode bayar (transfer bank, QRIS, atau e-wallet), lalu mendapat invoice yang bisa dicetak beserta cara pakainya.
- Tebus dengan aturan yang jelas: kode harus ada, belum pernah dipakai, dibeli oleh akun yang sama, dan belum lewat batas waktunya. Kalau gagal, pesannya menyebut alasannya.
- Sisa waktu yang terlihat: dashboard pelanggan menghitung mundur sisa waktu tiap voucher sekaligus total sisa waktunya.
- Panel admin: ringkasan voucher aktif dan kedaluwarsa, grafik pemakaian 30 hari, distribusi paket, serta pengelolaan kode voucher dengan pencarian.
- Promo: potongan harga atau bonus menit, lengkap dengan periode dan minimal pembelian, yang bisa ditempelkan ke voucher tertentu.
- Analisis arus kas: total pendapatan, grafik 12 bulan, dan porsi tiap metode bayar langsung dari data transaksi.
- Hak akses per role: admin dan pelanggan punya halaman masing-masing, dan manajemen pengguna hanya bisa dibuka admin.
Hasil
| Kebutuhan | Solusinya di aplikasi |
|---|---|
| Pelanggan beli tanpa menunggu | Katalog, pilihan metode bayar, dan invoice otomatis |
| Kode tidak dipakai dua kali | Penebusan mengecek pemilik, status, dan batas waktu |
| Pelanggan tahu sisa waktunya | Hitung mundur per voucher dan total sisa waktu |
| Pemilik tahu pemasukannya | Grafik pendapatan bulanan dan porsi metode bayar |
- Pembayaran masih simulasi: metode bayar tercatat, tetapi belum tersambung ke payment gateway.
- Kode voucher dimasukkan admin lewat panel; aplikasinya belum membuat kode langsung di router.
Pelajaran
Logika waktu adalah bagian yang paling banyak mengubah desain. Memisahkan batas waktu menebus dari durasi pemakaian, masing-masing dengan kolomnya sendiri, membuat perhitungan dan riwayatnya jauh lebih mudah diperiksa. Saya juga belajar bahwa pesan error yang spesifik, seperti “kode sudah digunakan” atau “bukan milik Anda”, jauh lebih membantu pelanggan daripada sekadar “gagal”. Langkah berikutnya yang paling berguna adalah menyambungkan aplikasi ke router lewat RouterOS API supaya kode hotspot dibuat otomatis begitu voucher terjual, lalu memasang payment gateway sungguhan.
Dokumentasi
-
Voucher yang belum ditebus menghitung mundur sisa waktunya. Semua data di galeri ini data uji. -
Versi HP. Kartu voucher tersusun ke bawah. -
Katalog hanya menampilkan voucher yang belum terjual. -
Tiga metode bayar. Pembayarannya masih simulasi, belum lewat payment gateway. -
Setiap pembelian menghasilkan invoice yang bisa dicetak, lengkap dengan cara pakainya. -
Ringkasan voucher dan grafik pemakaian untuk admin. -
Admin menambah, mengubah, mencari, dan menghapus kode voucher. -
Pendapatan per bulan dan per metode bayar, dihitung dari tabel transaksi.