SI-SPPG — Operasional Dapur MBG (Go + React)
Sistem operasional berbasis Go dan React untuk Satuan Pelayanan Pemenuhan Gizi: menu mingguan, pengadaan, persediaan, produksi dan kendali mutu, distribusi, anggaran, pengaduan, dan portal transparansi publik.
Pelajari layanannya: Jasa Pembuatan Aplikasi Pemerintah Daerah
Tangkapan layar
Ringkasan
Apa yang dikerjakan sistem ini.
SI-SPPG mengelola pekerjaan Satuan Pelayanan Pemenuhan Gizi, dari perencanaan menu sampai makanan sampai ke penerima manfaat. Backend-nya ditulis dengan Go dan Fiber, memisahkan lapisan domain, service, repository, dan presentation. PostgreSQL menyimpan data, Redis menyediakan cache, Asynq menangani pekerjaan latar belakang, dan penjadwal cron menjalankan tugas berkala. Frontend-nya aplikasi React dan TypeScript dengan TanStack Query, Zustand, React Hook Form, validasi Zod, grafik Recharts, dan peta Leaflet.
Pencatatannya mencakup satuan pelayanan SPPG, sekolah, penerima manfaat beserta kategori dan kehadirannya, pemasok dan kontaknya, kelompok tani, alergen, menu dan informasi gizi, rencana menu mingguan, item persediaan, stok, wadah, kendaraan, dokumen, dan anggaran. Pengadaan dicatat melalui purchase order berjenjang persetujuan, lalu diikuti berita acara penerimaan barang. Rencana produksi punya status progres berurutan, pemeriksaan mutu, dan pencatatan sampel simpan. Distribusi menghubungkan rute, kendaraan, sekolah, dan bukti penerimaan.
Pengawasannya mencakup pengaduan dengan dasbor SLA, insiden operasional, transaksi keuangan, laporan dan template laporan, log audit, notifikasi, serta pemantauan dokumen dan sertifikat yang mendekati masa berakhir. Aplikasi ini juga menyediakan halaman publik berisi profil SPPG, sekolah, penerima manfaat, pemasok, serta ringkasan laporan anggaran dan progres program. Autentikasinya memakai JWT dengan verifikasi OTP dan riwayat kata sandi, sedangkan akses data dibatasi per hak akses modul dan per satuan SPPG.
Daftar fitur
Rincian kemampuan
31 kemampuan yang diverifikasi langsung terhadap kode sumber proyek.
Satuan dan penerima manfaat
- Satuan SPPG, profil operasional, dan pemantauan masa berlaku sertifikat
- Sekolah, penerima manfaat, kategori penerima, dan statistik penerima
- Riwayat kehadiran dan distribusi untuk setiap penerima manfaat
- Pemasok, kontak pemasok, dan halaman perbandingan pemasok
- Kelompok tani sebagai sumber bahan baku
Persediaan dan menu
- Item persediaan, stok, riwayat transaksi stok, dan daftar belanja
- Pemindaian QR untuk menelusuri item persediaan
- Data referensi menu, informasi gizi, dan referensi alergen
- Rencana menu mingguan dan menu yang sedang aktif
Pengadaan dan anggaran
- Purchase order dengan alur persetujuan berjenjang
- Penerimaan barang melalui berita acara penerimaan
- Pengelolaan anggaran, ringkasan pemakaian, dan laporan anggaran
Produksi dan mutu
- Rencana produksi dengan penjadwalan per satuan SPPG
- Perubahan status produksi dengan validasi urutan status
- Pemeriksaan mutu produksi dan pencatatan sampel simpan
Distribusi
- Pengelolaan pengantaran dan pembaruan status distribusi
- Rute pengantaran, kendaraan, dan dokumen kendaraan
- Wadah untuk menopang operasional distribusi
- Presensi harian, rekap presensi, serta check-in dan check-out pegawai
Pengawasan dan pelaporan
- Pengaduan penerima manfaat dengan dasbor SLA penanganan
- Pencatatan insiden operasional
- Transaksi keuangan operasional dan pencatatan pengeluaran
- Laporan produksi, distribusi, persediaan, dan anggaran
- Template laporan yang bisa dipakai ulang dan ekspor Excel
- Unggahan foto, dokumen, dan berkas pendukung ke object storage
- Pemantauan dokumen dan sertifikat yang mendekati masa berakhir
Halaman publik dan platform
- Halaman publik: profil SPPG, sekolah, penerima manfaat, pemasok, dan laporan progres
- Autentikasi JWT dengan registrasi, verifikasi OTP, dan riwayat kata sandi
- Peran dan hak akses tingkat modul dengan pembatasan data per satuan SPPG
- Notifikasi, pengiriman email, statistik dasbor, dan log audit
- Pekerjaan latar belakang dengan antrean Asynq dan penjadwal cron
Kapabilitas
Yang dirancang untuk ditangani.
Sorotan implementasi yang terdokumentasi di kode sumber proyek.
- Backend Fiber
- Go
- Lapisan domain, service, dan repository
- Produksi
- Mutu
- Pemeriksaan dan sampel simpan
- Pengantaran
- Distribusi
- Rute, armada, dan penerima
Teknologi
Dibangun dengan 19 teknologi.
- Go 1.24
- Fiber 2
- GORM
- PostgreSQL
- Redis
- Asynq
- JWT
- Excelize
- Amazon S3
- React 18
- TypeScript
- Vite
- TanStack Query
- Zustand
- Zod
- Leaflet
- Recharts
- Tailwind CSS 3
- Docker
Pertanyaan umum
Yang biasanya ditanyakan.
Kenapa memakai Go, bukan Laravel seperti biasanya?
Pekerjaannya operasional dan terikat waktu — status produksi, distribusi, pekerjaan antrean, tugas terjadwal — dan diuntungkan oleh layanan yang tetap murah di bawah beban terus-menerus. Pelapisannya eksplisit: domain, service, repository, presentation.
Bagaimana keamanan pangan dicatat?
Rencana produksi bergerak melalui urutan status yang divalidasi, setiap batch punya pemeriksaan mutu, dan sampel simpan dicatat terhadap batch tersebut. Dokumen dan sertifikat yang mendekati masa berakhir dimunculkan sebelum kedaluwarsa.
Apa yang ditampilkan portal publiknya?
Profil satuan, sekolah, penerima manfaat, pemasok, serta ringkasan laporan anggaran dan progres program — lapisan transparansi yang disajikan dari data yang sama dengan yang dipakai operator.
Satu bidang
Proyek serupa.
SIKSCB — Kesejahteraan Sosial & Penanganan Kasus UPTD PPA
Aplikasi terpadu untuk dinas sosial dan dinas perlindungan perempuan & anak Kabupaten Cilacap: layanan kesejahteraan, penanganan kasus kekerasan dengan rumah aman, sinkronisasi data kunci sosial, aset, dan perencanaan kinerja.
Laravel 13 · PHP 8.4 · Blade · Livewire · +15
Sinergi Cilacap — Pengelolaan CSR/TJSLBU
Platform pengelolaan CSR/TJSLBU Kabupaten Cilacap yang mempertemukan usulan dari OPD dan masyarakat dengan perusahaan, pelaksanaan kegiatan, dan pelaporan realisasi.
CodeIgniter 3 · PHP 8.1 · MySQL 8 · mPDF · +3
Puspa — Bank Sampah & Retribusi
Aplikasi bank sampah tingkat kabupaten: unit pengelola, nasabah, petugas, transaksi sampah, tabungan warga, tagihan retribusi, laporan TPA, dan dasbor wilayah.
Laravel 8 · Blade · MySQL · Laravel Sanctum · +7