Features & Technical Specification Memo
School Meals Management Software (SMMS)
A digital accountability and operations platform for transparent, cashless school feeding programs.
Transparent, cashless school feeding operations with audit-grade accountability.
SMMS is a digital accountability and operations platform for school meals programs. It connects child enrollment, parent payments, QR validation, supplier cost tracking, donor transparency, and AI insights inside one immutable ledger.
Value Chain
Child → Parent Payment → Meal Service (QR Scan) → Central Oversight → Supplier Cost Tracking → Donor Transparency → AI Insights
The SMMS Defines
System Objectives
- Replace cash collection with mobile money + wallet.
- Validate every meal via QR scanning (no NFC).
- Maintain immutable, audit-grade transaction records.
- Track supplier invoices and payments (cost side).
- Deliver operational + oversight dashboards.
- Add AI forecasting, anomaly detection, summaries.
What You Actually Need
- Printed QR badge per child (laminated or PVC).
- One Android tablet or phone per school.
- Scanning app (web/PWA or native) + WiFi/4G.
- No NFC and no proprietary POS hardware.
Key Users and Capabilities
6 Core GroupsChildren
Unique IDs, wallets, meal history, QR badge identity. No login.
Parents / Guardians
Mobile money top-ups, confirmations, low-balance alerts via WhatsApp/SMS.
School Supervisors
Secure login, check meals, daily totals. No balance edits.
Suppliers
Registry, invoices, payment status, cost per meal reporting.
Program Admin
Manage schools, pricing, subsidies, dashboards, exports, reconciliation.
Donors
Read-only impact dashboards: meals, children, funds, cost per meal.
Core System Architecture
QR Identity Implementation
QR Payload Rules
- Encode only: `student_id` or `SMMS-<student_id>`.
- No balance, name, phone, or subsidy data inside QR.
- Backend validates identity, wallet, status, school.
QR Generation Options
Built in SMMS
Auto-generate payload, QR image, printable badge.
Node.js: qrcode · Python: qrcode · Laravel: Simple QrCode
Quick Pilot
Export CSV → bulk QR generator → print badges.
Paper + Lamination
Ultra low cost, best for MVP pilots.
PVC Card
Professional durability via print shop or PVC printer.
Official School ID
Integrate SMMS QR into official student card at scale.
Operational Flow — Meal Validation (QR Based)
API Request
{ student_id: 839201, school_id: 12, meal_type: "lunch", operator_id: 45 }
JWT token required. Operator ID is the logged-in supervisor.
Validation Checks
- Confirm student exists and is active.
- Confirm student belongs to the selected school.
- Confirm meal type is valid.
- Prevent duplicate scans for the same day.
- Check wallet balance and meal price.
1. Scan
Tablet camera reads QR badge and parses student ID.
2. Validate
Secure request with JWT + operator ID.
3. Protect
Double-scan check rejects duplicate meals.
4. Deduct
Atomic wallet debit + ledger + meal record.
Core Feature Specifications
Identity & Governance
RBAC, JWT auth, bcrypt, activity logs, session expiration, audit trails.
Beneficiary & Enrollment
Schools, classes, child registration, guardian linking, subsidies, CSV import, soft delete.
Financial & Wallet Engine
Append-only ledger, mobile money integration, webhook verification, idempotency.
Meal Operations
Validation logs, meal sessions, duplicate prevention, notifications.
Supplier & Cost Management
Supplier registry, invoices, payment status, cost per meal analysis.
Dashboard & Reporting
Admin, school, donor dashboards with exports and alerts.
Wallet + Mobile Money Integration
(Aggregator)
- One aggregator connects Wave, Orange, MTN, Moov.
- Single webhook format + faster onboarding.
- SMMS owns the internal wallet ledger.
Payment Flow
- Parent pays via link reference.
- Aggregator confirms payment → webhook.
- SMMS verifies + idempotency, credits wallet.
- Parent receives WhatsApp/SMS confirmation.
Dashboards and Reporting
Program Admin Dashboard
Meals served today, Meals served per school, Monthly meal trends, Total revenue, Outstanding balances, Cost per meal, Revenue vs meal variance, Alerts insufficient balance spikes
School Dashboard
Meals served today, Meals per class, Students with insufficient balance, Total active children.
Financial Dashboard
Daily revenue, Monthly revenue, Subsidy exposure, Supplier cost totals, Reconciliation summary.
Donor Dashboard
Read-only aggregated view: Total meals served, Total children reached, Total funds received, Cost per meal, Subsidy percentage, Impact over time chart
AI & Predictive Intelligence
Meal Demand Forecast
Historical meal counts and Enrollment data
Anomaly Detection
Validation spikes, Payment-meal mismatch, and Abnormal wallet depletion
Subsidy Optimization
Schools with high subsidy need and Children at risk of insufficient balance
Executive Summaries
Meals served, Financial health and Risk alerts
Tech Stack
- Backend: Node.js (Express + Prisma) or Laravel.
- Database: PostgreSQL (ACID compliant).
- Frontend: React dashboards.
- Payments: Aggregator API (Wave priority).
- Messaging: WhatsApp Cloud API + SMS fallback.
- AI Layer: Python microservice + Prophet / Scikit-learn.
System Pages