Master Prompt – Aplikasi Manajemen CBAC (Configuration-Based Access Control)
Framework: CodeIgniter 3
Template: CoreUI Free Bootstrap 5 (Full CDN)
Tujuan: Membuat aplikasi manajemen dengan sistem kontrol akses fleksibel, UI modern, struktur kode rapi, mudah dikembangkan, dan scalable untuk masa depan.
Spesifikasi Utama
1. Framework & Template
-
Framework: CodeIgniter 3.
-
Template Admin: CoreUI Free Bootstrap 5 dengan full CDN.
-
Struktur view terpisah agar mudah dikelola:
-
header.php -
navbar.php -
sidebar.php -
footer.php
-
-
Semua library utama (Bootstrap, jQuery, Chart.js, DataTables, FontAwesome) di-load via CDN.
-
File tambahan (SweetAlert2, custom CSS/JS, gambar) disimpan di folder
assets/:-
assets/css/custom.css -
assets/js/custom.js -
assets/js/sweetalert2.all.min.js -
assets/img/
-
2. Kontrol Akses – CBAC
-
Menggunakan Configuration-Based Access Control (CBAC).
-
Role & permission berbasis database, bukan hardcoded.
-
Tabel utama:
-
db_users(data user) -
db_roles(role: admin, staff, user, guest, dll) -
db_permissions(daftar izin) -
db_role_permissions(mapping role ↔ permission)
-
-
Middleware (Hooks CodeIgniter 3) untuk memeriksa hak akses sebelum controller dijalankan.
-
Role & permission bisa ditambah/ubah lewat database tanpa edit kode.
3. Database & Konvensi
-
Prefix semua tabel:
db_. -
Primary key:
id_namatabel(contoh:id_user,id_role). -
Struktur database rapi, konsisten, dan scalable.
4. Modul Awal
-
Manajemen User
-
CRUD User
-
CRUD Role
-
CRUD Permission
-
Assign role ke user
-
Assign permission ke role
-
-
Dashboard
-
Statistik jumlah user, role, data.
-
Grafik: Chart.js (CDN).
-
Notifikasi: SweetAlert2 (assets/js/).
-
-
CRUD Data Generik
-
Contoh: Data Siswa / Data Barang.
-
Tabel: DataTables (CDN).
-
Tambah/edit/delete via modal + AJAX + SweetAlert2.
-
5. Struktur Kode
-
Controller: hanya mengatur alur request.
-
Model: hanya mengatur query database.
-
View: menampilkan UI (CoreUI).
-
Library & Helper: khusus modul akses kontrol.
-
Komentar jelas di setiap file & fungsi agar mudah tracking error.
-
Terapkan standar coding PSR-4 untuk library custom + dokumentasi fungsi dengan
@doc.
6. UI/UX
-
Desain modern, clean, responsif (Bootstrap 5).
-
Sidebar collapsible, navbar atas, card, form, tabel, grafik.
-
Support desktop & mobile.
-
Dark Mode toggle sebagai opsi.
-
Validasi form dengan notifikasi ramah pengguna (SweetAlert2).
7. Security Best Practice
-
Password tersimpan dengan
password_hash(). -
CSRF & XSS protection aktif.
-
Session secure + CSRF token untuk form & API.
-
Logging aktivitas user (login, CRUD, delete).
-
File upload aman:
-
Folder
uploads/dengan subfolder sesuai jenis data. -
Validasi mime-type & ukuran file.
-
Metadata file tersimpan di database.
-
8. API Ready (Future-Proof)
-
Semua modul CRUD dapat diekspos via API (CI3 Rest Server).
-
Autentikasi API menggunakan JWT / Token.
-
Siap integrasi dengan aplikasi mobile.
9. Multi-Language (i18n)
-
Mendukung multi-bahasa dengan folder
application/language/. -
Default bahasa: Indonesia, dengan opsi English.
10. Extensibility (Masa Depan)
-
Custom Role: admin dapat membuat role baru tanpa edit kode.
-
2FA (Two-Factor Authentication) untuk admin/superuser.
-
Backup & Maintenance Tools:
-
Export-import database.
-
Backup folder
uploads/.
-
-
Auto-logout user jika idle lama.
11. Testing & Logging
-
Unit test sederhana untuk model (PHPUnit).
-
Semua error & aktivitas log disimpan di
application/logs/. -
Notifikasi admin untuk error fatal.
✅ Hasil yang Diharapkan
Aplikasi yang dihasilkan harus:
-
Modular & fleksibel (mudah dikembangkan).
-
UI modern & responsif (CoreUI + Bootstrap 5, full CDN).
-
Struktur database rapi & jelas.
-
Error mudah dilacak dengan logging & komentar kode.
-
Aman & scalable, siap integrasi dengan API, 2FA, dan fitur masa depan.
Prompt ini bisa langsung jadi master requirement untuk pengembangan aplikasi manajemen dengan CodeIgniter 3.