Full-stack application

E-MAS-KAPOR

Sistem manajemen perlengkapan perorangan untuk menghubungkan data personel, kebutuhan satker, anggaran, gudang, distribusi, dan pelaporan.

Minta akses demoAkses login tersedia berdasarkan permintaan.
Tahun2026
Layanan
  • Application engineering
  • Data workflow design
  • Deployment and CI/CD
Teknologi
  • Laravel
  • PHP
  • Blade
  • MariaDB
  • Tailwind CSS
  • Docker
  • Nginx
  • PHPUnit

Masalah dan kebutuhan

Pengelolaan perlengkapan perorangan melibatkan personel dari banyak satker, variasi ukuran, perencanaan anggaran, stok gudang, distribusi, dan dokumen formal. Data tersebut membutuhkan alur yang konsisten agar kebutuhan unit dapat dikumpulkan, ditinjau, dihitung, dan diteruskan ke proses gudang.

E-MAS-KAPOR dibangun untuk Biro Logistik Polda NTB sebagai sistem terpusat bagi personel dan operator terdaftar. Workflow menghubungkan master data, personel, ukuran, kebutuhan satker, anggaran, gudang, distribusi, laporan, dan audit dalam satu aplikasi Laravel.

Konteks rekonstruksi

Proyek ini bukan pembangunan sistem dari ruang kosong. E-MAS-KAPOR merekonstruksi dan mengembangkan sistem yang sudah digunakan, sambil mempertahankan alur operasional yang dibutuhkan pengguna. Tantangan utamanya ada pada data operasional yang tidak seragam, proses import Excel yang membutuhkan pemeriksaan dan koreksi, laporan formal yang harus konsisten, serta akses yang perlu mengikuti peran dan lingkup satker.

Peningkatan dilakukan pada pemeriksaan dan pratinjau import Excel, pemetaan pangkat dan satker, sinkronisasi dashboard, pencegahan NRP duplikat, ketepatan data berukuran panjang dari Excel, serta format export Excel/PDF. Sistem juga berevolusi dari SQLite ke MariaDB untuk mendukung skala lebih dari 11.000 pengguna. Hasilnya bukan sekadar menyalin fungsi lama, tetapi workflow yang lebih jelas, integritas data yang lebih kuat, dan dukungan lebih luas untuk anggaran, gudang, distribusi, serta arsip tahunan.

Implementasi aplikasi

Sistem membagi akses menjadi lima role: superadmin, admin, admin gudang, admin satker, dan personel. Personel masuk dengan NRP/NIP untuk mengisi ukuran pribadi, sedangkan operator mengelola data sesuai tanggung jawab pusat, satker, atau gudang.

Import personel dan data SDM menggunakan alur upload, parsing, preview, koreksi, konfirmasi, dan laporan error. Pemetaan nama unit dari sumber SDM ke satker internal ditangani oleh resolver dan alias yang dapat dikelola. Import besar dapat diproses melalui database queue agar pekerjaan parsing tidak bergantung pada satu request browser.

Logika ukuran dipusatkan di KaporRequirementService. Sistem memetakan item ke kategori ukuran seperti kemeja, celana, topi, jaket, sabuk, dan sepatu, menormalisasi nilai yang masuk, lalu membangun warning untuk penerima yang belum memiliki ukuran valid.

Kebutuhan, anggaran, dan distribusi

Admin satker dapat membuat, mengubah, mengirim, mencetak, dan mengekspor pengajuan kebutuhan. Admin pusat menyusun paket anggaran, memilih item dan penerima berdasarkan satker, tipe personel, gender, pangkat, golongan, atau keterangan, lalu menghitung jumlah dan total kebutuhan.

Modul gudang mengelola stok berdasarkan item dan ukuran, import stok, pengeluaran, riwayat, pembatalan, soft delete, penanda tangan, serta dokumen SPPM. Laporan tersedia dalam format Excel, PDF, dan Word untuk mendukung data tabular, rekap formal, dan dokumen operasional.

Keamanan dan operasi

Autentikasi Laravel memakai session, login terpisah untuk akun administratif dan personel, regenerate session setelah login, CSRF, akun aktif, serta rate limit percobaan login. Role dan permission membatasi route, sementara konteks satker diterapkan pada workflow admin satker. Superadmin juga dapat mengunci operasi tulis melalui system lock dan mengatur periode anggaran.

Perubahan multi-record menggunakan transaction. Allocation menyimpan snapshot nama dan item agar data historis tetap dapat dibaca ketika master data berubah. Annual archive membuat arsip final Excel/PDF pada pergantian periode. Audit log mencatat aktivitas login, pengguna, personel, kebutuhan, budget, setting, review, dan operasi gudang tertentu.

Aplikasi berjalan sebagai monolith Laravel server-rendered dengan Blade, Vite, Tailwind CSS, MariaDB, Nginx, PHP-FPM, Docker Compose, dan database queue worker. Repositori memiliki Feature dan Unit test untuk autentikasi, role access, import mapping, warehouse access, budget, archive, statistik, dan export. Live URL tercantum di sitemap repositori, tetapi status akses saat ini tidak diklaim sebagai metrik operasional.