0% found this document useful (0 votes)
24 views58 pages

2.o Food Ordering System Final Report

Uploaded by

prempatole110
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
24 views58 pages

2.o Food Ordering System Final Report

Uploaded by

prempatole110
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 58

PROJECT REPORT

ON
“FOOD ORDERING SYSTEM”

Dr. Babasaheb Ambedkar Marathwada University,


Aurangabad -431004, INDIA

By

Mr. PremkumarPeter Patole

Mr. Jitendra Sanjay Shinde

Mr. Suraj Rajput Meshram

Mr. Umar Rahimuddin Siddique

IN PARTIAL
FULFILLMENT FOR THE AWARD OF

Bachelor of Computer Science

Under
The Guidance of

Mrs. Ankita Rathod

Submitted to the

Late Harilal Naik Gramin Vikas Sanstha’s,


Rajiv Gandhi College of Computer Science
Wani Complex, Padegaon, Aurangabad-431002
PROJECT SYNOPSIS
ON
“FOOD ORDERING SYSTEM”

Dr. Babasaheb Ambedkar Marathwada University,


Aurangabad -431004, INDIA

By

Mr. PremkumarPeter Patole

Mr. Jitendra Sanjay Shinde

Mr. Suraj Rajput Meshram

Mr. Umar Rahimuddin Siddique

IN PARTIAL
FULFILLMENT FOR THE AWARD OF

Bachelor of Computer Science

Under
The Guidance of

Mrs. Ankita Rathod

Submitted to the

Late Harilal Naik Gramin Vikas Sanstha’s,


Rajiv Gandhi College of Computer Science
Wani Complex, Padegaon, Aurangabad-431002
Late Harilal Naik Gramin Vikas Sanstha’s,

Rajiv Gandhi College of Computer Science


Wani Complex, Padegaon, Aurangabad-431002

CERTIFICATE
This is certifying tha Mr.Premkumar Peter Patole,
Mr.Suraj Rajput Meshram,Mr Jitendra Sanjay Shinde and Mr. Umar
Rahimuddin Siddique class B.C.S. 3nd year has completed project
synopsis on “FOOD ORDERING SYSTEM” for B.C.S.
3nd year successfully during the academic year 2023-2024.

Examination Seat No:


Examination Seat No:
Examination Seat No:
Examination Seat No: Examiner’s
Signature

GUIDE HEAD Principal


Miss. Sujata Suradkar Mrs. Ankita Rathod Dr. A. S. Paithane
Miss. Sandhya Arak

Date:
DECLARATION

I hereby declare that the project synopsis entitled “FOOD ORDERING


SYSTEM” has been completed successfully and this project report submitted towards
the partial fulfillment of the requirement for the award of the degree of Bachelor of

Computer Science with specialization in Computer. This project report has not
been submitted to any other university or institution for award of degree.

Mr. PremkumarPeter Patole Mr.Suraj Rajput Meshram

Mr. Jitendra Sanjay Shinde Mr. Umar Rahimuddin Siddique


ACKNOLEDGEMENT

The presentation of this project has given me the opportunity to express my gratitude
to all those who have made it possible for me to accomplish this project.

I thank to our college management for giving me this opportunity to undergo a project
study program in their esteemed organization.

I am special thanks to my project guide Mrs. Ankita Rathod Mam, for giving an
Opportunity to do this project work.

I would like to specially thank to Miss. Sujata Suradkar Mam and Miss. Sandhya
Arak.

I express my gratitude to the project Guide, HOD Mr. Vinod Pawar Sir and Principal
Mr. A. S. Paithane Sir for his valuable guidance and assistance in taking me through
the project.

Mr. PremkumarPeter Patole Mr.Suraj Rajput Meshram

Mr. Jitendra Sanjay Shinde Mr. Umar Rahimuddin Siddique


ABSTRACT

Our proposed system is an online food ordering system that enables ease
for the customers. It overcomes the disadvantages of the traditional queueing
system. Our proposed system is a medium to order online food hassle free from
restaurants as well as mess service. This system improves the method of taking the
order from customer. The online food ordering system sets up a food menu online
and customers can easily place the order as per their wish. Also with a food menu,
customers can easily track the orders. This system also provides a feedback
system in which user can rate the food items. Also, the proposed system can
recommend hotels, food, based on the ratings given by the user, the hotel staff will
be informed for the improvements along with the quality. The payment can be
made online or pay-on-delivery system. For more secured ordering separate
accounts are maintained for each user by providing them an ID and a password.

1
INDEX

Sr. No. Topic Name Page No.


1. Introduction 1
2. Objective 2
3. Need of Online Food Ordering System 4
4. Goals of the System 6
5. User Requirements 7-8
6. Project Design 9-10
7. Project Planning 11-18
8. Software Requirements 19
9. Feature of Project 20-21
10. Advantages and Disadvantages 22-24
11. Testing 25-27
• Security Testing of the Project
• White Box Testing
• Black Box Testing
• Alpha Testing
• Beta Testing
• Unit Testing
• Integration Testing
• Validation Testing
• System Testing

12. Drawing 28-29


• Main Uses Case Diagram
• Data Flow Diagram
13. Output Screenshots 30-36
14. Source Code 37-59
15. Conclusion 60
16. Reference 61

2
INTRODUCTION

The online food ordering system sets up a food menu online and customers can
easily place the order as per they like. Also with a food menu, online customers can
easily track the orders. The management maintains customers database, and improve
food delivery service. The Restaurant management systems motivate us to develop the
system. There are various facilities provided so that the users of the system will get
service effectively. Also, the system considers Restaurants as well as Mess facility to the
customers. Again, the idea comes that mostly mess users are person who are shifted for
various reason in new cities. So, they are interrelated. Increasing use of smart phones is
also considered as a motivation, so that any users of this system get all service on single
click. Another motivation can be considered as the system will be designed to avoid
users doing fatal errors, users can change their own profile, users can track their food
items through GPS, users can provide feedback and recommendations and can give
ratings, it will give appropriate feedbacks to Restaurants / Mess service providers.

Due to lack of a full fledge application that can fulfill the customer requirements
by providing him food from restaurants as well as from mess service, there is a need for
the system. This proposed system will be used by the people who keep shifting from
cities to cites. As well as, it will be useful for the students studying in different cities.

The proposed system will provide the flexibility to the Customers/Users to order
from either Restaurants or Mess. It will also provide Recommendations to the customers
from the restaurants/mess owners uploaded on a daily basis. In the proposed system,
there will be no limitation on the amount of order the customer wants. Also, same
application can be used as a Startup Business for the developers. It will provide real
time customers feedback and ratings along with the comments to the restaurants/mess
owner. It gives appropriate feedbacks to users, so if there is any error happened, then
there will be a feedback dialog toward users.

The proposed system is designed to avoid users doing fatal errors and
inappropriate action. Scope of proposed system is justifiable because in large amount
peoples are shifting to different cities so wide range of people can make a use of
proposed system. The system/interface will take input from the user. The major
attributes that will give input to the dataset is: name, address, email-Id, mobile no, other
3
personal related values, etc. The output will include user/customer’s Order, Bill,
Feedback and Payment options. Initially there will be 10 to 12 restaurants and mess
services considered inside 2 to 3 areas.

The reason why to choose this project is the idea behind project that is to solve
problem of people which they are facing when they shift to different city. The system is
not only for user but also for provider who provides food service. This system is for
making efficient communication between consumer and producer of the food system
which will then leads to the ideal and effective system.

4
OBJECTIVE

1. Enhance Customer Convenience: The primary objective of a food ordering


system is to provide customers with a convenient way to browse menus, place
orders, and arrange delivery or pickup without the need for physical interaction
or phone calls.
2. Streamline Ordering Process: By automating the ordering process, the system
aims to streamline operations for both customers and restaurants, reducing wait
times and minimizing errors associated with manual order taking.
3. Improve Order Accuracy: Food ordering systems strive to improve order
accuracy by allowing customers to specify their preferences, special requests,
and dietary restrictions directly through the digital interface, minimizing
misunderstandings.
4. Increase Revenue: One of the key objectives is to help restaurants increase their
revenue by expanding their customer base through online channels, reaching
new demographics, and encouraging repeat business through loyalty programs
and promotions.
5. Optimize Resource Utilization: The system aims to optimize resource utilization
within restaurants by providing real-time insights into order volumes, popular
menu items, and peak hours, enabling better inventory management and staffing
decisions.
6. Enhance Customer Engagement: Food ordering systems seek to enhance
customer engagement through features such as personalized recommendations,
order tracking, and feedback mechanisms, fostering a positive relationship
between customers and restaurants.
7. Promote Brand Image: By offering a seamless and user-friendly ordering
experience, the system helps to promote the brand image of restaurants as
modern, tech-savvy establishments that prioritize customer satisfaction and
convenience.
8. Enable Data-driven Decision Making: The system collects valuable data on
customer preferences, ordering patterns, and sales trends, which can be used by
restaurants to make informed decisions regarding menu offerings, pricing
strategies, and marketing campaigns.
9. Ensure Security and Compliance: Another objective is to ensure the security of

5
customer data and payment information, as well as compliance with regulations
such as data protection laws and food safety standards, building trust and
confidence among customers.
10. Adaptability and Scalability: Food ordering systems should be designed to be
adaptable and scalable, capable of accommodating changes in customer demand,
technological advancements, and business growth without compromising
performance or reliability.

By achieving these objectives, food ordering systems can contribute to the overall
success and sustainability of restaurants in today's competitive food industry landscape.

6
NEED OF FOOD ORDERING SYSTEM

Convenience: In today's fast-paced world, convenience is paramount. Online food


ordering systems offer customers the convenience of browsing menus, placing orders,
and arranging delivery or pickup from the comfort of their homes or workplaces,
without the hassle of visiting restaurants in person or waiting on hold during peak hours.

24/7 Accessibility: Unlike traditional phone-based ordering systems, online platforms


are accessible 24/7, allowing customers to place orders at any time of the day or night,
catering to varying schedules and preferences.

Expanded Choices: Online food ordering systems provide customers with access to a
wide range of restaurants and cuisines beyond their immediate vicinity, opening up a
world of culinary options and catering to diverse tastes and dietary preferences.

Transparency and Control: These systems offer transparency and control to customers
by providing detailed menus, pricing information, and customization options,
empowering them to make informed choices and tailor orders to their liking.

Order Tracking: Many online food ordering systems incorporate order tracking features
that allow customers to monitor the status of their orders in real-time, from preparation
to delivery or pickup, providing peace of mind and reducing uncertainty.

Contactless Transactions: Amidst health concerns such as the COVID-19 pandemic,


online food ordering systems facilitate contactless transactions, minimizing physical
interactions and reducing the risk of transmission, both for customers and restaurant
staff.

Personalization and Recommendations: These systems leverage data analytics and


algorithms to offer personalized recommendations based on past orders, preferences,
and user behavior, enhancing the overall customer experience and encouraging repeat
business.

Efficiency and Accuracy: By automating the ordering process, online food ordering

7
systems improve efficiency and accuracy, reducing errors associated with manual order
taking and minimizing wait times for both customers and restaurants.

Scalability and Growth: For restaurants, online food ordering systems offer
opportunities for scalability and growth by reaching a wider audience, attracting new
customers, and increasing sales through digital channels, without the constraints of
physical space or location.

Competitive Advantage: In an increasingly competitive market, having an online food


ordering system can provide restaurants with a competitive advantage, demonstrating
their commitment to innovation, customer satisfaction, and adaptability to changing
consumer trends.

8
GOALS OF THE SYSTEM

The goals of an online food ordering system typically revolve around enhancing
customer satisfaction, improving operational efficiency, and driving business growth.
Here are some common goals:

1. Increase Sales Revenue: One of the primary goals is to increase sales revenue
by providing customers with a convenient and accessible way to order food.
This includes attracting new customers, encouraging repeat business, and
upselling additional items through personalized recommendations and
promotions.
2. Enhance Customer Satisfaction: The system aims to enhance customer
satisfaction by offering a seamless and user-friendly ordering experience. This
includes providing a wide selection of menu items, easy navigation, quick
checkout processes, and reliable delivery or pickup options.
3. Improve Order Accuracy: Another goal is to improve order accuracy by
minimizing errors associated with manual order taking. The system should
allow customers to specify their preferences, dietary restrictions, and special
instructions accurately, reducing the likelihood of mistakes in the fulfillment
process.
4. Optimize Operational Efficiency: The system aims to optimize operational
efficiency within restaurants by streamlining order processing, reducing wait
times, and optimizing resource allocation. This includes automating tasks such
as order management, inventory tracking, and delivery routing.
5. Expand Customer Reach: An important goal is to expand the customer reach by
reaching new demographics and geographic areas through online channels. This
includes leveraging digital marketing strategies, social media integration, and
partnerships with third-party delivery services to attract a broader audience.
6. Drive Customer Engagement: The system seeks to drive customer engagement
through features such as personalized recommendations, loyalty programs, and
feedback mechanisms. Engaged customers are more likely to return for future
orders and recommend the restaurant to others.
7. Enable Data-Driven Decision Making: The system aims to collect and analyze
data on customer behavior, ordering patterns, and sales trends to inform

9
decision-making processes. This includes identifying popular menu items,
forecasting demand, and adjusting pricing strategies based on market dynamics.
8. Ensure Security and Compliance: Another goal is to ensure the security of
customer data and payment information, as well as compliance with regulations
such as data protection laws and food safety standards. This includes
implementing secure payment gateways, encryption protocols, and robust data
privacy measures.
9. Differentiate from Competitors: The system aims to differentiate the restaurant
from competitors by offering unique features, value-added services, and
exceptional customer experiences. This includes staying abreast of industry
trends, incorporating customer feedback, and continuously innovating to stay
ahead of the competition.
10. Achieve Long-Term Sustainability: Ultimately, the goal of the online food
ordering system is to contribute to the long-term sustainability and growth of
the restaurant business. This includes building brand loyalty, fostering positive
relationships with customers, and adapting to evolving market dynamics to
remain relevant in the competitive landscape.

Ease of Access:
The application was developed to serve mass population. That is why the user interface
of the application is kept simple.

10
USER REQUIREMENT

Understanding user requirements for a food ordering system is crucial for


designing a solution that meets the needs and expectations of customers. Here are some
common user requirements:
1. User-Friendly Interface: Users expect the system to have an intuitive and easy-
to- use interface, allowing them to browse menus, add items to their cart, and
complete orders without confusion or frustration.
2. Mobile Compatibility: Many users prefer to order food using their mobile
devices, so the system should be optimized for mobile responsiveness, providing
a seamless experience across different screen sizes and devices.
3. Menu Customization: Users want the ability to customize their orders according
to their preferences, including options for selecting toppings, specifying portion
sizes, and accommodating dietary restrictions or allergies.
4. Transparent Pricing: Users expect transparent pricing, including clear indications
of item costs, taxes, delivery fees (if applicable), and any additional charges.
Hidden fees or unexpected costs can lead to dissatisfaction.
5. Secure Payment Options: Users require secure payment options to protect their
financial information. The system should support various payment methods such
as credit/debit cards, digital wallets, and cash on delivery, with encryption
protocols to safeguard transactions.
6. Order Tracking: Users appreciate order tracking features that allow them to
monitor the status of their orders in real-time, from preparation to delivery or
pickup. This helps manage expectations and provides reassurance about the
progress of their order.
7. Quick Checkout Process: Users value a streamlined checkout process that
minimizes the number of steps required to complete an order. The system should
allow for guest checkouts as well as account creation for returning customers,
with options to save payment information for future orders.
8. Delivery/Pickup Options: Users expect flexibility in delivery and pickup options,
including the ability to schedule orders for a specific date and time, choose
between delivery or pickup, and select their preferred delivery address or pickup
location.
9. Order History and Favorites: Users appreciate features that allow them to view

11
their order history, reorder favorite items with ease, and save customized
preferences for future orders, saving time and effort when placing subsequent
orders.
10. Feedback and Support: Users value opportunities to provide feedback on their
ordering experience, including ratings, reviews, and suggestions for
improvement. The system should also offer responsive customer support
channels to address any issues or inquiries promptly.
By incorporating these user requirements into the design and development of the
food ordering system, businesses can create a solution that delivers a satisfying and
seamless experience for their customers, fostering loyalty and repeat business.

12
PROJECT DESIGN

Designing an online food ordering system involves several key components and
considerations. Here's a high-level overview of the project design:

1. System Architecture:
- Client-Side Application: This includes the user interface (UI) components
accessible to customers for browsing menus, placing orders, and taking
deliveries.
- Server-Side Application: This handles business logic, processing orders,
managing user accounts, and interfacing with databases.
- Database Management System (DBMS): Stores information such as user
accounts, menu items, orders, and transaction history.
2. User Interface (UI) Design:
- Homepage: Features a search bar, featured items, promotions, and links to
different sections of the website (e.g., menu, order tracking, account).
- Menu Page: Displays categories of food items, individual menu items with
descriptions, prices, and options for customization.
- Cart and Checkout: Allows users to review their selected items, customize
quantities, apply discounts or promotional codes, select delivery/pickup options,
and complete transactions securely.
- Order Tracking: Provides real-time updates on the status of orders, including
confirmation, preparation, out for delivery, and delivered/pickup ready.
- User Account Management: Enables users to create accounts, login/logout,
update profile information, view order history, save favorite items, and manage
preferences.
3. Backend Development:
- User Authentication: Implements secure authentication mechanisms (e.g., JWT
tokens) for user login and session management.
- Order Processing: Handles order placement, updating order status, generating
order confirmations, and sending notifications to users and restaurant staff.
- Menu Management: Supports CRUD (Create, Read, Update, Delete) operations
for managing menu items, categories, and prices.
- Payment Integration: Integrates with payment gateways (e.g., Stripe, PayPal)

13
for secure online transactions, including authorization, capture, and refund
functionalities.
- Order Management: Manages order queues, assigns orders to delivery drivers
(if applicable), and generates reports on order metrics and performance.
4. Database Design:
- User Database: Stores user account information, including usernames,
passwords (hashed), email addresses, delivery addresses, and order history.
- Menu Database: Contains information about menu items, including names,
descriptions, prices, categories, and availability status.
- Order Database: Tracks order details, such as order ID, customer ID, item IDs,
quantities, timestamps, delivery/pickup information, and status updates.
5. Integration and Testing:
- API Integration: Ensures seamless communication between the client-side
application, server-side application, and external services (e.g., payment
gateways).
- Testing: Conducts unit tests, integration tests, and end-to-end tests to verify the
functionality, reliability, and security of the system.
- Deployment: Deploys the system to a production environment, configuring
servers, databases, and network infrastructure for scalability, reliability, and
performance.
6. Maintenance and Support:
- Monitoring and Logging: Implements monitoring tools and logging
mechanisms to track system performance, detect errors, and troubleshoot issues.
- Updates and Upgrades: Regularly updates the system to incorporate new
features, address security vulnerabilities, and improve overall user experience.
- Customer Support: Provides ongoing support to users, addressing inquiries,
feedback, and technical issues promptly and effectively.

14
PROJECT PLANNING

Project Development Approach:


A software development model is a simplified description /abstract
representation of a software process which is presented from a particular
perspective. A development model for software engineering is chosen based on
the nature of the project and application, the methods and tools to be used, and
the controls and deliverables that are required.
All software development can be characterized as a problem solving loop
in which four distinct stages are encountered:
• Status quo
• Problem definition
• Technical development
• Solution integration
1) Status Quo represents the current state of affairs.
2) Problem Definition identifies the specific problem to be solved.
3) Technical Development solves the problem through the application of
some technology.
4) Solution Integration delivers the results (e.g. documents, programs, data,
and new product) to those who requested the solution in the first place.
There are many software development models. Model followed in this
project is Incremental.
Incremental model is an evolution of waterfall model. The product is
designed, implemented, integrated and tested as a series of incremental builds. It
is a popular model software evolution used many commercial software
companies and system vendor.
Incremental software development model may be applicable to projects where:
1) Software Requirements are well defined, but realization may be delayed.
2) The basic software functionality is required early.

15
Incremental Model:
The Incremental build model is a method of software development where
the model is designed, implemented and tested incrementally (a little more is
added each time) until the product is finished. It involves both development and
maintenance. The product is defined as finished when it satisfies all of its
requirements. This model combines the elements of the waterfall model with the
iterative philosophy of prototyping.
The product is decomposed into a number of components, each of which
are designed and built separately (termed as builds). Each component is
delivered to the client when it is complete. This allows partial utilization of
product and avoids a long development time. It also creates a large initial capital
outlay with the subsequent long wait avoided. This model of development also
helps ease the traumatic effect of introducing completely new system all at once.
The incremental model contains following phase:
System Analysis: It is first stage of process model. This provides primary
analysis of the system Requirement and data gathering. Its process of gathering
data to understand the nature of software. The engineer must understanding the
information domain for software as well as required function behavior
performance and interface.
System Design: As per analysis of system will be designed. It includes designing
of template of website. Software design is multi step process that focus is on four
attribute of the programmer attribute, Data structure, Software architecture,
Interface representation Process design translate requirement into graphical

16
represent four coding of software.
System Coding: Design of system is implemented in this phase. The system
design translates into computer untestable language into this step. This step is
also knows as programing step.
System Testing: After coding each module is tested using different methods.
After the coding of the system all statement have been tested in this step. The
goal of testing to UN curves the requirement design and coding error.

Risk Management:

Risk Identification:
During the analysis of our whole application, we discovered some of the
risks that could affect this website while developing and also while using. These
are those risks:
a. Technological Risk
b. Economical Risk
c. Political Risk

Risk Analysis:
Here is the description of how the above mentioned risks were to affect
this application:
a. Technological Risk: First of all, this application requires web browser
that supports JavaScript and flash. The most common problems are low
processor configuration, low buffer memory, low speed etc...
b. Economical Risk: This project is intranet application there is no extra
economic changes are there. This project is totally cheapest.
c. Political Risk: There are many political risks such as wrong information
about any place in city, images that are not permitted to show, also
permit of all private organization which information 1 includes in our
intranet application. During the risk analysis process, each identified risk
is considered in turn and a judgment made about the probability and the
seriousness of the risk. It relies on the judgment and experience of the
project manager.

17
Risk Probability Effects
Financial Problem Low Catastrophic
S/W component which should be reused contain Moderate Serious
defects
Changes to requirements which require major Moderate Serious
design
Required training for staff is not available Moderate Serious
The rate of defect repair is underestimated Moderate Tolerable
The time required to develop the S/W is High Serious
underestimated

Risk Planning:
Here is how we deal with all the above said risks:
i. Technological Risk: To avoid this risk, I planned that use
JavaScript whenever it must be required and avoiding use of
flash.
ii. Economical Risk: There is no need to solve economical risk.
Because there is no problem about economical problem.
iii. Political Risk: Permitting of the organization to display or
advertisement information is solves this problem. The risk which
might be uncounted after setting up the server is Shown in the
table below. All the applications have different internal and
external risks. Internal risks basically comprise with hardware
failure, server down, power interruption for which the solution is
specified. External risks are associated with the application like
virus, hacking and the corruption of files. The solution is
mentioned in the table below, which is again not much difficult to
handle if proper risk planning is done.

Sr.No. Risk Type Probability Impact of Risk Solution


1 H/W failure Internal Low Serious Backup
2 Server Down Internal High Serious Mirror site

18
3 Power Internal Low Low UPS
Interruption
4 Virus External High Serious Antivirus
5 Hacking External Low Moderate Firewall
6 File Corruption External Moderate Serious Backup

Risk Transfer:
Risk transfer means causing another party to accept the risk, typically by
contract or by hedging. Insurance is one type of risk transfer that uses contracts.
Other times it may involve contract language that transfers a risk to another party
without the payment of an insurance premium. Liability among construction or
other contractors is very often transferred this way. On the other hand, taking
offsetting positions in derivatives is typically how firms use hedging to
financially manage risk.
Some ways of managing risk fall into multiple categories. Risk retention
pools are technically retaining the risk for the group, but spreading it over the
whole group involves transfer among individual members of the group. This is
different from traditional insurance, in that no premium is exchanged between
members of the group up front, but instead losses are assessed to all members of
the group.
The planning by which the risks cannot occur is:
➢ Interact with all branches.
➢ Authorize carefully and creating new safe security system for that.
➢ Make new security for natural threats.

19
SOFTWARE REQUIREMENTS

Hardware Feasibility
❖ Processor: 1.8 GHz to 2.2 GHz
❖ RAM: Minimum 1 GB RAM or above
❖ Storage: Minimum 500 MB or above
Software Feasibility
❖ Front End: XML
❖ Back End: PHP
❖ Tool: XAMMP, Visual studio code
❖ Database: MySQL

➢ User Interface:
o GUI is provided by the software which is self-explanatory.
o User friendly forms, menus and options are contained by the
software.
o Designing of the product have to be studied by the developer.
Software gives warnings with necessary assistance to the clients.

➢ Performance Requirements:
o Good memory space is required. Should be Error-free.
o Large amount of data should be handled easily.

➢ Safety Requirement:
o Backups can be done regularly.
o End user, who have their own username and password, have only
the right to open the software

20
FEATURES OF THE PROJECT

The features of a food ordering system can vary depending on the specific
requirements of the project and the target audience. However, here is a list of common
features that are typically included in a food ordering system:

1. User Registration and Authentication:


• Allow users to create accounts or sign in using email, social media, or
phone number authentication.
• Enable password recovery and account management functionalities.

2. Browse Menus:
• Display restaurant menus with categories, item descriptions, prices, and
images.
• Facilitate easy navigation and search functionality for users to find
specific dishes or cuisines.

3. Order Placement:
• Provide intuitive interfaces for users to add items to their cart, customize
orders (e.g., toppings, quantities), and proceed to checkout.
• Support multiple payment options, including credit/debit cards, digital
wallets, and cash on delivery.

4. Order Tracking:
• Enable real-time order tracking, allowing users to monitor the status of
their orders from preparation to delivery or pickup.
• Provide notifications and updates on order progress, estimated delivery
times, and delivery personnel details.

5. User Profiles and Preferences:


• Allow users to create and manage profiles with personal information,
delivery addresses, and payment methods.
• Enable users to save favorite items, customize preferences, and view
order history for quick reordering.

21
6. Restaurant Management:
• Provide an interface for restaurant owners or administrators to manage
menu items, prices, availability, and promotions.
• Allow restaurants to set business hours, delivery zones, and minimum
order requirements.

7. Delivery Management:
• Integrate with third-party delivery services or provide in-house delivery
management tools for restaurants.
• Optimize delivery routes, assign orders to delivery personnel, and track
delivery status in real-time.

8. Feedback and Ratings:


• Enable users to leave reviews, ratings, and feedback on restaurants,
dishes, and overall ordering experience.
• Provide mechanisms for restaurants to respond to feedback and address
customer concerns.

9. Promotions and Discounts:


• Offer promotional discounts, coupons, and loyalty programs to
incentivize users and drive sales.
• Implement promotional banners, pop-ups, and notifications to inform
users of ongoing offers and deals.

10. Analytics and Reporting:


• Provide analytics dashboards and reports for restaurants to track sales
performance, customer behavior, and order trends.
• Generate insights to optimize menu offerings, pricing strategies, and
marketing campaigns.

11. Multi-platform Support:


• Develop web-based and mobile applications for seamless access across
desktops, tablets, and smartphones.
22
• Ensure cross-platform compatibility and responsive design to deliver
consistent user experiences.

12. Customer Support:


• Offer customer support channels such as live chat, email, or phone
support for assistance with orders, inquiries, or technical issues.
• Provide self-service resources such as FAQs, tutorials, and
troubleshooting guides to address common questions.

23
ADVANTAGE AND DISADVANTAGE ADVANTAGE

Advantage:

1. Convenience: Customers can browse menus, place orders, and arrange


delivery or pickup from the comfort of their homes or workplaces,
eliminating the need for physical visits to restaurants.
2. Expanded Choices: Online food ordering systems offer access to a wide
range of restaurants and cuisines beyond one's immediate vicinity, providing
diverse options to suit varying tastes and preferences.
3. Time-saving: Ordering food online saves time compared to traditional
methods, as users can quickly browse menus, place orders, and make
payments without waiting on hold or queuing in restaurants.
4. Order Customization: Customers can customize their orders according to
their preferences, such as selecting toppings, specifying cooking instructions,
or indicating allergies, enhancing the overall dining experience.
5. Order Tracking: Many online food ordering systems provide order tracking
features, allowing customers to monitor the status of their orders in real-time,
from preparation to delivery or pickup, providing transparency and peace of
mind.
6. Promotions and Discounts: Online platforms often offer promotional
discounts, coupons, and loyalty programs, providing incentives for customers
and driving sales for restaurants.
7. Feedback and Reviews: Customers can leave feedback and reviews on their
ordering experience, helping restaurants improve their service quality and
maintain customer satisfaction levels.
8. Operational Efficiency: For restaurants, online food ordering systems
streamline order processing, reduce manual errors, and optimize resource
utilization, improving operational efficiency and reducing overhead costs.
9. Data Insights: These systems generate valuable data on customer
preferences, ordering patterns, and sales trends, enabling restaurants to make
data-driven decisions regarding menu offerings, pricing strategies, and
marketing campaigns.
10. Adaptability: Online food ordering systems can adapt to changing market

24
dynamics, technological advancements, and consumer preferences, providing
restaurants with flexibility and agility to stay competitive in the industry.

Disadvantage:

1. Technical Issues: Online food ordering systems may encounter technical


issues such as website crashes, slow loading times, or payment processing
errors, leading to frustration and dissatisfaction among users.
2. Dependence on Internet Connectivity: Users require stable internet
connectivity to access online food ordering platforms, limiting accessibility
in areas with poor network coverage or during internet outages.
3. Delivery Delays: Delivery times may vary depending on factors such as
order volume, traffic conditions, and weather, leading to potential delays in
food delivery and customer dissatisfaction.
4. Quality Concerns: There may be concerns regarding the quality and
freshness of food during the delivery process, especially for delicate or
perishable items, which can impact the overall dining experience.
5. Privacy and Security Risks Online transactions involve sharing personal and
financial information, raising concerns about data privacy and security
breaches, such as unauthorized access to user accounts or payment details.
6. Service Fees: Some online food ordering platforms charge service fees or
commissions to restaurants for using their services, which can increase
operational costs and potentially impact menu prices for customers.
7. Lack of Personal Interaction: Online ordering eliminates the personal
interaction between customers and restaurant staff, which may be preferred
by some individuals for a more personalized and engaging dining experience.
8. Environmental Impact: Increased reliance on food delivery services can
contribute to environmental concerns such as packaging waste, carbon
emissions from delivery vehicles, and reliance on single-use plastics.
9. Competition and Market Saturation: The proliferation of online food
ordering platforms has led to increased competition and market saturation,
making it challenging for restaurants to stand out and attract customers in

25
crowded marketplaces.
10. Limited Accessibility: Not all restaurants may have the resources or
infrastructure to adopt online food ordering systems, limiting accessibility
for users who prefer to order from specific establishments that do not offer
online ordering options.

26
TESTING

Security Testing of the Project:


Testing is vital for the success of any software. No system design is ever perfect.
Testing is also carried in two phases. First phase is during the software engineering that
is during the module creation. Second phase is after the completion of software. This is
system testing which verifies that the whole set of programs hanged together.

White Box Testing:


In this technique, the close examinations of the logical parts through the software
are tested by cases that exercise species sets of conditions or loops. All logical parts of
the software checked once. Errors that can be corrected using this technique are
typographical errors, logical expressions which should be executed once may be getting
executed more than once and error resulting by using wrong controls and loops. When
the box testing tests all the independent part within a module a logical decision on their
true and the false side are exercised, all loops and bounds within their operational
bounds were exercised and internal data structure to ensure their validity were exercised
once.

Black Box Testing:


This method enables the software engineer to device sets of input techniques that
fully exercise all functional requirements for a program. Black box testing tests the
input, the output and the external data. It checks whether the input data is correct and
whether we are getting the desired output.

Alpha Testing:
Acceptance testing is also sometimes called alpha testing. Be spoke systems are
developed for a single customer. The alpha testing proceeds until the system developer
and the customer agree that the provided system is an acceptable implementation of the
system requirements.

27
Beta Testing:
On the other hand, when a system is to be marked as a software product, another
process called beta testing is often conducted. During beta testing, a system is delivered
among a number of potential users who agree to use it. The customers then report
problems to the developers. This provides the product for real use and detects errors
which may not have been anticipated by the system developers.

Unit Testing:
Unit testing is about testing each unit/part of the application independently.
Different fragments and activities in this android application are tested for its
functionality during this phase. Each module is considered independently. It focuses on
each unit of software as implemented in the source code. It is white box testing. The
following unit test cases are run manually on Realme 5 Pro for its correctness.

Integration Testing:
Integration testing aims at constructing the program structure while at the same
constructing tests to uncover errors associated with interfacing the modules. Modules
are integrated by using the top-down approach.
After unit testing each module individually, the code is tested for inter module
navigation. Below are the test cases which test the interaction between different
activities and fragments in the project.

Validation Testing:
Validation testing was performed to ensure that all the functional and performance
requirements are met.

System Testing:
It is executing programs to check logical changes made in it with intention of
finding errors. A system is tested for online response, volume of transaction, recovery
from failure etc. System testing is done to ensure that the system satisfies all the user
requirements.

28
DRAWING

Main Use Case Diagram:

29
Data Flow Diagram:

30
CODING

Home Page:

<?php

include 'components/connect.php';

session_start();

if(isset($_SESSION['user_id'])){
$user_id = $_SESSION['user_id'];
}else{
$user_id = '';
};

include 'components/add_cart.php';

?>

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-
scale=1.0">
<title>home</title>

<link rel="stylesheet" href="https://unpkg.com/swiper@8/swiper-


bundle.min.css" />

<!-- font awesome cdn link -->


<link rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/font-
awesome/6.1.1/css/all.min.css">

<!-- custom css file link -->


<link rel="stylesheet" href="css/style.css">

</head>
<body>

<?php include 'components/user_header.php'; ?>

31
<section class="hero">

<div class="swiper hero-slider">

<div class="swiper-wrapper">

<div class="swiper-slide slide">


<div class="content">
<span>order online</span>
<h3>delicious pizza</h3>
<a href="menu.php" class="btn">see menus</a>
</div>
<div class="image">
<img src="images/home-img-1.png" alt="">
</div>
</div>

