Skip to content
This repository was archived by the owner on Jul 15, 2026. It is now read-only.

srmbsrg/schoolplate_csharp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

SchoolPlate — K-12 Meal Planning & Ordering System

Generated by Dark Factory — GhostFoundry-Syndicate's AI Code Generation Engine.

Tech Stack

  • Backend: C# .NET 8 (ASP.NET Core Web API) with Clean Architecture
  • Frontend: React 18 + TypeScript + Vite + Tailwind CSS + shadcn/ui
  • Database: PostgreSQL (Npgsql + EF Core 8)
  • Auth: ASP.NET Core Identity + JWT Bearer Tokens
  • Testing: xUnit + Moq + FluentAssertions
  • Docs: Swagger/OpenAPI

Project Structure

SchoolPlate/
├── SchoolPlate.sln
├── src/
│   ├── SchoolPlate.Api/          # ASP.NET Core Web API (entry point)
│   │   ├── Controllers/V1/       # 7 API controllers
│   │   ├── Program.cs            # App configuration
│   │   └── appsettings.json      # Connection strings & JWT config
│   ├── SchoolPlate.Domain/       # Domain entities & interfaces
│   │   └── Entities/             # 5 entity files (District, School, Menu, Order, Student)
│   ├── SchoolPlate.Infrastructure/  # EF Core DbContext, migrations, services
│   └── SchoolPlate.Client/       # React SPA
│       └── src/components/       # 4 UI components (Menu Dashboard, Parent Portal, POS, Compliance)
└── tests/
    └── SchoolPlate.Tests/        # xUnit test project

Prerequisites

Quick Start

1. Database Setup

# Create the database
createdb schoolplate_dev

# Update connection string in appsettings.Development.json

2. Run Backend

cd src/SchoolPlate.Api
dotnet restore
dotnet ef database update  # Run migrations
dotnet run

API available at https://localhost:5001 with Swagger at /swagger.

3. Run Frontend (Development)

cd src/SchoolPlate.Client
npm install
npm run dev

React app at http://localhost:5173, proxied to the .NET backend.

4. Production Build

# Build React app
cd src/SchoolPlate.Client
npm run build

# Copy output to wwwroot
cp -r dist/* ../SchoolPlate.Api/wwwroot/

# Publish .NET app
cd ../SchoolPlate.Api
dotnet publish -c Release -o ../../publish

Single deployable package in publish/ — run with ./SchoolPlate.Api.

Switching to MSSQL

  1. Replace Npgsql.EntityFrameworkCore.PostgreSQL with Microsoft.EntityFrameworkCore.SqlServer in .csproj
  2. Change UseNpgsql() to UseSqlServer() in Program.cs
  3. Update connection string format in appsettings.json
  4. Regenerate migrations: dotnet ef migrations add InitialCreate

API Endpoints

Endpoint Method Description
/api/v1/menus GET/POST Menu management with compliance validation
/api/v1/orders GET/POST Student meal ordering with cut-off times
/api/v1/eligibility/applications GET/POST Free/Reduced meal applications
/api/v1/pos/transaction POST Point of sale transactions
/api/v1/production/records GET/POST Production planning & records
/api/v1/reports/participation GET Participation & compliance reports
/api/v1/students/{id}/balance GET/POST Student account balance management

Generated Artifacts Summary

  • 7 API Controllers — Full CRUD with validation, pagination, filtering
  • 5 Entity Models — EF Core with data annotations, navigation properties, DbContext
  • 4 UI Components — Menu Planning Dashboard, Parent Portal, POS Interface, Compliance Reporting
  • ~160K characters of production-quality code

Compliance Features

  • USDA meal component verification (grain, meat/alt, vegetable, fruit, milk)
  • Offer vs. Serve tracking
  • Free/Reduced/Paid eligibility with USDA 7-CFR-245 compliant forms
  • Production records (planned vs. actual)
  • FERPA-compliant student data handling
  • Discreet eligibility display at POS (no visible F/R indicators)

Generated by Dark Factory v1.0 — Built by Tesa Aria & the Agent Pipeline Task ID: cmn25wlq60009w4mnds7sazx2

About

SchoolPlate - predecessor K-12 meal system. Does NOT build (~67 errors). Superseded by MiChoice - archive candidate.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors