Spys
One platform, three apps — order, manage, and deliver campus meals.
- Role
- Full-Stack Engineering · 3-surface platform
- Year
- 2025
- Stack
- 8 technologies
Spaghetti Bolognese
R45.00Hoender Wrap
R38.00Students ordering meals
An installable PWA where students browse the daily menu, manage allergies and favourites, load credit, and place orders — then show a QR code at pickup.
◆ Try it live
Log in as any role
Open the live app and sign in with any of the demo accounts below to explore all three surfaces. Shared demo data — be kind to it.
Password
Password
Password
Spys is an end-to-end meal platform for university residences. Students browse a daily menu, load credit, and order from an installable mobile app; residence and finance staff run menus, orders, allergens, and budgets from a full admin portal; and delivery drivers clear the day's deliveries from a scanner-driven app.
It's one React + TanStack front end backed by a Spring Boot API with role-based access, real-time notifications over WebSockets, and a PostgreSQL database, deployed to Oracle Cloud. A single QR credential ties the three apps together — the student's code is scanned by a driver to confirm each delivery.
Built with
- React 19
- TanStack Router/Query
- Tailwind · shadcn/ui
- Spring Boot 3
- Spring Security · JWT
- WebSockets
- PostgreSQL · Flyway
- Oracle Cloud
3 apps
Student PWA, admin portal & driver app
8 roles
Granular role-based admin access
QR pickup
Barcode-confirmed delivery handoff
Real-time
WebSocket order & delivery updates
What it does
Student ordering PWA
An installable app with a daily menu, allergy-aware meal cards, favourites, a credit wallet, and push notifications.
Role-based admin portal
Eight admin roles — user, menu, finance, order, delivery, feedback, audit, and system — each see only the tools they own.
QR pickup & delivery
Every student carries a QR credential. Drivers scan it to pull up pending items and confirm hand-off, which notifies the student instantly.
Finance & wallets
Staff load credit individually or in bulk, track every transaction, and watch balances and spend across campus.
Menus, allergens & residences
Build daily menus with images and prices, flag allergens, and manage campuses and residences from one place.
Real-time & audited
WebSocket notifications keep orders and deliveries live, while an audit log records every sensitive action.
Three apps, one system.
Student App
An installable PWA where students browse the daily menu, manage allergies and favourites, load credit, and place orders — then show a QR code at pickup.
- Daily menu with meal images
- Allergy-aware meal cards
- Credit wallet & balance
- QR pickup code
- Favourites & push notifications
Spaghetti Bolognese
R45.00Hoender Wrap
R38.00Admin Portal
A role-based desktop portal to run menus, orders, allergens, residences, and campus finance — with audit logs, feedback, and reporting.
- Menu & item management
- Order overview & history
- Finance: load credit & transactions
- Campus, residence & allergen settings
- Audit log & feedback dashboard
Gross Sales
R 12480.00
Up 12.5% (R1385.20) from Previous 7 days
Cancellable Sales
R 1240.00
User Credit Load Transactions
R 8350.00
Up 6.8% (R532.00) from Previous 7 days
Refunds
R 320.00
Down 8.2% (R28.60) from Previous 7 days
Driver App
A scanner-first delivery app: scan a student's QR, see their pending items, and confirm each as delivered. Live stats track the day's progress.
- Scan student barcode
- Pending items per student
- One-tap delivery confirm
- Live delivery progress
- Auto-clears when complete
Total Today
150
In Delivery
45
Delivered
105
Completed
70%
Johan Smit
Elandia - Stellenbosch
SU-2024-8891Items to deliver:
Spaghetti Bolognese
Quantity: 2 × R45.00 = R90.00
Hoender Wrap
Quantity: 1 × R38.00 = R38.00
Okera designs and builds full-stack products like this one — from first sketch to deployed system.