<div class="swiper-slide slide">


<div class="content">
<span>order online</span>
<h3>chezzy hamburger</h3>
<a href="menu.php" class="btn">see menus</a>
</div>
<div class="image">
<img src="images/home-img-2.png" alt="">
</div>
</div>

<div class="swiper-slide slide">


<div class="content">
<span>order online</span>
<h3>rosted chicken</h3>
<a href="menu.php" class="btn">see menus</a>
</div>
<div class="image">
<img src="images/home-img-3.png" alt="">
</div>
</div>

</div>

<div class="swiper-pagination"></div>

</div>

</section>

<section class="category">

32
<h1 class="title">food category</h1>

<div class="box-container">

<a href="category.php?category=fast food" class="box">


<img src="images/cat-1.png" alt="">
<h3>fast food</h3>
</a>

<a href="category.php?category=main dish" class="box">


<img src="images/cat-2.png" alt="">
<h3>main dishes</h3>
</a>

<a href="category.php?category=drinks" class="box">


<img src="images/cat-3.png" alt="">
<h3>drinks</h3>
</a>

<a href="category.php?category=desserts" class="box">


<img src="images/cat-4.png" alt="">
<h3>desserts</h3>
</a>

</div>

</section>

<section class="products">

<h1 class="title">latest dishes</h1>

<div class="box-container">

