Online Food Ordering Management System in php mysql

Buy Source Code ₹701

The Online Food Ordering System is a web-based application that facilitates users to order food online from a catalog of available menu items. It includes features for user and admin management and payment processing. The project is developed using PHP and MySQL as the core technologies, with a responsive front-end and a well-structured back-end.

Project Modules

  1. User Module

This module focuses on user interaction, including registration, browsing the food menu, placing orders, and managing account details.

Features

  1. Registration and Login:
    • Users can register with their name, email, password, and phone number.
    • Upon successful registration, a wallet balance of ₹2000 is credited to the user's account.
    • Users can log in with their email and password.
    • Passwords are hashed for security (e.g., using bcrypt).
  2. Food Menu:
    • Displays all food items with the following details:
      • Food Name
      • Price
      • Image
    • Users can select the quantity for each item and proceed to place an order.
  3. Placing Orders:
    • Payment options:
      • Wallet: Deducts the amount from the user's wallet.
      • Cash on Delivery (COD): Allows users to enter a delivery address and opt for COD.
    • Upon order confirmation, users receive:
      • Order ID
      • List of items ordered
      • Total cost
      • Payment method
  4. Order Details:
    • Users can view all their orders categorized as:
      • Pending Orders: Orders yet to be delivered.
      • Delivered Orders: Orders successfully delivered.
    • Details include food name, order status, amount paid, and delivery address.
  5. User Dashboard:
    • Profile Management:
      • Update personal details (name, email, phone number, address).
    • Ticket Management:
      • Submit a ticket for issues (e.g., delayed delivery, wrong item).
    • Order History:
      • View details of past and pending orders.
  1. Admin Module

The admin panel manages the application, including food items, user details, and orders.

Features

  1. Admin Login:
    • Admins log in using their username and password.
    • Authentication ensures only authorized access to the dashboard.
  2. Dashboard Overview:
    • User Management:
      • View a list of registered users with details like name, email, and phone number.
    • Order Management:
      • View and update order statuses (e.g., Pending → Delivered).
    • Ticket Management:
      • Respond to user-submitted tickets.
  3. Food Management:
    • Add Food:
      • Enter food name, price, and upload an image.
    • Edit/Delete Food:
      • Modify or remove existing food items.
  1. Website Front-End

The front-end includes a user-friendly interface for visitors to explore the platform.

Pages

  1. Home Page:
    • Highlights the service's key features.
    • Includes a call-to-action for registering or logging in.
  2. Our Food Page:
    • Displays the food menu with prices and images.
  3. About Us Page:
    • Shares information about the platform/company.
  4. Order Now Page:
    • Redirects registered users to the food menu.

Technologies Used

  1. Front-End:
    • HTML: Structure of the web pages.
    • CSS: Styling for a visually appealing interface.
    • JavaScript: Dynamic behavior for user interactions.
    • Bootstrap: Responsive design for mobile and desktop users.
  2. Back-End:
    • PHP: Server-side scripting for managing user requests and interactions.
    • MySQL: Database for storing user details, food items, orders, and tickets.
  3. Web Server:
    • Apache: Part of the XAMPP/WAMP stack for hosting the application locally or on a server.

Database Design

  1. Tables
  1. Users Table:
    • id: Primary Key
    • name: User's full name
    • email: User's email address
    • password: Hashed password
    • phone: Contact number
    • wallet_balance: Wallet amount (default ₹2000)
    • address: User's delivery address
  2. Food Items Table:
    • food_id: Primary Key
    • name: Food name
    • price: Food price
    • image: File path of the food image
  3. Orders Table:
    • order_id: Primary Key
    • user_id: Foreign Key (references Users.id)
    • items: JSON (food items and quantities)
    • total_amount: Total cost
    • payment_method: Wallet or COD
    • status: Pending or Delivered
    • delivery_address: Address for COD orders
  4. Tickets Table:
    • ticket_id: Primary Key
    • user_id: Foreign Key (references Users.id)
    • issue_description: User's complaint or issue
    • status: Open or Resolved

Key Functionalities

  1. Payment System
  • Wallet integration with balance updates for each transaction.
  • COD option with address validation.
  1. Order Management
  • Users can track orders by status (Pending/Delivered).
  • Admins can update the order status.
  1. Responsive Design
  • Ensures usability on desktops, tablets, and smartphones.
  1. Security
  • Password hashing (e.g., using bcrypt).
  • Prepared statements in SQL to prevent injection attacks.

Project Flow

  1. User Registers → Logs In → Browses Food Menu → Places Order.
  2. Admin Manages Food Items → Monitors Orders → Handles Tickets.

Enhancements and Future Scope

  1. Real-Time Notifications:
    • SMS or email alerts for order updates.
  2. Reviews and Ratings:
    • Allow users to rate food items.
  3. Discounts and Offers:
    • Implement promo codes or discounts.
  4. Multi-Language Support:
    • Cater to a diverse user base.
  5. Delivery Tracking:
    • Include real-time delivery tracking for users.

Conclusion

This system provides a robust and user-friendly platform for online food ordering, catering to both customers and administrators with well-defined modules and functionalities.