This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
Currently, two official plugins are available:
- @vitejs/plugin-react uses Babel (or oxc when used in rolldown-vite) for Fast Refresh
- @vitejs/plugin-react-swc uses SWC for Fast Refresh
The React Compiler is not enabled on this template because of its impact on dev & build performances. To add it, see this documentation.
If you are developing a production application, we recommend using TypeScript with type-aware lint rules enabled. Check out the TS template for information on how to integrate TypeScript and typescript-eslint in your project.
Parkingly - Frontend Irdhan: Frontend (HTML/CSS/JS)
- Cara setup frontend dari desain yg udh dibuat
- Connect backend (via fetch() dari js)
- Cara nampilin live data kesediaan parkir via map buatan
- QR Scan & generation dan gimana caranya agar disimpan (misal ke backend dulu apa gmn)
- Cara wesbitenya agar adaptif ke ukuran layar (mobile & pc)
- Setup batasan yang perlu, level frontend (input gk bisa kosong, gk boleh spasi, dkk) -> termasuk perubahan UI misal gk bisa dipencet dulu
- yg lainnya menyesuaikan
ref gpt https://chatgpt.com/s/t_691fbbdbbe4c8191943c4325af96020b
UI figma https://www.figma.com/design/9frmEQL3vleBFF2hyxTNTm/Untitled?m=dev&t=7jvFiXfBvYlcRK0V-1
Berisi file dasar agar project langsung jalan:
- main.jsx
- App.jsx
- routes/AppRoutes.jsx
- services/api.js
- Struktur folder minimal versi hidup
Berisi:
- pages/Login.jsx
- pages/Register.jsx
- services/auth.js
- components/Input.jsx
- components/Button.jsx
- hooks/useAuth.js
- pages/Map.jsx
- components/MapSlot.jsx
- services/slots.js
- pages/Karcis.jsx
- components/QRViewer.jsx
- services/ticket.js
- pages/Ewallet.jsx
- services/wallet.js
- pages/admin/AdminDashboard.jsx
- pages/admin/AdminScan.jsx
- components/QRScanner.jsx
- services/admin.js
- utils/formatCurrency.js
- utils/formatTime.js
- utils/constants.js
- layouts/UserLayout.jsx
- layouts/AdminLayout.jsx
- components/Navbar.jsx
Berikut daftar lengkap halaman beserta fungsi utamanya berdasarkan diagram aktivitas dan diagram sekuens.
Fungsi:
- Form input email/username & password.
- Mengirim request verifikasi akun ke backend.
- Menampilkan status verifikasi (berhasil/gagal).
- Redirect ke halaman “Map Kesediaan” jika sukses.
Fungsi:
- Form registrasi: nama, email/no-telp, password.
- Request pembuatan akun ke backend.
- Menampilkan status registrasi.
- Redirect ke Login jika sukses.
Fungsi:
- Menampilkan status seluruh slot parkir (kosong / dibooking / terisi).
- Memilih slot → request booking.
- Menampilkan hasil booking + QR ticket.
- Menyediakan tombol:
- Scan QR Masuk
- Scan QR Keluar
- Menampilkan countdown masa booking.
Fungsi:
- Mengakses kamera untuk scan QR.
- Mengirim data QR ke backend untuk validasi.
- Menampilkan hasil validasi (valid/tidak valid).
- Indikator bahwa gerbang terbuka (jika valid).
Fungsi:
- Menampilkan saldo pengguna.
- Form input dan tombol top-up saldo.
- Menampilkan notifikasi top-up berhasil.
- (Opsional) Riwayat transaksi.
Fungsi:
- Menampilkan status seluruh slot parkir secara real-time.
- Ringkasan penggunaan harian (jumlah mobil masuk/keluar).
- Tombol navigasi:
- Scan QR Admin
- Laporan Keuangan.
Fungsi:
- Scan QR seperti user, tetapi dengan kemampuan override.
- Menampilkan detail transaksi/booking berdasarkan QR.
- Tombol manual membuka gerbang (untuk kondisi khusus).
- Menampilkan status slot terkait.
Fungsi:
- Menampilkan seluruh transaksi (parkir, denda, top-up, dsb).
- Filter berdasarkan tanggal.
- Perhitungan total pendapatan.
- (Opsional) Export CSV/PDF.
| Page | Fungsi Utama |
|---|---|
| Login | Verifikasi akun & masuk ke sistem |
| Register | Membuat akun baru |
| Map Kesediaan | Cek slot, booking, QR ticket |
| Scan Ticket | Validasi QR untuk masuk |
| Wallet | Saldo & top-up |
| Admin Dashboard | Monitoring lahan & navigasi admin |
| Admin Scan | Scan & override admin |
| Laporan Keuangan | Rekap & total transaksi |
- Paket 1: fokus UI lengkap + integrasi dasar.
- Paket 2: auth system, logic integrasi penuh, pembayaran, laporan, override admin.