<?php
$select_products = $conn->prepare("SELECT * FROM
`products` LIMIT 6");
$select_products->execute();
if($select_products->rowCount() > 0){
while($fetch_products = $select_products-
>fetch(PDO::FETCH_ASSOC)){
?>
<form action="" method="post" class="box">
<input type="hidden" name="pid" value="<?=
$fetch_products['id']; ?>">
<input type="hidden" name="name" value="<?=
$fetch_products['name']; ?>">

33
<input type="hidden" name="price" value="<?=
$fetch_products['price']; ?>">
<input type="hidden" name="image" value="<?=
$fetch_products['image']; ?>">
<a href="quick_view.php?pid=<?= $fetch_products['id']; ?>"
class="fas fa-eye"></a>
<button type="submit" class="fas fa-shopping-cart"
name="add_to_cart"></button>
<img src="uploaded_img/<?= $fetch_products['image']; ?>"
alt="">
<a href="category.php?category=<?=
$fetch_products['category']; ?>" class="cat"><?=
$fetch_products['category']; ?></a>
<div class="name"><?= $fetch_products['name']; ?></div>
<div class="flex">
<div class="price"><span>&#8377;</span><?=
$fetch_products['price']; ?></div>
<input type="number" name="qty" class="qty" min="1"
max="99" value="1" maxlength="2">
</div>
</form>
<?php
}
}else{
echo '<p class="empty">no products added yet!</p>';
}
?>

</div>

<div class="more-btn">
<a href="menu.php" class="btn">veiw all</a>
</div>

</section>

<?php include 'components/footer.php'; ?>

<script src="https://unpkg.com/swiper@8/swiper-
bundle.min.js"></script>

<!-- custom js file link -->


<script src="js/script.js"></script>

<script>

34
var swiper = new Swiper(".hero-slider", {
loop:true,
grabCursor: true,
effect: "flip",
pagination: {
el: ".swiper-pagination",
clickable:true,
},
});

</script>

</body>
</html>

Registration Page:

<?php

include 'components/connect.php';

session_start();

if(isset($_SESSION['user_id'])){
$user_id = $_SESSION['user_id'];
}else{
$user_id = '';
};

if(isset($_POST['submit'])){

$name = $_POST['name'];
$name = filter_var($name, FILTER_SANITIZE_STRING);
$email = $_POST['email'];
$email = filter_var($email, FILTER_SANITIZE_STRING);
$number = $_POST['number'];
$number = filter_var($number, FILTER_SANITIZE_STRING);
$pass = sha1($_POST['pass']);
$pass = filter_var($pass, FILTER_SANITIZE_STRING);
$cpass = sha1($_POST['cpass']);
$cpass = filter_var($cpass, FILTER_SANITIZE_STRING);

$select_user = $conn->prepare("SELECT * FROM `users` WHERE email


= ? OR number = ?");
$select_user->execute([$email, $number]);
$row = $select_user->fetch(PDO::FETCH_ASSOC);
35
if($select_user->rowCount() > 0){
$message[] = 'email or number already exists!';
}else{
if($pass != $cpass){
$message[] = 'confirm password not matched!';
}else{
$insert_user = $conn->prepare("INSERT INTO `users`(name,
email, number, password) VALUES(?,?,?,?)");
$insert_user->execute([$name, $email, $number, $cpass]);
$select_user = $conn->prepare("SELECT * FROM `users` WHERE
email = ? AND password = ?");
$select_user->execute([$email, $pass]);
$row = $select_user->fetch(PDO::FETCH_ASSOC);
if($select_user->rowCount() > 0){
$_SESSION['user_id'] = $row['id'];
header('location:home.php');
}
}
}

?>

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-
scale=1.0">
<title>register</title>

<!-- font awesome cdn link -->


<link rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/font-
awesome/6.1.1/css/all.min.css">

<!-- custom css file link -->


<link rel="stylesheet" href="css/style.css">

</head>
<body>

<!-- header section starts -->


<?php include 'components/user_header.php'; ?>
<!-- header section ends -->

36
<section class="form-container">

<form action="" method="post">


<h3>register now</h3>
<input type="text" name="name" required placeholder="enter
your name" class="box" maxlength="50">
<input type="email" name="email" required placeholder="enter
your email" class="box" maxlength="50" oninput="this.value =
this.value.replace(/\s/g, '')">
<input type="number" name="number" required
placeholder="enter your number" class="box" min="0"
max="9999999999" maxlength="10">
<input type="password" name="pass" required
placeholder="enter your password" class="box" maxlength="50"
oninput="this.value = this.value.replace(/\s/g, '')">
<input type="password" name="cpass" required
placeholder="confirm your password" class="box" maxlength="50"
oninput="this.value = this.value.replace(/\s/g, '')">
<input type="submit" value="register now" name="submit"
class="btn">
<p>already have an account? <a href="login.php">login
now</a></p>
</form>

</section>

<?php include 'components/footer.php'; ?>

<!-- custom js file link -->


<script src="js/script.js"></script>

</body>
</html>

Login Page:

<?php

include 'components/connect.php';

session_start();

if(isset($_SESSION['user_id'])){
$user_id = $_SESSION['user_id'];
}else{
$user_id = '';

37
};

if(isset($_POST['submit'])){

$email = $_POST['email'];
$email = filter_var($email, FILTER_SANITIZE_STRING);
$pass = sha1($_POST['pass']);
$pass = filter_var($pass, FILTER_SANITIZE_STRING);

$select_user = $conn->prepare("SELECT * FROM `users` WHERE email


= ? AND password = ?");
$select_user->execute([$email, $pass]);
$row = $select_user->fetch(PDO::FETCH_ASSOC);

if($select_user->rowCount() > 0){


$_SESSION['user_id'] = $row['id'];
header('location:home.php');
}else{
$message[] = 'incorrect username or password!';
}

?>

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-
scale=1.0">
<title>login</title>

<!-- font awesome cdn link -->


<link rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/font-
awesome/6.1.1/css/all.min.css">

<!-- custom css file link -->


<link rel="stylesheet" href="css/style.css">

</head>
<body>

<!-- header section starts -->


<?php include 'components/user_header.php'; ?>
<!-- header section ends -->

38
<section class="form-container">

<form action="" method="post">


<h3>login now</h3>
<input type="email" name="email" required placeholder="enter
your email" class="box" maxlength="50" oninput="this.value =
this.value.replace(/\s/g, '')">
<input type="password" name="pass" required
placeholder="enter your password" class="box" maxlength="50"
oninput="this.value = this.value.replace(/\s/g, '')">
<input type="submit" value="login now" name="submit"
class="btn">
<p>don't have an account? <a href="register.php">register
now</a></p>
</form>

</section>

<?php include 'components/footer.php'; ?>

<!-- custom js file link -->


<script src="js/script.js"></script>

</body>
</html>

About Page:

<?php

include 'components/connect.php';

session_start();

if(isset($_SESSION['user_id'])){
$user_id = $_SESSION['user_id'];
}else{
$user_id = '';
};

?>

<!DOCTYPE html>
<html lang="en">
39
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-
scale=1.0">
<title>about</title>

<link rel="stylesheet" href="https://unpkg.com/swiper@8/swiper-


bundle.min.css" />

<!-- font awesome cdn link -->


<link rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/font-
awesome/6.1.1/css/all.min.css">

<!-- custom css file link -->


<link rel="stylesheet" href="css/style.css">

</head>
<body>

<!-- header section starts -->


<?php include 'components/user_header.php'; ?>
<!-- header section ends -->

<div class="heading">
<h3>about us</h3>
<p><a href="home.php">home</a> <span> / about</span></p>
</div>

<!-- about section starts -->

<section class="about">

<div class="row">

<div class="image">
<img src="images/about-img.svg" alt="">
</div>

<div class="content">
<h3>why choose us?</h3>
<p>At our location in Chatrapati Sambhajinagar
(Aurangabad) or online, you will find the best dishes you didn't
know you craved: Delicious Pizza, Cheezy Hamburger, Roasted Chicken
like your mama makes, and many more. Forget about the daily stress
and come relax with us. After tasting any of our menu items, you
will never want to leave!"!</p>
<a href="menu.html" class="btn">our menu</a>
40
</div>

</div>

</section>

<!-- about section ends -->

<!-- steps section starts -->

<section class="steps">

<h1 class="title">simple steps</h1>

<div class="box-container">

<div class="box">
<img src="images/step-1.png" alt="">
<h3>choose order</h3>

</div>

<div class="box">
<img src="images/step-2.png" alt="">
<h3>fast delivery</h3>

</div>

<div class="box">
<img src="images/step-3.png" alt="">
<h3>enjoy food</h3>

</div>

</div>

</section>

<!-- steps section ends -->

<!-- reviews section starts -->

<section class="reviews">

<h1 class="title">customer's reivews</h1>

<div class="swiper reviews-slider">

<div class="swiper-wrapper">
41
<div class="swiper-slide slide">
<img src="images/pic-1.png" alt="">
<p>I like the roasted chicken its just crispy and
delicious.</p>
<div class="stars">
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="fas fa-star-half-alt"></i>
</div>
<h3>Kartik Nikam</h3>
</div>

<div class="swiper-slide slide">


<img src="images/pic-2.png" alt="">
<p>The Food was delicious and location also!</p>
<div class="stars">
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="fas fa-star-half-alt"></i>
</div>
<h3>Rupali Patil</h3>
</div>

<div class="swiper-slide slide">


<img src="images/pic-3.png" alt="">
<p>Pizza was awesome! I like it more.</p>
<div class="stars">
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="fas fa-star-half-alt"></i>
</div>
<h3>Gokul Shinde</h3>
</div>

<div class="swiper-slide slide">


<img src="images/pic-4.png" alt="">
<p>Awesome food!</p>
<div class="stars">
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
42
<i class="fas fa-star-half-alt"></i>
</div>
<h3>Tanvi</h3>
</div>

<div class="swiper-slide slide">


<img src="images/pic-5.png" alt="">
<p>Awesome location and food also and just near from
the city.</p>
<div class="stars">
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="fas fa-star-half-alt"></i>
</div>
<h3>Krushna Jadhav</h3>
</div>

<div class="swiper-slide slide">


<img src="images/pic-6.png" alt="">
<p>Nice!</p>
<div class="stars">
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="fas fa-star-half-alt"></i>
</div>
<h3>Rutuja Nikam</h3>
</div>

</div>

<div class="swiper-pagination"></div>

</div>

</section>

<!-- reviews section ends -->

<!-- footer section starts -->


<?php include 'components/footer.php'; ?>
<!-- footer section ends -->=

43
<script src="https://unpkg.com/swiper@8/swiper-
bundle.min.js"></script>

<!-- custom js file link -->


<script src="js/script.js"></script>

<script>

var swiper = new Swiper(".reviews-slider", {


loop:true,
grabCursor: true,
spaceBetween: 20,
pagination: {
el: ".swiper-pagination",
clickable:true,
},
breakpoints: {
0: {
slidesPerView: 1,
},
700: {
slidesPerView: 2,
},
1024: {
slidesPerView: 3,
},
},
});

</script>

</body>
</html>

Menu Page:

<?php

include 'components/connect.php';

session_start();

44
if(isset($_SESSION['user_id'])){
$user_id = $_SESSION['user_id'];
}else{
$user_id = '';
};

include 'components/add_cart.php';

?>

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-
scale=1.0">
<title>menu</title>

<!-- font awesome cdn link -->


<link rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/font-
awesome/6.1.1/css/all.min.css">

<!-- custom css file link -->


<link rel="stylesheet" href="css/style.css">

</head>
<body>

<!-- header section starts -->


<?php include 'components/user_header.php'; ?>
<!-- header section ends -->

<div class="heading">
<h3>our menu</h3>
<p><a href="home.php">home</a> <span> / menu</span></p>
</div>

<!-- menu section starts -->

<section class="products">

<h1 class="title">latest dishes</h1>

<div class="box-container">

<?php

45
$select_products = $conn->prepare("SELECT * FROM
`products`");
$select_products->execute();
if($select_products->rowCount() > 0){
while($fetch_products = $select_products-
>fetch(PDO::FETCH_ASSOC)){
?>
<form action="" method="post" class="box">
<input type="hidden" name="pid" value="<?=
$fetch_products['id']; ?>">
<input type="hidden" name="name" value="<?=
$fetch_products['name']; ?>">
<input type="hidden" name="price" value="<?=
$fetch_products['price']; ?>">
<input type="hidden" name="image" value="<?=
$fetch_products['image']; ?>">
<a href="quick_view.php?pid=<?= $fetch_products['id']; ?>"
class="fas fa-eye"></a>
<button type="submit" class="fas fa-shopping-cart"
name="add_to_cart"></button>
<img src="uploaded_img/<?= $fetch_products['image']; ?>"
alt="">
<a href="category.php?category=<?=
$fetch_products['category']; ?>" class="cat"><?=
$fetch_products['category']; ?></a>
<div class="name"><?= $fetch_products['name']; ?></div>
<div class="flex">
<div class="price"><span>&#8377;</span><?=
$fetch_products['price']; ?></div>
<input type="number" name="qty" class="qty" min="1"
max="99" value="1" maxlength="2"">
</div>
</form>
<?php
}
}else{
echo '<p class="empty">no products added yet!</p>';
}
?>

</div>

</section>

<!-- menu section ends -->

46
<!-- footer section starts -->
<?php include 'components/footer.php'; ?>
<!-- footer section ends -->

<!-- custom js file link -->


<script src="js/script.js"></script>

</body>
</html>

Order Page:

<?php

include 'components/connect.php';

session_start();

if(isset($_SESSION['user_id'])){
$user_id = $_SESSION['user_id'];
}else{
$user_id = '';
header('location:home.php');
};

?>

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-
scale=1.0">
<title>orders</title>

<!-- font awesome cdn link -->


<link rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/font-
awesome/6.1.1/css/all.min.css">

<!-- custom css file link -->


<link rel="stylesheet" href="css/style.css">

</head>
<body>
47
<!-- header section starts -->
<?php include 'components/user_header.php'; ?>
<!-- header section ends -->

<div class="heading">
<h3>orders</h3>
<p><a href="html.php">home</a> <span> / orders</span></p>
</div>

<section class="orders">

<h1 class="title">your orders</h1>

<div class="box-container">

<?php
if($user_id == ''){
echo '<p class="empty">please login to see your
orders</p>';
}else{
$select_orders = $conn->prepare("SELECT * FROM `orders`
WHERE user_id = ?");
$select_orders->execute([$user_id]);
if($select_orders->rowCount() > 0){
while($fetch_orders = $select_orders-
>fetch(PDO::FETCH_ASSOC)){
?>
<div class="box">
<p>placed on : <span><?= $fetch_orders['placed_on'];
?></span></p>
<p>name : <span><?= $fetch_orders['name']; ?></span></p>
<p>email : <span><?= $fetch_orders['email']; ?></span></p>
<p>number : <span><?= $fetch_orders['number']; ?></span></p>
<p>address : <span><?= $fetch_orders['address'];
?></span></p>
<p>payment method : <span><?= $fetch_orders['method'];
?></span></p>
<p>your orders : <span><?= $fetch_orders['total_products'];
?></span></p>
<p>total price : <span>&#8377;<?=
$fetch_orders['total_price']; ?>/-</span></p>
<p> payment status : <span style="color:<?php
if($fetch_orders['payment_status'] == 'pending'){ echo 'red';
}else{ echo 'green'; }; ?>"><?= $fetch_orders['payment_status'];
?></span> </p>
</div>
<?php
}
48
}else{
echo '<p class="empty">no orders placed yet!</p>';
}
}
?>

</div>

</section>

<!-- footer section starts -->


<?php include 'components/footer.php'; ?>
<!-- footer section ends -->

<!-- custom js file link -->


<script src="js/script.js"></script>

</body>
</html>
Contact Page:

<?php

include 'components/connect.php';

session_start();

if(isset($_SESSION['user_id'])){
$user_id = $_SESSION['user_id'];
}else{
$user_id = '';
};

if(isset($_POST['send'])){

$name = $_POST['name'];
$name = filter_var($name, FILTER_SANITIZE_STRING);
$email = $_POST['email'];
$email = filter_var($email, FILTER_SANITIZE_STRING);
$number = $_POST['number'];
$number = filter_var($number, FILTER_SANITIZE_STRING);
$msg = $_POST['msg'];
$msg = filter_var($msg, FILTER_SANITIZE_STRING);

$select_message = $conn->prepare("SELECT * FROM `messages` WHERE


name = ? AND email = ? AND number = ? AND message = ?");

49
$select_message->execute([$name, $email, $number, $msg]);

if($select_message->rowCount() > 0){


$message[] = 'already sent message!';
}else{

$insert_message = $conn->prepare("INSERT INTO


`messages`(user_id, name, email, number, message)
VALUES(?,?,?,?,?)");
$insert_message->execute([$user_id, $name, $email, $number,
$msg]);

$message[] = 'sent message successfully!';

?>

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-
scale=1.0">
<title>contact</title>

<!-- font awesome cdn link -->


<link rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/font-
awesome/6.1.1/css/all.min.css">

<!-- custom css file link -->


<link rel="stylesheet" href="css/style.css">

</head>
<body>

<!-- header section starts -->


<?php include 'components/user_header.php'; ?>
<!-- header section ends -->

<div class="heading">
<h3>contact us</h3>
<p><a href="home.php">home</a> <span> / contact</span></p>
</div>

50
<!-- contact section starts -->

<section class="contact">

<div class="row">

<div class="image">
<img src="images/contact-img.svg" alt="">
</div>

<form action="" method="post">


<h3>tell us something!</h3>
<input type="text" name="name" maxlength="50" class="box"
placeholder="enter your name" required>
<input type="number" name="number" min="0"
max="9999999999" class="box" placeholder="enter your number"
required maxlength="10">
<input type="email" name="email" maxlength="50"
class="box" placeholder="enter your email" required>
<textarea name="msg" class="box" required
placeholder="enter your message" maxlength="500" cols="30"
rows="10"></textarea>
<input type="submit" value="send message" name="send"
class="btn">
</form>

</div>

</section>

<!-- contact section ends -->

<!-- footer section starts -->


<?php include 'components/footer.php'; ?>
<!-- footer section ends -->

<!-- custom js file link -->


<script src="js/script.js"></script>

</body>
</html>

51
CONCLUSION

In conclusion, the development and implementation of an online food ordering system


represent a significant advancement in the food service industry. Through this
documentation, we have explored the various components, functionalities, and benefits
of such a system.
The online food ordering system offers convenience, efficiency, and accessibility to
both customers and restaurants. It streamlines the ordering process, reduces wait times,
minimizes errors, and expands the reach of restaurants to a wider audience.
Furthermore, the system enables personalized experiences through features such as
customized recommendations and feedback mechanisms, enhancing user satisfaction
and engagement.
While the system presents numerous advantages, it also comes with challenges such as
technical issues, delivery logistics, and competition among online platforms. However,
these challenges can be effectively addressed through continuous improvement,
innovation, and adherence to quality standards.
Overall, the online food ordering system represents a pivotal tool for modernizing the
food service industry, meeting the evolving needs and preferences of consumers, and
driving business growth. As technology continues to advance, the opportunities for
further enhancement and innovation in this domain are abundant, promising a future of
even greater convenience and efficiency in food ordering and delivery processes.

52
REFERENCE

• Google for problem solving.


• https://www.w3schools.com/
• https://www.tutorialspoint.com
• https://www.stackoverflow.com

53

You might also like