ID — Bahasa Indonesia

Muhamad Irga

Purwokerto, Central Java

Flagship Live Updated

SI-SPPG — MBG Kitchen Operations (Go + React)

A Go and React operations system for Satuan Pelayanan Pemenuhan Gizi: weekly menus, procurement, inventory, production and quality control, distribution, budgets, complaints, and a public transparency portal.

See the service: Local Government Applications

Screenshots

SI-SPPG operations dashboard with menus, production, and distribution status
Main application view · Open image for full resolution

Overview

What this system does.

SI-SPPG manages the work of Satuan Pelayanan Pemenuhan Gizi, the nutrition-service units, from menu planning through meal delivery to beneficiaries. Its backend is written in Go with Fiber, separating domain, service, repository, and presentation layers. PostgreSQL stores data, Redis provides caching, Asynq handles background jobs, and a cron scheduler runs periodic tasks. The frontend is a React and TypeScript application using TanStack Query, Zustand, React Hook Form, Zod validation, Recharts charts, and Leaflet maps.

Its records cover SPPG units, schools, beneficiaries with categories and attendance, suppliers and contacts, farmer groups, allergens, menus and nutritional information, weekly menu plans, inventory items, stock, containers, vehicles, documents, and budgets. Procurement is recorded through purchase orders with approval stages, followed by goods receipt notes. Production plans have sequential progress statuses, quality checks, and retained-sample records. Distribution connects routes, vehicles, schools, and receipt records.

Oversight covers complaints with an SLA dashboard, operational incidents, financial transactions, reports and report templates, audit logs, notifications, and monitoring of documents and certificates approaching expiry. The application also provides public pages with SPPG profiles, schools, beneficiaries, suppliers, and summaries of budget reports and programme progress. Authentication uses JWT with OTP verification and password history, while data access is restricted by module permissions and SPPG unit.

Feature inventory

Highlights

31 capabilities verified against the project source.

Units and beneficiaries

  • SPPG units, operational profiles, and certificate-validity monitoring
  • Schools, beneficiaries, beneficiary categories, and beneficiary statistics
  • Attendance and distribution histories for each beneficiary
  • Suppliers, supplier contacts, and supplier-comparison pages
  • Farmer groups as sources of raw ingredients

Inventory and menus

  • Inventory items, stock, stock-transaction histories, and shopping lists
  • QR scanning to look up inventory items
  • Menu reference data, nutritional information, and allergen references
  • Weekly menu plans and currently active menus

Procurement and budgets

  • Purchase orders with multi-level approval workflows
  • Goods receipt through goods receipt notes
  • Budget management, usage summaries, and budget reports

Production and quality

  • Production plans with scheduling per SPPG unit
  • Production-status changes with status-sequence validation
  • Production quality checks and retained-sample records

Distribution

  • Delivery management and distribution-status updates
  • Delivery routes, vehicles, and vehicle documents
  • Containers to support distribution operations
  • Daily attendance, attendance summaries, and employee check-in and check-out

Oversight and reporting

  • Beneficiary complaints with a handling-SLA dashboard
  • Operational incident records
  • Operational financial transactions and expense records
  • Production, distribution, inventory, and budget reports
  • Reusable report templates and Excel exports
  • Photo, document, and supporting-file uploads to object storage
  • Monitoring of documents and certificates approaching expiry

Public pages and platform

  • Public pages: SPPG profiles, schools, beneficiaries, suppliers, and progress reports
  • JWT authentication with registration, OTP verification, and password history
  • Module-level roles and permissions with data restrictions by SPPG unit
  • Notifications, email delivery, dashboard statistics, and audit logs
  • Background jobs with Asynq queues and a cron scheduler

Capabilities

What it is built to handle.

Implementation highlights documented in the project source.

Fiber backend
Go
Domain, service, and repository layers
Production
QC
Inspections and retained samples
Delivery
Distribution
Routes, fleets, and recipients

Tech stack

Built with 19 technologies.

  • 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

Common questions

What people usually ask.

Why Go rather than the usual Laravel?

The work is operational and time-bound — production statuses, distribution, queued jobs, scheduled tasks — and it benefits from a service that stays cheap under sustained load. The layering is explicit: domain, service, repository, presentation.

How is food safety recorded?

Production plans move through a validated status sequence, each batch has quality checks, and retained samples are recorded against the batch. Documents and certificates approaching expiry are surfaced before they lapse.

What does the public portal show?

Unit profiles, schools, beneficiaries, suppliers, and summaries of budget reports and programme progress — the transparency layer, served from the same records the operators use.

Same field

Need something like this?

Send a short brief and I’ll come back with scope, approach, and an honest timeline.