Aadiβs Eatery is a smart restaurant website that integrates an AI-powered chatbot named Aadi, built using Dialogflow and connected to a FastAPI backend.
The chatbot allows customers to place food orders seamlessly through natural conversation and automatically sends order details to the backend database.
π Website: https://aadis-eatery.onrender.com/
π¬ Chatbot: Integrated on the website (powered by Dialogflow)
βοΈ Backend API: Hosted on Render using FastAPI
ποΈ Database: MySQL (hosted remotely)
This project combines:
- A static restaurant website (HTML, CSS, JavaScript)
- A Dialogflow chatbot named Aadi for conversational food ordering
- A FastAPI backend that handles orders, menu queries, and database operations
- A MySQL database that stores food item details and order history
Aadi interacts naturally with users, processes their order requests, and automatically communicates with the backend through webhooks to insert order details.
User β Dialogflow Chatbot (Aadi) β FastAPI Backend β MySQL Database β β Website (Frontend UI)
yaml Copy code
- User interacts with Aadi chatbot on the restaurant website.
- Chatbot extracts food item details and order quantity.
- Dialogflow webhook sends structured JSON to FastAPI endpoint.
- FastAPI verifies food item β inserts order β responds with confirmation.
- Chatbot displays success message to user.
| Layer | Technology |
|---|---|
| Frontend | HTML5, CSS3, JavaScript |
| Chatbot | Google Dialogflow |
| Backend | FastAPI (Python) |
| Database | MySQL (Remote Connection - Deployed on Railways) |
| Hosting | Render (Backend,Frontend), GitHub Pages |
β
Interactive restaurant website with modern design
β
Fully automated chatbot ordering system
β
FastAPI backend connected to MySQL database
β
Handles order insertion and menu validation
β
Deployed API integrated with Dialogflow webhook
β
Mobile-responsive and optimized hero section
β
Secure environment variable management for API keys
π€ User: Iβd like to order a Pizza.
π€ Aadi: Great choice! How many pizzas would you like?
π€ User: Just one.
π€ Aadi: Your order for 1 Pizza has been successfully placed. β
(Order details automatically saved to backend database.)
FOOD_RESTAURANT_CHATBOT/ β βββ backend/ β βββ db_helper.py # Database helper functions β βββ genric_fun.py # Utility functions β βββ main.py # FastAPI application entry point β βββ Dockerfile # Deployment configuration β βββ ngrok.exe # Local tunneling (for Dialogflow testing) β βββ pandeyji_eatery.db # SQLite/Database file β βββ requirements.txt # Dependencies for backend β βββ frontend/ β βββ index.html # Static website with integrated chatbot β βββ .env # Environment variables (DB credentials, API keys) βββ .gitignore # Git ignore rules βββ venv/ # Virtual environment βββ pycache/ # Compiled cache files
yaml Copy code
- Clone the repository
git clone https://github.com/your-username/Food_Rest_chatbot.git cd Food_Rest_chatbot/backend
- Create a virtual environment
python -m venv venv source venv/bin/activate # or venv\Scripts\activate (on Windows)
- Install dependencies
pip install -r requirements.txt
Set up environment variables
DB_HOST=your_host DB_USER=your_user DB_PASSWORD=your_password DB_NAME=your_database
Run FastAPI server
uvicorn main:app --reload
Open frontend
Open frontend/index.html in your browser and test chatbot.
π§© Future Improvements 1.Add live order tracking
2.Integrate payment gateway
3.Add admin dashboard for restaurant staff
4.Support voice-based ordering
π¨βπ» Developer Aditya Mangal πΌ Full Stack Developer | AI Chatbot Enthusiast π India π LinkedIn:https://www.linkedin.com/in/adityamangalai/