Smart Campus Canteen Food Ordering System, It's was my academic final year project. It's a full-stack smart canteen ordering system that replaces the traditional manual canteen process,students can browse the menu, order food, pay online, and track their order in real time, while admins manage everything from a central dashboard.
FOODRUSH.mp4
Customer
- Sign up / Login
- Browse menu by category β Appetizers, Beverages, Desserts, Main Course, Salads & Bowls
- Use the AI Chatbot (bottom-right of homepage) for recommendations or canteen queries
- Add items to cart β proceed to Checkout
- Enter name, table number and email β OTP sent to email β verify to place order
- Pay via Razorpay
- Order confirmation bill sent as PDF attachment to email
- Unique alphanumeric ticket generated β popup appears with a COPY button
- Go to tracking page β paste ticket β click Track β view live order status
Order Status Flow
Pending β Confirmed β Preparing β Ready β Done
β Cancelled
Admin
- Login via separate admin page
- View monthly & weekly revenue charts + order breakdown pie chart
- Manually update order status for each order
- Export order data to Excel
| Technology | |
|---|---|
| Framework | Next.js 14, React 18, TypeScript |
| Styling | Tailwind CSS v4, Radix UI, Shadcn/ui |
| Animations | GSAP, Three.js |
| State | Zustand |
| Database | MySQL (mysql2) |
| Auth | bcryptjs, Zod, React Hook Form |
| Nodemailer (OTP + PDF bill attachment) | |
| Payment | Razorpay |
| AI Chatbot | Groq API (LLaMA3) |
| Charts | Recharts |
| Export | Excel (order data), jsPDF (email bill) |
Foodrush/
βββ app/
β βββ page.tsx # Homepage + AI Chatbot
β βββ login/ # Login page
β βββ signup/ # Sign up page
β βββ checkout/ # Checkout + OTP verification
β βββ payment/ # Razorpay + Ticket popup
β βββ track/ # Order tracking
β βββ admin/ # Admin dashboard
β βββ api/ # auth, orders, food-items, send-otp, send-email, export, chat, stats
βββ components/
β βββ admin/ # Dashboard, orders, stats components
β βββ ui/ # cart-sidebar, food-card, checkout-form, chatbot, animations
βββ hooks/ # Custom hooks (cart, auth)
βββ lib/ # DB connection, utilities
βββ scripts/ # DB seed scripts
βββ styles/
Download and set up the following:
| What | Why | Where |
|---|---|---|
| Node.js v18+ | Run the project | nodejs.org |
| pnpm | Package manager | npm install -g pnpm |
| MySQL 8.0+ | Database | mysql.com |
| Gmail App Password | OTP + PDF bill emails | myaccount.google.com/apppasswords |
| Razorpay Account | Payment (test keys) | razorpay.com |
| Groq API Key | AI Chatbot | console.groq.com |
Everything else β GSAP, Three.js, Recharts, Radix UI, Zustand, Shadcn/ui, bcryptjs, jsPDF and all other packages β install automatically via
pnpm install.
# 1. Clone the repo
git clone https://github.com/DishantBhere/Foodrush.git
cd Foodrush
# 2. Install all dependencies
pnpm install
# 3. Create your env file and fill in the values
cp .env.example .env.local# Database
DB_HOST=localhost
DB_USER=root
DB_PASSWORD=your_password
DB_NAME=food_ordering_system
# Auth
JWT_SECRET=your_jwt_secret
# Email (Nodemailer)
EMAIL_USER=your_email@gmail.com
EMAIL_PASS=your_gmail_app_password
# Razorpay
RAZORPAY_KEY_ID=your_key_id
RAZORPAY_KEY_SECRET=your_key_secret
# Groq AI
GROQ_API_KEY=your_groq_api_key# 4. Set up the database
mysql -u root -p < scripts/schema.sql
# 5. Run the dev server
pnpm devOpen http://localhost:3000
Admin β http://localhost:3000/admin
- Razorpay runs in test mode β no real transactions
- Runs locally only, not deployed
- PDF bill is sent as email attachment after payment success
Built by Dishant Bhere Bsc.IT Β· University of Mumbai




