dfd22ff2aff1fed4b2bb97d4fa99c1a5a65cae24
Sistem untuk admin DUN merekod waktu KTM (Ketua Tempat Mengundi) hadir mengambil peti undi. Data KTM dibaca daripada DB sppm (spr2026) melalui connection kedua — hanya penempatan berjawatan KTM yang dipaparkan. - Dashboard: senarai KTM ikut pusat mengundi (asc) & saluran (asc), status BELUM HADIR (merah) / HADIR (hijau) + tarikh & masa - Carian nama/no. KP, tapisan pusat mengundi & status - Tanda hadir / batal dengan kawalan DUN (admin terhad ke DUN sendiri) - Eksport Excel (worksheet Hadir & Belum Hadir) guna SimpleXlsx - Peranan: superadmin (urus pengguna, semua DUN) & admin DUN - Docker: nginx + php-fpm + queue + scheduler + webhook deploy, port 127.0.0.1:8009, TZ Asia/Kuala_Lumpur di semua container - Zon waktu aplikasi: Asia/Kuala_Lumpur (APP_TIMEZONE) Berasaskan scaffold spr2026_taklimat. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Kehadiran KTM — Peti Undi SPR 2026
Aplikasi untuk admin DUN merekodkan waktu KTM (Ketua Tempat Mengundi) hadir
mengambil peti undi. Data KTM dibaca terus daripada pangkalan data
Sistem Pengurusan Pusat Mengundi (spr2026 / DB sppm) — hanya KTM yang
telah di-assign sahaja dipaparkan.
Aliran
- Dashboard memaparkan semua KTM dalam DUN, disusun ikut pusat mengundi (asc) dan saluran (asc). Yang belum hadir bertanda BELUM HADIR (merah).
- Admin mencari nama KTM dan/atau pusat mengundi. Paparan menunjukkan nama, no. KP, no. telefon, jawatan, pusat mengundi dan saluran.
- Admin menandakan KTM sebagai hadir — tarikh dan masa direkodkan, status bertukar HADIR (hijau). Rekod boleh dibatalkan jika tersilap.
- Senarai kehadiran boleh dimuat turun dalam bentuk Excel (worksheet "Hadir" dan "Belum Hadir").
Peranan
| Peranan | Kebenaran |
|---|---|
superadmin |
Cipta pengguna; lihat/urus kehadiran semua DUN; eksport |
admin |
Admin DUN: daftar kehadiran KTM & eksport untuk DUN sendiri |
Pangkalan data
sppm_ktm(connectionmysql) —users,kehadiran_ktm, sesi/cache/queue.sppm(connectionsppm, baca sahaja) —petugas_assignments,petugas_permohonan,pusat_mengundi,saluran,jawatan_tetapan,dun.
KTM dikenal pasti melalui petugas_assignments yang jawatannya berkod KTM.
Pembangunan tempatan
composer install
cp .env.example .env # isi DB_* dan SPPM_DB_*
php artisan key:generate
php artisan migrate --seed # superadmin@spr.gov.my / password
php artisan serve
Zon waktu ialah Asia/Kuala_Lumpur (lalai APP_TIMEZONE).
Docker
Lihat DOCKER.md. Ringkasnya:
cp .env.docker.example .env.docker # isi APP_KEY, kata laluan DB, WEBHOOK_SECRET
docker compose up -d --build
Web container terikat pada 127.0.0.1:8009; nginx host membuat reverse proxy
domain awam ke port tersebut. Semua container ditetapkan TZ=Asia/Kuala_Lumpur.
Description
Languages
PHP
68%
Blade
20.5%
CSS
6.4%
Dockerfile
2.5%
Shell
2.2%
Other
0.4%