A mobile-friendly web application for UCLA students to explore dining hall menus and filter dishes based on dietary preferences.
- View dishes from Epicuria, De Neve, and Bruin Plate dining halls
- Filter dishes by dietary preferences (vegetarian, vegan, halal, etc.)
- View detailed ingredient lists for each dish
- Mobile-friendly interface
- Real-time menu updates
- Next.js 14 with App Router
- TypeScript
- Tailwind CSS
- Supabase (PostgreSQL + Auth)
- OpenAI API (for ingredient parsing)
- Node.js 18.17 or later
- npm or yarn
- Supabase account
- OpenAI API key
-
Clone the repository:
git clone https://github.com/yourusername/bruinbites.git cd bruinbites
-
Install dependencies:
npm install
-
Copy the environment variables template:
cp .env.example .env.local
-
Fill in your environment variables in
.env.local
:- Get your Supabase URL and anon key from your Supabase project settings
- Add your OpenAI API key
-
Set up the database:
- Create a new Supabase project
- Run the SQL commands in
supabase/schema.sql
in the Supabase SQL editor - Run the database population script:
npm run populate-db
Run the development server:
npm run dev
Open http://localhost:3000 in your browser.
The app can be deployed to Vercel:
- Push your code to GitHub
- Create a new project on Vercel
- Connect your GitHub repository
- Add your environment variables in Vercel
- Deploy!
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
MIT