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
- User Module
This module focuses on user interaction, including registration, browsing the food menu, placing orders, and managing account details.
Features
- 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).
- 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.
- Displays all food items with the following details:
- 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
- Payment options:
- 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.
- Users can view all their orders categorized as:
- 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.
- Profile Management:
- Admin Module
The admin panel manages the application, including food items, user details, and orders.
Features
- Admin Login:
- Admins log in using their username and password.
- Authentication ensures only authorized access to the dashboard.
- 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.
- User Management:
- Food Management:
- Add Food:
- Enter food name, price, and upload an image.
- Edit/Delete Food:
- Modify or remove existing food items.
- Add Food:
- Website Front-End
The front-end includes a user-friendly interface for visitors to explore the platform.
Pages
- Home Page:
- Highlights the service's key features.
- Includes a call-to-action for registering or logging in.
- Our Food Page:
- Displays the food menu with prices and images.
- About Us Page:
- Shares information about the platform/company.
- Order Now Page:
- Redirects registered users to the food menu.
Technologies Used
- 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.
- Back-End:
- PHP: Server-side scripting for managing user requests and interactions.
- MySQL: Database for storing user details, food items, orders, and tickets.
- Web Server:
- Apache: Part of the XAMPP/WAMP stack for hosting the application locally or on a server.
Database Design
- Tables
- 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
- Food Items Table:
- food_id: Primary Key
- name: Food name
- price: Food price
- image: File path of the food image
- 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
- 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
- Payment System
- Wallet integration with balance updates for each transaction.
- COD option with address validation.
- Order Management
- Users can track orders by status (Pending/Delivered).
- Admins can update the order status.
- Responsive Design
- Ensures usability on desktops, tablets, and smartphones.
- Security
- Password hashing (e.g., using bcrypt).
- Prepared statements in SQL to prevent injection attacks.
Project Flow
- User Registers → Logs In → Browses Food Menu → Places Order.
- Admin Manages Food Items → Monitors Orders → Handles Tickets.
Enhancements and Future Scope
- Real-Time Notifications:
- SMS or email alerts for order updates.
- Reviews and Ratings:
- Allow users to rate food items.
- Discounts and Offers:
- Implement promo codes or discounts.
- Multi-Language Support:
- Cater to a diverse user base.
- 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.