Materi

KUMPULAN PROMPT PEMOGRAMAN

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

  1. Manajemen User

    • CRUD User

    • CRUD Role

    • CRUD Permission

    • Assign role ke user

    • Assign permission ke role

  2. Dashboard

    • Statistik jumlah user, role, data.

    • Grafik: Chart.js (CDN).

    • Notifikasi: SweetAlert2 (assets/js/).

  3. 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.