Skip to content

About

Contactless restaurant ordering in Django: session-backed cart that skips the database for guests, plus generated per-table QR codes.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

36 Commits

Folders and files

Repository files navigation

🍽️ Django Restaurant Menu & Digital Ordering

A sleek, modern web application designed to elevate the dining experience through contactless browsing.
Built with Django — featuring session-based cart management, automated QR code generation, and a premium user interface.

Python Django HTML5 CSS3 SQLite



📸 Visual Showcase

Interactive Digital Menu

Detailed Item View    Active Shopping Cart Category Filtering Order Summary Admin Control Panel Mobile Responsive View


✨ Key Features

  • 🛒 Dynamic Session-Based Cart: Engineered a bespoke cart.py module that handles complex shopping cart logic. It utilizes Django sessions to temporarily store user orders without hitting the database, ensuring lightning-fast performance for guest users.
  • 📱 Automated QR Code Generator: Features an integrated qr.py utility that programmatically generates scannable QR codes. This allows restaurant owners to instantly deploy table-specific codes for a seamless, contactless dining experience.
  • 🛡️ Bespoke Error Handling: Implements custom routing and a tailored 404.html template to maintain a professional brand image and seamlessly guide users back to the active menu if they navigate to an invalid URL.
  • 📊 Powerful Admin Integration: A fully configured Django admin dashboard (admin.py) enabling staff to easily manage inventory, categorize dishes, update pricing, and instantly toggle item availability in real-time.
  • 🎨 Premium UI/UX: A visually striking interface built with custom CSS, focusing on smooth transitions, intuitive navigation, and high-quality image rendering for an appetizing menu presentation.

🛠️ Tech Stack

  • Backend: Python, Django
  • Frontend: HTML5, Custom CSS3, Responsive Design Principles
  • Database: SQLite (Default, scalable to PostgreSQL in production)
  • Utilities: QR Code generation algorithms, Django Session Middleware

🚀 Getting Started

Follow these instructions to set up a local instance of the application for development, testing, and menu configuration.

Prerequisites

  • Python 3.10+
  • Git
  • pip (Python package manager)

Installation

  1. Clone the repository:

    git clone [https://github.com/AndrewTechTips/Django-Restaurant-Menu.git](https://github.com/AndrewTechTips/Django-Restaurant-Menu.git)
    cd Django-Restaurant-Menu
  2. Create and activate a virtual environment:

    # Windows
    python -m venv venv
    venv\Scripts\activate
    
    # macOS/Linux
    python3 -m venv venv
    source venv/bin/activate
  3. Install the dependencies:

    pip install -r requirements.txt
  4. Run Database Migrations:

    python manage.py makemigrations
    python manage.py migrate
  5. Create a Superuser (to manage the menu via Admin):

    python manage.py createsuperuser
  6. Start the Development Server:

    python manage.py runserver

    Navigate to http://127.0.0.1:8000 to view the live menu, and http://127.0.0.1:8000/admin to begin adding dishes and categories.


📖 Usage Guide

  1. Adding Items: Log into the /admin portal to upload dish photos, write appetizing descriptions, set prices, and group items into categories (e.g., Starters, Mains, Desserts).
  2. Generating QR Codes: Utilize the qr.py script to generate high-resolution QR codes pointing to your server's domain for easy table-top printing.
  3. Cart Management: Users can seamlessly add items to their cart, adjust quantities, and review their total before placing an order.

📬 Let's Connect

"Building digital solutions that empower people and transform businesses."

About

Contactless restaurant ordering in Django: session-backed cart that skips the database for guests, plus generated per-table QR codes.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages