Skip to content

Architecture Overview

Platform: HarvestPlus Nutrition Education & Monitoring
Stack: Flutter (Mobile) · React (Admin) · REST API · PostgreSQL · Cloud CDN


System Design

graph TD A[Mobile App - Flutter] --> B[API Gateway] C[Admin Web Portal - React] --> B B --> D[Auth Service - OAuth2/OIDC] B --> E[Core API - Health & Education] E --> F[PostgreSQL - Records & Analytics] E --> G[Object Storage - Videos & Media] E --> H[CMS - Curriculum Engine] I[Cloud CDN / Edge] -.-> A I -.-> C I -.-> G

Platform Modules

Admin Console

The web-based admin portal is the command centre for program administrators and health officials.

Module Description
Dashboard Real-time KPIs — Total Students, Meals Served, Participation Rate, Wellness Score
Schools Onboard, configure, and monitor individual school programs
Students View progress, screening records, and engagement history per student
Programs Create and assign nutrition curricula by grade and district
Reporting Generate PDF/Excel impact reports and health indicator summaries
Inventory Track meal distribution, stock levels, and supply chain compliance
Settings System-wide configuration, branding, and notification preferences

Content Management System (CMS)

The CMS enables health program managers to build and publish educational content without engineering involvement.

  • Video Library: Upload, tag, and publish nutritional education videos by category (Fruits, Vegetables, Proteins, Hydration, etc.)
  • Module Builder: Assemble ordered lessons combining videos, text cards, and knowledge checks.
  • Curriculum Assignment: Assign modules to grades or schools. Schedule auto-release dates.
  • Completion Tracking: Monitor per-student and per-school completion rates across all modules.

Student Mobile App

The student-facing app is designed for daily engagement with a low-friction, high-motivation experience.

Feature Description
Daily Goals Nutrition Score, Calorie Goal, and Water Intake targets — tracked per day
Learn by Category Browse content by food group (Fruits, Vegetables, Proteins) with lesson counts
Video Highlights Curated featured video surfaced on the home screen with duration and progress indicator
Progress Tracker Visual completion history with streak and milestone tracking
Community School-level participation leaderboard (optional, admin-configurable)

Technology Stack

Layer Technology Notes
Mobile Flutter Single codebase — Android & iOS
Admin Web React Cloud-native, responsive
API RESTful (Go / Node) JWT / OAuth2 authenticated
Database PostgreSQL Managed, multi-AZ
Media Storage S3-compatible Object Store Videos, thumbnails, documents
CDN / Edge Cloud Platform AWS / GCP / Azure / Cloudflare — provider-agnostic
Auth OAuth2-compliant IdP Auth0, Keycloak, or Firebase — selected at implementation

Data Flow

sequenceDiagram participant S as Student App participant A as Admin Portal participant API as API Gateway participant DB as Database participant CDN as Media CDN S->>CDN: Stream video lesson S->>API: Submit quiz response + health log API->>DB: Write screening record A->>API: Request performance dashboard API->>DB: Aggregate school-level analytics API->>A: Return dashboard data

Key Non-Functional Requirements

Property Target
Availability 99.5% uptime during school hours
Offline Support Full mobile function without internet — sync on reconnect
Response Time API responses < 400ms at P95
Data Privacy DPDP-compliant — PII anonymized in all reports
Scalability Designed for 50,000+ students across multiple districts