A full-featured restaurant website built with Django and Bootstrap, providing users with an intuitive experience to explore the menu, book tables, and submit feedback.
- Dynamic carousel slider showcasing restaurant offers.
- Featured discounts and promotional offers.
- Engaging about section introducing the restaurant.
- Displays food categories and items dynamically.
- Uses filters to categorize menu items.
- Each item includes image, name, description, and price.
- Users can reserve a table by providing their details.
- Includes fields for name, phone number, email, number of persons, and date.
- Customers can submit reviews with images and ratings.
- Displays customer reviews dynamically on the client section.
- Django ImageField is used to store images.
- Uploaded images are saved inside the
/media/feedback_images/
directory.
- Users can search menu items from the navigation bar.
- Django (Python web framework)
- SQLite (Default Django database for development)
- Bootstrap (for styling and responsiveness)
- HTML/CSS/JavaScript (for dynamic content rendering)
1️⃣ Clone the repository:
git clone https://github.com/AbdullahRFA/Restaurants_website_project_django.git
cd restaurant-website
2️⃣ Create a virtual environment and activate it:
python -m venv venv
source venv/bin/activate # On Windows use: venv\Scripts\activate
3️⃣ Install dependencies:
pip install -r requirements.txt
4️⃣ Run database migrations:
python manage.py makemigrations
python manage.py migrate
5️⃣ Create a superuser (optional, for admin access):
python manage.py createsuperuser
6️⃣ Run the development server:
python manage.py runserver
7️⃣ Access the website at:
http://127.0.0.1:8000/
restaurant_project/
│── Base_App/ # Main Django app
│ │── models.py # Database models
│ │── views.py # Django views
│ │── urls.py # URL routing
│
│── media/ # Stores uploaded images (Feedback images, Menu images)
│── static/ # Static assets
│── templates/ # HTML templates
│── db.sqlite3 # SQLite Database
│── manage.py # Django project manager
│── requirements.txt # Required dependencies
Make sure you configure media settings in settings.py
:
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
And include this in urls.py
:
from django.conf import settings
from django.conf.urls.static import static
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
- ✅ Implement a cart system for ordering food.
- ✅ Enhance search functionality for menu items.
- ✅ Improve UI/UX with animations and transitions.
- ✅ Implement a payment gateway for online ordering.
This project is open-source and available under the MIT License.
Feel free to fork this repository and submit a pull request with improvements. 🚀
- Developer: Abdullah Nazmus-Sakib
- GitHub: AbdullahRFA
- Portfolio: abdullah-nazmus-sakib-rfa.netlify.app
- Email: shakibrybmn@gmail.com)