Skip to main content

SKOLE-FOOD — Food Menu Module

Module ID: SKOLE-FOOD | Version: 1.0 | Status: Active
Products: Parent App (read) · Teacher App (manage) · Web App (manage)

1. Overview

Scope In

  • Create and manage menu items with title, items, nutrients, health benefits, day, and period
  • Schedule menus for specific days and periods
  • Parent read-only view, filterable by day/period

Scope Out

  • Allergen filtering / medical diet customization
  • Online meal ordering or payment

2. Requirements

Functional Requirements (FR)

What the module must DO — actions, behaviors, and outcomes.
  • SKOLE-FOOD-FR001: The module shall allow admins and teachers to define food menu items with details on title, items, nutrients, and health benefits.
  • SKOLE-FOOD-FR002: The module shall enable scheduling of menu items for specific days of the week and meal periods (breakfast, lunch, snack).
  • SKOLE-FOOD-FR003: The module shall allow parents to view the weekly food menu, filtered by day and period.
  • SKOLE-FOOD-FR004: The module shall allow admins to toggle the status of menu items (active/inactive).
  • SKOLE-FOOD-FR005: The module shall provide soft-deletion for menu records.

Non-Functional Requirements (NFR)

How well the module must do it — performance, security, and reliability.
  • SKOLE-FOOD-NFR001: The module shall perform multi-tenant scoping by ensuring food data is strictly isolated by skole_id.
  • SKOLE-FOOD-NFR002: The module shall behave reliably by excluding items marked for deletion (deleted_status = 1) from all frontend views.

Constraints

Rules and boundaries — tech choices and platform restrictions.
  • C001: We must separate the menu item definition from the schedule mapping in the database to allow for recurring menu rotations.
  • C002: We must maintain compatibility with the platform-wide soft-deletion pattern using the deleted_status integer column.

3. Sub-modules / Backlog


4. Logical Implementation


5. UI Requirements

Parent App

Components:

Teacher App & Web App


6. Conditional Expressions


7. Database Tables


8. API Endpoints