Easy-to-manage touch screens
Free, open-source touch screens. Guided USB setup, a drag-and-drop editor and local control. Made for Home Assistant.
Today's servery menu at Pembroke College, Cambridge.
Translation pending
LifestyleTypeScript · JavaScriptGitHub @emilykeltOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗A minimal, mobile-first Next.js web app that shows today's Pembroke College servery ("the trough") menu at a glance.
V (vegetarian) and VE (vegan) flags on every applicable dish| Calendar weeks commencing | Rotation week |
|---|---|
| 19 Jan, 9 Feb, 2 Mar | Week 1 |
| 26 Jan, 16 Feb, 9 Mar | Week 2 |
| 2 Feb, 23 Feb, 16 Mar | Week 3 |
src/
├── app/
│ ├── globals.css # Minimal global styles
│ ├── layout.tsx # Root layout + metadata
│ └── page.tsx # Main page (server component)
├── data/
│ └── menuData.json # All three weeks' menu data
└── lib/
├── dietaryFlags.ts # Curated V/VE flags for every dish
└── getMenu.ts # Core rotation + lookup logic
npm install
npm run dev # starts on http://localhost:3000
The app uses force-dynamic rendering so Vercel re-renders on every request, keeping the date accurate without any caching issues.
Menu data lives in src/data/menuData.json. Each day has a lunch (or brunch on weekends) and dinner object:
{
"studentSpecial": "...",
"alternativeDish": "...",
"allergenFriendly": "...",
"pudding": "...",
"sides": ["..."]
}
Dietary flags are maintained separately in src/lib/dietaryFlags.ts — add any new dish name alongside "v" or "ve".
Not an official Pembroke College service. Menu data sourced from Pembroke College Catering.