A full-stack mobile app + backend to notify you when your favorite foods (like avocado, pancakes, or tofu) are served in Northwestern dining halls.
Built with:
- 🧠 Python backend (local JSON parsing + push notifications via Expo)
- 📱 React Native frontend (Expo app with push token collection)
- Parses menus from pre-downloaded JSON files
- Matches keywords like
"fruit","pancake", etc. - Sends push notifications to your phone when favorite items are served
- Notifies you if none of your loved items appear
git clone https://github.com/portiali/dine-on-campus-notifier.git
cd dine-on-campus-notifierpython3 -m venv venv
source venv/bin/activatepip install -r requirements.txtPlace your AllisonBreakfast.json, AllisonLunch.json, and AllisonDinner.json inside:
data/logs/cd mobile-appnpx create-expo-app . --template blanknpx expo install expo-notifications expo-deviceIn App.js:
const token = (await Notifications.getExpoPushTokenAsync()).data;
console.log("Expo Push Token:", token);Copy this token and paste it into the backend (notifier.py) under EXPO_PUSH_TOKENS.
npx expo startScan the QR code with the Expo Go app on your physical device.
After setting up both ends and adding your Expo push token:
python main.pyYou'll receive push notifications when items match your favorites!