Lewati ke konten
RazinSaid

smart_sppg — ERP Koperasi MBG

ERP terintegrasi untuk Koperasi Makan Bergizi Gratis (MBG): purchasing, produksi dapur, distribusi BAST ber-QR, keuangan/jurnal, dan RBAC multi-peran. NestJS + React.

smart_sppg — ERP Koperasi MBG
NestJSReactVitePrismaMySQLPM2

smart_sppg ini ERP terintegrasi buat Koperasi Makan Bergizi Gratis (MBG). Intinya dia nyatuin alur dari pengadaan bahan, produksi di dapur, distribusi ke sekolah mitra, sampai pembukuan keuangan — semuanya jadi satu sistem, nggak kepisah-pisah lagi.

🔗 Coba demonya langsung: mbg.razinsaid.com — login superadmin@smart-sppg.id / Password123!. Mau coba peran lain? Ganti emailnya jadi dapur@, purchasing@, controlling@, majujaya@ (vendor), atau sdzaha@genggong.sch.id (mitra sekolah) — semua password Password123!. Ini pakai data contoh, aman dicoba.

Ceritanya kenapa dibikin

Program MBG itu ngelibatin banyak pihak sekaligus: dapur produksi, vendor bahan, tim purchasing & controlling, sampai sekolah penerima. Tanpa satu sistem yang nyatuin semuanya, koordinasi jadi ribet, distribusi susah dilacak, dan pertanggungjawaban keuangan gampang meleset. Nah, sistem ini yang nyoba beresin itu semua.

📖 Penasaran cerita di balik bikinnya, dari nol sampai jalan? Aku tulis lengkap per bab di seri Membangun smart_sppg.

Fitur utama

  • Multi-peran (RBAC) — superadmin, admin pusat, dapur, controlling, purchasing, vendor, dan mitra sekolah, masing-masing hak aksesnya beda.
  • Purchasing & vendor — katalog vendor, PO/RAB, dan penerimaan bahan.
  • Produksi dapur — perencanaan sama pencatatan produksi porsi.
  • Distribusi + BAST — berita acara serah terima berupa PDF ber-QR yang bisa diverifikasi publik, biar dokumennya nggak bisa dipalsuin.
  • Keuangan & jurnal — pencatatan akuntansi yang nyambung langsung dari transaksi.
  • Notifikasi realtime — update status masuk lewat SSE, jadi nggak perlu refresh-refresh.
  • Inventori — stok bahan dengan satuan fleksibel dan stok gudang.

Arsitektur & teknologi

  • Backend: NestJS (REST API /v1), Prisma ORM, MySQL, autentikasi JWT (access + refresh), plus rate-limit & account lockout.
  • Frontend: React + Vite (SPA), same-origin sama API.
  • Keamanan: URL QR verify di-HMAC-sign biar ID dokumen nggak bisa ditebak-tebak; RBAC ketat per peran.
  • Deploy: PM2 (backend) + nginx (SPA + reverse proxy), terisolasi di subdomain sendiri dengan database least-privilege.

Tampilan aplikasi

Dashboard operasional — porsi, cashflow, tren produksi, dan peringatan stok

Kanban produksi dapur (realtime) — Menunggu bahan, Memasak, Packaging, Siap kirim

Catatan demo

Yang dipajang di sini jalan pakai data contoh (seed: 12 user, puluhan produk, vendor, sama rute). Semua fitur aktif, termasuk cache dan notifikasi realtime. Silakan dijelajahi, jangan sungkan.