Moses Project
Moses Project
INTRODUCTION
automate day to day activity of a restaurant. Restaurant is a kind of business that serves people
all over the world with ready-made food. Services to be provided include ordering of food and
management, menu information management and reporting are some menu of the system.
The restaurant menu is divided into categories such as appetizers, soups, salads, and
drinks. The main goal of the system is to provide online ordering and reservation services. Each
menu item has a name, price, and recipe. To place an order, customers must first create an
account and become a member. This helps to reduce the risk of fake bookings (Yung-Fu, 2012).
The system also facilitates online ordering and reservations, making it more convenient for
customers.
used to manage the restaurant business. After successful login, the customer can access the
menu page with the items listed according to the desired time. The main point of developing
this system is to help restaurant administrator manage the restaurant business and help customer
i. Record taken in restaurants today are manually done using paper and pen.
iii. Most of the management activities of the restaurants are manually done and are
inefficient.
1
1.3 Aim and objectives of the study
The aim of this study is to design and implement an Online Restaurant Management
i. To analyze existing systems by reviewing recent literature, carrying out surveys and
interviews of restaurants owners.
ii. To perform requirement analysis of the proposed system.
iii. To design a Computerized Restaurant Management System using PHP & MySQL.
iv. To implement the System using Laragon Wampp Server (which includes PHP and
MySQL).
v. To evaluate the system by giving required input to test its performance.
1.4 Significance of the Study
towards improving the efficiency and effectiveness of restaurant operations. This study
holds value for several stakeholders, including restaurant owners, staff, and customers,
For restaurant owners, the system provides a comprehensive platform to manage day-
to-day operations, including menu updates, order tracking, inventory management, and
critical business data, enabling owners to make informed choices that improve
For customers, the system enhances the dining experience by introducing features such
as online reservations, digital menu browsing, and quick order placement. These
conveniences reduce waiting times, improve service accuracy, and provide a more
From a broader perspective, the study demonstrates how technology, specifically PHP
and MySQL, can be applied to create scalable and efficient solutions for the foodservice
2
industry. It highlights the importance of adopting digital tools in enhancing operational
market.
i. The limitation of this work includes erratic power supply both in school and home
ii. The programming aspect of this, posed a lot of problematic bases that took me some
days to debug
day to day activity of a restaurant. Restaurant is a kind of business that serves people all over
world with ready-made food. This system is developed to provide service facility to restaurant
and also to the customer. This restaurant management system can be used by employees in a
restaurant to handle the clients, their orders and can help them easily find free tables or place
orders.
Administrator: Administrator or manager is the person who will manage the entire system.
He is allowed to reassign the cook according to his priority; he can edit the menu information
Customer: This user will register to be a member to use the online system of this online
restaurant management system. This online ordering divided into two type of customer; it is
3
Dine in ordering: Dine in ordering, customer will view menu, make online ordering and make
a reservation table. This system allows customer to place an order or allow him to cancel the
book order.
Take away ordering: In takeaway ordering, customer can view menu and online ordering
Record: Is the collection of information or data for evidence purpose which can easily be
Management: This is the process of getting activities completed efficiently with and through
other people.
This section provides an overview of the structure of the project document. It outlines
Chapter One: Introduction - This chapter introduces the study, providing background
information, problem definition, research justification, and outlining the scope, limitations, and
Chapter Two: Literature Review - This chapter reviews relevant literature, including
previous research on health and fitness tracking technologies, wearable devices, data
Chapter Three: System Analysis and Design Methodology- This chapter details the system
requirements, design methodology, and architectural framework of the proposed Health and
4
Chapter Four: System Implementation and Result - This chapter describes the
implementation of the system, including the coding, integration, and testing phases. It also
Chapter Five: Summary and Conclusion - This chapter provides an analysis of the findings,
discusses the implications of the study, and offers recommendations for future research. It also
5
CHAPTER TWO
LITERATURE REVIEW
Current economic conditions have had a dramatic, negative financial impact on the
hospitality industry (Brandau, 2011). Consumer behavior patterns have been changed for
multiple reasons, including high levels of unemployment, a deep recession, and overall fear of
what the future holds. Hoteliers and restaurateurs will need to look at various strategic vehicles
to build and regain customers. The face of innovation in technology is continually changing.
The hotel and restaurant industry needs to take a proactive stance in implementing
technological advances, while continually striving to build levels of service quality and guest
loyalty. A 2004 study conducted by the National Restaurant Association stated that 70% of a
restaurants business base comes from repeat customers. The same survey asked restaurateurs
if it was getting more difficult to maintain customer loyalty. Fifty-two percent of the
respondents said. Tapping into customers’ needs through the use of information can be
instrumental in building loyalty and gaining competitive advantage. (Piccoli, 2011). Hotels and
restaurants are continually competing for employees, locations, and more recently information
about customers. As more people are using the Internet there is a high amount of information
that is being captured on web server logs. Proper extraction of this information coupled with
high levels of service is what will help the hotel and restaurant industry build competitive
environmental factors will help the firm sustain and grow in economically challenging times.
strengths and highlight opportunities for improvement. Information regarding customers will
continue to have a big impact on the future of the industry. This information base can be seen
through the explosion of personal and business social network sites such as LinkedIn,
6
Facebook, Twitter. Identifying patterns of current and potential customers and servicing their
needs is one way that organizations are attempting to use information as a leverage tool against
competitors. (Piccoli, 2010). The following manuscript analyzed the strategic analysis
methodology for evaluating and taking advantage of future technological innovations for the
industry. Proactive identification and implementation of these technologies can help in building
a sustainable competitive advantage (Piccoli, 2008). The manuscript additionally reviewed the
existing literature regarding the role technology has played in the hotel and restaurant industry
and how strategic innovation has spurred “best practices” for the industry.
reflecting advancements in technology and the dynamic needs of the foodservice industry.
From manual processes to sophisticated digital platforms, these systems have become integral
In the early stages, restaurant management relied heavily on manual processes. Orders
were taken on paper, cash registers handled billing, and inventory tracking was done
using physical ledgers. While these methods were functional, they were error-prone,
time-consuming, and inefficient. The introduction of basic Point of Sale (POS) systems
in the late 20th century marked a critical milestone. These early POS systems, though
7
management, employee scheduling, and sales reporting with the POS system. They
requiring dedicated servers and technical expertise to manage. The era also saw the
adoption of electronic menu boards and order processing systems, which improved
communication between the front-of-house and kitchen staff. However, these solutions
establishments.
restaurant management. Systems developed using technologies like PHP and MySQL
became the norm, offering affordable, scalable, and accessible solutions. Key features
with third-party delivery apps like Uber Eats and DoorDash, catering to the
8
4. Advanced Technology Integration (2020–Present)
interaction:
track food preparation, monitor inventory levels in real-time, and reduce energy
consumption.
menus, digital wallets, and contactless payment systems, enhancing hygiene and
customer convenience.
inventory management.
e. Sustainability Features: Modern systems now include tools for tracking food
systems from mere operational tools to strategic assets, driving profitability and
customer satisfaction.
groundbreaking innovations:
9
b. Augmented Reality (AR): For interactive menu displays and immersive dining
and delivery services will further enhance operational efficiency and customer
convenience.
This progression underscores the critical role that restaurant management systems play in
these systems continue to evolve, they will remain indispensable for restaurants aiming to
Karthick Panneerselvam et al. (2022) designed and implemented Food Board, a Restaurant
The system integrates features such as Point of Sale (POS), real-time order management, and
staff. Developed using modern web technologies, including HTML, CSS, JavaScript,
Bootstrap, ReactJS, and NodeJS, it provides a responsive and user-friendly interface. The
organization, order tracking, food preparation updates, and inventory management. Additional
functionality includes real-time updates for staff and visibility for customers regarding order
preparation status. The implementation aims to reduce waiting times, improve service
accuracy, and enhance customer satisfaction. This solution is particularly relevant for fast-
paced foodservice environments where efficiency and precision are critical for success.
10
Ziteng Xie (2023) explored the development of a Restaurant Management Database System to
address the challenges associated with manual and fragmented restaurant management
reservations, menu management, staff scheduling, and order processing. The study detailed the
importance of creating a robust database structure, employing conceptual tools such as Entity-
Relationship (ER) diagrams and logical design principles to ensure scalability, accuracy, and
reliability. SQL queries are utilized extensively to generate detailed reports on key performance
metrics, such as popular dishes, revenue analysis, and inventory levels. These insights enable
restaurant owners to optimize their operations, minimize waste, and improve decision-making.
The study also underscores the need for integrating dynamic features like real-time updates and
analytics dashboards to create a data-driven ecosystem. This system represents a step forward
industry.
Sahaved Bhargava et al. (2024) presented the design and development of a Restaurant Table
Booking Website, addressing the growing demand for digital solutions in dining reservations.
NodeJS—the system provides users with an intuitive interface for making reservations.
Customers can specify the date, time, and number of attendees, with all data securely stored
and managed in a MySQL database. AngularJS ensures an interactive and dynamic frontend,
enhancing user experience, while ExpressJS manages backend operations efficiently. The
project emphasized user-centric design, informed by surveys and feedback that revealed
platforms and expanding online reservation capabilities. This system not only simplifies the
table booking process but also positions restaurants to meet modern customer expectations in
11
Satya Singh et al. (2024) examined the Food Restaurant Management System, focusing on the
study employed advanced tools like PHP, MySQL, and JavaScript for system development,
ensuring a user-friendly experience. The system automates critical restaurant functions such as
food ordering, table reservations, inventory management, and payment processing, thereby
reducing manual errors and operational delays. The authors highlighted key challenges in
traditional management, such as prolonged service times and inventory inaccuracies, and
management application tailored to the needs of modern dining and delivery during the
Developed using Android Studio and Firebase, the system offers innovative features, such as
offline functionality, seamless database connectivity, and customizable user interfaces. Users
can manage accounts, update menus, and track orders through intuitive CRUD operations. A
standout feature of the system is its self-pickup mechanism, allowing customers to collect
orders without staff interaction, adhering to health and safety protocols. DetroEats also includes
robust validation mechanisms, user-level access controls, and notifications for enhanced
DetroEats ensures accessibility and reliability. The project underlined the app’s historic
location in Galle, Sri Lanka, blending tradition with cutting-edge technology to attract tourists
12
2.4 Summary of literature review:
The restaurant management systems described in the section above focus on leveraging
approaches to integrating core functionalities such as food ordering, delivery management, and
user account control. While these projects present numerous strengths that make them effective
solutions in the restaurant industry, they also reveal certain limitations that could impact their
scalability and adaptability. The strengths and weaknesses of these systems are analyzed below.
a. Strengths:
functionalities like food ordering, delivery, payment, and user management into
13
measures, such as robust validation and user-level access controls, add
incorporates the cultural and historical appeal of its location, leveraging the
b. Weakness
a. Despite their strengths, the Food Restaurant Management Systems described in
the section above has some limitations. The system’s lack of flexibility may
also does not explicitly address scalability, raising concerns about how well the
expanding businesses.
b. Similarly, the DetroEats system has a few weaknesses. The reliance on Firebase
and Android Studio, while effective, might limit the adaptability of the system
businesses. Lastly, the app’s focus on a specific location, such as Galle, Sri
Lanka, might limit its broader applicability without additional adaptation to suit
other markets.
14
CHAPTER THREE
detailed examination of both the existing and proposed systems. It covers the analysis of the
current state, highlights the improvements made with the proposed solution, and presents a
design approach is laid out, accompanied by various diagrams illustrating the system's
functionality.
This section examines the existing online restaurant management system (ORMS),
identifying its strengths and limitations, followed by an analysis of the proposed system to
address these limitations. The analysis highlights the system's architecture and its effectiveness
in handling operations like user management, food ordering, and billing, and it proposes
System analysis is a discipline process which begins with the establishment of user
requirement for a given application and concludes with the implementation of a fully operated
and amended with facts control system. System analysis and design deals with planning the
system should do and how the components of the system should be implemented and work
The current online restaurant management system (ORMS) handles various essential
operations such as user registration, login, food ordering, cart management, billing, and
reservation of party halls. However, the system is static and lacks flexibility in terms of
15
3.2.1.1 Block Diagram of the Existing System
The block diagram of the existing system is based on the database relationships and
entities shown in the image. Each entity in the system represents key components that handle
1. Login
2. Members
This table stores information related to members (users who have registered in the system).
Fields include:
3. Order
The order table stores information related to the orders placed by users. This entity links
ii. Food_Category: The category of food ordered (e.g., appetizers, main course).
vi. Tables: Information about the table assigned (if applicable for dine-in).
4. Order_Details
16
This table handles more specific details related to each order, such as delivery or staff
interaction. It includes:
iii. Delivery_date: Date of order delivery (useful for both dine-in and delivery).
iv. Staff_Id: Reference to the staff responsible for fulfilling the order.
5. Staff
This entity manages the staff members who are responsible for handling orders, deliveries,
iv. Street_address: Address of the staff member (useful for deliveries or contact).
6. Food_Details
This table stores detailed information about the food items available in the restaurant:
vi. Food_Category: Category to which the food item belongs (e.g., starter, main course).
7. Specials
This table manages special offers or promotional food items available in the restaurant. It
includes:
17
i. Id: Unique identifier for each special offer.
System Workflow:
1. User Login/Registration: Users register with the system through the Login module
2. Order Processing: Once logged in, users can place orders via the Order table, which
3. Food Details: The food details related to each order (name, description, price, etc.)
4. Order Details & Fulfillment: The Order_Details table links the placed order to the
responsible staff (Staff), tracking the order's delivery time and status.
5. Specials: Any special deals or promotions are available for selection by users, with
18
3.2.1.2 Block Diagram Representation
19
3.2.1.3 Flowchart of the Existing System
Below is the flowchart representing the functionality of the existing online restaurant
management system (ORMS). The flow is basic, focusing on key actions such as user login,
Start
Browse Menu
View Cart
Place Order
Order
Confirmation No
Return to View Cart
Yes
Redirect to Billing
Payment Confirmation
Order Complete
Deliver food
Stop
20
3.2.1.4 Merits and Demerits of the Existing System
Merits:
i. Simplicity: The system is easy to use for both customers and administrators, requiring
minimal training.
ii. Basic Functionality: Handles fundamental tasks like user management, menu
iii. Low Maintenance: Since the system has limited features, the maintenance and
Demerits:
ii. No Role-Based Access: All administrators have equal control, leading to potential
iii. Limited User Engagement: No features exist for customer feedback or ratings,
iv. Rigid Workflow: The order and billing system lacks customization or integration with
The proposed system introduces a more flexible and dynamic approach, enhancing user
experience with streamlined processes for ordering and billing. It offers a more robust back-
end for managing different restaurant services and improves administrative control through a
more detailed role-based access system. It also integrates additional features such as party hall
21
High Level Model of The Proposed System
Merits:
i. Scalability: The system can accommodate growing menu items, multiple branches, or
ii. Dynamic Menu and Inventory Updates: Real-time updates ensure the menu reflects
iii. Role-Based Access Control: Different roles for staff, managers, and super admins
iv. Improved User Experience: Features like customer reviews, food ratings, and
v. Security: Integration with secure payment gateways ensures encrypted and secure
transaction processing.
22
Demerits:
i. Complexity: The proposed system’s additional features may increase its complexity,
requiring more robust support and training for staff.
ii. Higher Maintenance: More dynamic and complex functionalities could lead to higher
maintenance costs and require frequent updates.
3.2.2.2 Justification of the Proposed System
The justification for the proposed system lies in its ability to meet the growing
demands of a modern restaurant business. The proposed system's dynamic nature allows
restaurant administrators to respond quickly to changes in stock, menu updates, and customer
feedback. Additionally, role-based access control and advanced billing systems provide
security and operational efficiency. This enhanced functionality will lead to better customer
This section outlines the approach used in developing the online restaurant
techniques, and how these were applied to create a robust and scalable system. The focus is on
ensuring that the design aligns with user requirements, providing a dynamic and efficient
system.
23
3.3.1 Adopted Methodology
The Incremental Development Model was adopted for this project. This
methodology was chosen due to its flexibility and iterative nature, allowing for gradual
improvements and additions to the system. The key features of this model include:
1. Phased Development: The system was broken down into smaller, manageable modules
such as user authentication, menu management, order processing, and billing. Each phase
was developed, tested, and integrated before moving on to the next phase.
2. Feedback Loop: Each phase provided an opportunity to gather feedback from potential
users (e.g., restaurant staff and customers). This feedback was used to refine the system
3. Risk Mitigation: By building the system in small increments, potential risks were
identified and addressed early in the development process. For example, security features
such as encrypted payment processing were added after evaluating risks during the initial
4. Continuous Integration: Each module was integrated with the existing system once it was
completed, ensuring that the system worked as a cohesive whole and minimizing the
The development process was driven by extensive research and information gathering to
ensure the system met user needs and aligned with restaurant operational requirements. The
Interviews were conducted with the restaurant's managers and key staff members to
understand their challenges and requirements. This helped in identifying key areas of
improvement, such as menu flexibility, order processing efficiency, and party hall
reservations.
24
Specific user roles (admins, waiters, customers) were analyzed to understand what features
2. User Surveys:
Customers were surveyed to gather their input on desired features, user experience, and
pain points they faced when ordering food online or booking a table. Insights from these
surveys were used to improve user interaction features, such as streamlined ordering,
3. Competitive Analysis:
Existing restaurant management systems and their features were examined to benchmark
against industry standards and gather best practices. This helped in determining how to
differentiate this system by focusing on user engagement and backend flexibility for
restaurant management.
The restaurant's existing technical setup, including hardware and software resources, was
reviewed to ensure the new system could be easily integrated without additional
infrastructure costs. This included evaluating the compatibility of the proposed system with
The system design phase covers the architecture, data flow, and various diagrams that
represent the logical structure of the proposed Online Restaurant Management System
(ORMS). This section breaks down the system's logical design, flow of data, and how the
25
The organization of the present system
Restaurant
Hall
customer Staff
Customer
Kitchen
The logical design defines the conceptual framework of the system, including how users
interact with the system and how different modules (e.g., login, order processing, staff
management) work together. The system design outlines the structure, workflows, and
The block diagram of the new system illustrates the key modules and their interactions.
These modules are interconnected to handle tasks like user authentication, order management,
User Login
Menu Manager Order Processing
(Registration)
26
The new system consists of multiple interconnected blocks, such as:
Menu Manager: Allows admins to manage menu items and special offers.
A flowchart visualizes the sequential steps users follow within the system. Here's a
Start
Browse Menu
Add to Cart
Place Order
Order Complete
Deliver food
Stop
27
3.4.1.3 Use Case Diagram of the New System
A use case diagram shows the interactions between users and the system. Below is a
Actors:
ii. Restaurant Staff (admin): Manages menu items, views reports, updates
system settings.
28
The use case diagram outlines the key interactions between these actors and the system
components.
An activity diagram shows the flow of actions between the components of the system
29
3.4.1.5 - Class Diagram of the New System
The class diagram represents the object-oriented structure of the system. Classes include:
ii. Order: Attributes like order ID, food category, and quantities.
iv. Billing: Attributes like payment method, amount, and billing ID.
Classes interact with one another through associations (e.g., a user places an order, an order is
billed).
30
3.4.2 Physical Design
The physical design of a system involves the hardware and software setup required to
implement the system in a real-world environment. It defines how data is physically stored
and processed, the layout of system components, and the actual interaction between hardware
This program is an internet-based system which must be hosted on the internet for
general access. It is designed with several interaction cues on each webpage that makes up the
web application. The system is developed using PHP for server-side logic and MySQL for the
database. Client-side technologies include HTML, CSS, and JavaScript for a responsive design.
This program gives functional requirement that is applicable to the system. There are two major
i. Customer module
time in machine readable form for subsequent retrieval. The database design is used to group
data into a number of tables and minimize the artificiality embedded in using spate files. The
database used for this project is MySQL Database management system. MySQL database
management system served as the database for building and testing the system. It also served
as a platform where all data used in the application could be manipulated. Below is database
ii. Orders: Stores orders with foreign keys to users and menu items.
iii. Menu: Stores available items with attributes like price and category.
iv. Ratings: Stores customer reviews and ratings for menu items.
31
The tables in the database are organizing to help:
System control refers to the mechanisms and structures implemented to ensure that the
system operates effectively, securely, and reliably. In the context of the Online Restaurant
auditing, and error-handling mechanisms. It ensures that the Online Restaurant Management
System remains secure, stable, and functional, even under potential threats or failures. By using
Role-Based Access Control , encryption, logging, error handling, and monitoring, the system
is optimized to provide reliable performance while maintaining data integrity and user security.
32
CHAPTER FOUR
This chapter delves into the technical aspects of the Online Restaurant Management
System, describing the programming tools used, testing strategies employed, system
requirements, and a discussion of results. The system is designed to streamline the operations
of a restaurant by enabling users to browse menus, place orders, book reservations, and rate
their experiences, while also allowing administrators to manage menus, orders, and customer
interactions.
The system was developed using a combination of modern and reliable web development
technologies, chosen for their efficiency, scalability, and ease of use in developing a dynamic,
database-driven application.
PHP was chosen as the primary server-side scripting language due to its wide use in
web development, support for MySQL, and its ability to handle complex logic such as
user authentication, order processing, and form validation. Key scripts such as login-
exec.php, order-exec.php, and ratings-exec.php handle user requests, interact with the
The user interface is structured using HTML, while CSS (with Bootstrap) provides
responsive design capabilities, ensuring that the system renders well on devices ranging
employed for front-end validation, enhancing the user experience by providing real-
time feedback without requiring page reloads. For example, the cart-exec.php
33
iii. Bootstrap Framework
The use of Bootstrap enhances the system’s appearance and accessibility across
different screen sizes. Its pre-designed components, such as forms, buttons, and
MySQL serves as the backend database management system, chosen for its scalability,
reliability, and compatibility with PHP. The system’s database contains tables for users,
menu items, orders, ratings, and reservation details. The rms.sql file includes SQL
commands that create and manage these tables. Efficient SQL queries ensure the system
can quickly retrieve and update information, even with a large number of records.
v. Development Tools:
i. Visual Studio Code: Used as the primary IDE for developing and editing the
ii. Git: Version control was managed through Git, enabling multiple versions of the
cycle.
Testing was a crucial part of the Restaurant Management System project development,
ensuring that each module and feature worked as intended. Multiple testing strategies were
adopted to validate both the individual components and the system as a whole.
Each module, such as login, order processing, reservation, and rating, was
independently tested to ensure that it performed its specific function correctly. Unit testing
focused on:
i. User Login: Ensured that users could log in with valid credentials and that incorrect
34
ii. Order Processing: Verified that the system correctly stored user orders in the
iii. Ratings and Reviews: Checked that users could submit ratings for their dining
experiences and that these ratings were stored in the system and displayed correctly.
Unit tests were performed using test data to validate whether each script or module worked as
expected in isolation.
Integration testing was performed to ensure that individual modules interact correctly
i. User Actions and Database Integration: Testing the interaction between the front-
end (where users place orders, reserve tables, and submit ratings) and the backend
MySQL database to ensure data consistency. For instance, when an order was placed
via the cart-exec.php script, it was verified that the correct information was saved in the
orders table.
ii. User Sessions: Ensured that session handling worked across different pages (e.g.,
maintaining user login state between the login-exec.php and member-index.php pages).
iii. Feedback Mechanism: Validated those actions like order placement, rating
submission, and profile updates resulted in the correct responses (e.g., success or error
messages).
This section outlines the hardware and software specifications necessary for
developing, testing, and deploying the Restaurant Management System (RMS). The system is
35
4.4.1 Hardware Requirements
The hardware requirements to deploy and run the RMS system are minimal, making it
suitable for most modern computing environments. The minimum hardware requirements are:
i. Processor:
i. Minimum: Intel Core i3 or equivalent AMD processor. This ensures that the system
can run basic development tasks and execute PHP scripts with minimal load.
ii. Recommended: Intel Core i5 or higher for optimal performance, especially during
high-demand periods when the system handles many simultaneous user requests
requests from customers (placing orders, booking reservations) and system tasks
iii. Storage:
i. Minimum: 500 MB of free disk space for project files and database storage. This
includes space for code, media (e.g., images for the restaurant's menu), and database
records.
larger datasets (menu items, orders, customer information) are stored. Adequate
storage will also be needed if the system expands to store analytics data, detailed
36
iv. Network:
v. Display:
ii. Recommended: Full HD (1920x1080) resolution for better visibility of the user
interface, especially when working with responsive layouts that need testing
To develop, run, and deploy the RMS, the following software is required. These tools
support the server-side scripting, database management, and front-end rendering of the system.
i. Operating System:
environments due to its stability, ease of use with LAMP stacks, and minimal
resource consumption.
i. Minimum: Apache 2.4 or Nginx. Apache is used for serving the PHP scripts and
37
ii. Recommended: Apache is ideal for development, and for deployment, a
i. Minimum: MySQL 5.7 or higher. This is essential for storing all dynamic data
ii. Recommended: MySQL 8.0 or higher for improved performance and security
features, especially when dealing with more complex queries and larger datasets.
i. Minimum: PHP 7.4 or higher. This is the core language used to handle server-
operations like RMS. Additionally, newer versions provide more robust error
v. Development Environment:
deployment easier by packaging the web server, database, and the entire RMS
38
vi. Text Editor/IDE:
editors allow for fast development and debugging of PHP, HTML, CSS, and
JavaScript.
ii. Recommended: Visual Studio Code with PHP and MySQL extensions,
terminal and Git support make it an excellent choice for full-stack development.
ii. Recommended: Google Chrome with developer tools for testing front-end
Lighthouse also enables performance testing, which is important for ensuring the
i. Minimum: Git for managing source code versions and collaborating with other
code.
(CI/CD) tools such as Jenkins or GitLab CI for automatic testing and deployment
39
ii. Recommended: OpenSSL for managing SSL certificates in a production
environment, along with firewall rules and DDoS protection to safeguard the
4.5 Results
This section shows the results gotten from the implemented Restaurant Management system,
showcasing its unique, simple and reliant design to help restaurants.
The figure above shows the home page, which is the starting point of the system, it allows
users to browse through the features of the system, also having links to create an account,
login or check available restaurants nearby.
40
The figure above shows the available restaurants of the system, here users can choose from
available restaurants and checkout their menus for food to order from.
The figure above shows the menu page of a selected restaurants, here the user or customer
can see a variety of food from the menu and can choose from.
The figure above shows the login page of the system, here users or customers will provide
their respective login credentials to be able to make orders from the website, allowing them to
track their orders.
41
FIG 15: Admin dashboard page
The figure above shows the admin dashboard page of the system, here the admin have access
to manage everything that goes on in the system from, adding more restaurants spots, adding
food to the menu and checking for available orders to process.
The figure above shows the admin order page, here the admin or kitchen staffs can see
available orders to delivery and when its delivered they can change the status, so it reflects.
42
CHAPTER FIVE
5.1 Summary
This research focused on designing and developing a web-based Restaurant
Management System aimed at improving the efficiency of restaurant operations
and enhancing customer experience. The project utilized the Waterfall
methodology, a structured approach to software development, guiding the process
through stages of requirements analysis, system design, implementation, testing,
and deployment.
The system was implemented using PHP for server-side scripting, MySQL for
database management, and HTML for the front-end structure and user interface.
These technologies were chosen for their compatibility, reliability, and ability to
create a dynamic and responsive web application.
Upon completion, the system addressed key functionalities in restaurant
management, including order management, menu management, inventory
tracking, customer feedback, and payment processing. The system successfully
met its objectives, providing a seamless and efficient tool for managing restaurant
operations, improving customer satisfaction, and streamlining day-to-day tasks.
43
should be explored to ensure the system can scale efficiently and remain
responsive during peak hours.
Security and data protection also require attention. Although basic security
measures were integrated, there is a need for stronger protection mechanisms to
prevent unauthorized access to sensitive data. Future research should investigate
the use of more robust security protocols such as multi-factor authentication, data
encryption, and real-time threat detection to safeguard user and transaction data
from evolving cyber threats.
User experience (UX) design is another area for improvement. While the system
provides a functional interface, enhancing the user experience through detailed
usability studies and incorporating feedback from both restaurant staff and
customers will be beneficial. Ensuring the system is intuitive, accessible for users
with disabilities, and visually engaging will improve customer satisfaction and
overall usability.
Lastly, future research should explore integration with external systems, such as
digital payment solutions, food delivery platforms, and customer relationship
management (CRM) tools. This integration would expand the system’s
capabilities, allowing the restaurant to offer additional services such as online
orders, loyalty programs, and targeted promotions, further enhancing the overall
customer experience.
Addressing these limitations will strengthen the functionality and usability of
web-based restaurant management systems, making them more robust, secure,
and adaptable to the growing needs of the restaurant industry.
5.3 Conclusion
The primary goal of this research was to design and develop a web-based
Restaurant Management System that would improve restaurant operations,
enhance customer access to services, and streamline daily activities. By utilizing
the Waterfall methodology and implementing the system with PHP, MySQL, and
44
HTML, the project aimed to deliver a reliable and user-friendly solution to the
challenges faced by modern restaurants.
The outcome of the research successfully achieved these objectives. The
developed system effectively manages key restaurant functions such as order
management, menu updates, inventory tracking, and payment processing. It has
proven to be an effective tool in facilitating day-to-day restaurant operations and
providing a seamless experience for both staff and customers. While there is room
for improvement in areas like scalability, security, and user experience, the
research has laid a solid foundation for further development, contributing
valuable insights to the domain of restaurant management systems.
.
45
APPENDIX A
Code
<?php
require_once('auth.php');
?>
<?php
require_once('connection/config.php');
if(!$link) {
//Select database
$db = mysql_select_db(DB_DATABASE);
if(!$db) {
$flag_1 = 1;
$qry="";
$excellent_qry="";
46
$good_qry="";
$average_qry="";
$bad_qry="";
$worse_qry="";
//count the number of records in the members, orders_details, and reservations_details tables
table_flag='$flag_1'")
partyhall_flag='$flag_1'")
47
$partyhalls_allocated=mysql_query("SELECT * FROM reservations_details WHERE
?>
<?php
if(isset($_POST['Submit'])){
//Function to sanitize values received from the form. Prevents SQL injection
function clean($str) {
$str = @trim($str);
if(get_magic_quotes_gpc()) {
$str = stripslashes($str);
return mysql_real_escape_string($str);
//get category id
$id = clean($_POST['food']);
$row_1=mysql_fetch_array($ratings);
$row_2=mysql_fetch_array($ratings);
48
$row_3=mysql_fetch_array($ratings);
$row_4=mysql_fetch_array($ratings);
$row_5=mysql_fetch_array($ratings);
if($row_1){
$excellent=$row_1['rate_id'];
if($row_2){
$good=$row_2['rate_id'];
if($row_3){
$average=$row_3['rate_id'];
if($row_4){
$bad=$row_4['rate_id'];
if($row_5){
$worse=$row_5['rate_id'];
//selecting all records from the food_details and polls_details tables based on food id.
49
$excellent_qry=mysql_query("SELECT * FROM food_details, polls_details WHERE
polls_details.rate_id='$excellent'")
polls_details.rate_id='$good'")
polls_details.rate_id='$average'")
polls_details.rate_id='$bad'")
polls_details.rate_id='$worse'")
50
or die("Something is wrong ... \n" . mysql_error());
?>
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Admin Index</title>
</script>
</head>
<body>
<div id="page">
<div id="header">
href="logout.php">Logout</a>
</div>
<div id="container">
51
<CAPTION><h3>CURRENT STATUS</h3></CAPTION>
<tr>
<th>Members Registered</th>
<th>Orders Placed</th>
<th>Orders Processed</th>
<th>Orders Pending</th>
<th>Table(s) Reserved</th>
<th>Table(s) Allocated</th>
<th>Table(s) Pending</th>
<th>PartyHall(s) Reserved</th>
<th>PartyHall(s) Allocated</th>
<th>PartyHall(s) Pending</th>
</tr>
<?php
$result1=mysql_num_rows($members);
$result2=mysql_num_rows($orders_placed);
$result3=mysql_num_rows($orders_processed);
$result5=mysql_num_rows($tables_reserved);
$result6=mysql_num_rows($tables_allocated);
$result8=mysql_num_rows($partyhalls_reserved);
$result9=mysql_num_rows($partyhalls_allocated);
52
echo "<td>" . $result1."</td>";
echo "</tr>";
?>
</table>
<hr>
onsubmit="return statusValidate(this)">
<tr>
<td>Food</td>
<?php
while ($row=mysql_fetch_array($foods)){
53
}
?>
</select></td>
</tr>
</table>
</form>
<tr>
<th></th>
<th>Excellent</th>
<th>Good</th>
<th>Average</th>
<th>Bad</th>
<th>Worse</th>
</tr>
<?php
if(isset($_POST['Submit'])){
//actual values
$excellent_value=mysql_num_rows($excellent_qry);
$good_value=mysql_num_rows($good_qry);
$average_value=mysql_num_rows($average_qry);
$bad_value=mysql_num_rows($bad_qry);
$worse_value=mysql_num_rows($worse_qry);
//percentile rates
54
$total_value=mysql_num_rows($qry);
if($total_value != 0){
$excellent_rate=$excellent_value/$total_value*100;
$good_rate=$good_value/$total_value*100;
$average_rate=$average_value/$total_value*100;
$bad_rate=$bad_value/$total_value*100;
$worse_rate=$worse_value/$total_value*100;
else{
$excellent_rate=0;
$good_rate=0;
$average_rate=0;
$bad_rate=0;
$worse_rate=0;
if(mysql_num_rows($qry)>0){
$row=mysql_fetch_array($qry);
$food_name=$row['food_name'];
else{
$row=mysql_fetch_array($no_rate_qry);
$food_name=$row['food_name'];
echo "<tr>";
55
echo "<td>" .$excellent_value."(". $excellent_rate."%)"."</td>";
echo "</tr>";
?>
</table>
<hr>
</div>
<div id="footer">
</div>
</div>
</body>
</html>
<?php
require_once('auth.php');
?>
<?php
require_once('connection/config.php');
if(!$link) {
56
die('Failed to connect to server: ' . mysql_error());
//Select database
$db = mysql_select_db(DB_DATABASE);
if(!$db) {
//selecting all records from almost all tables. Return an error if there are no records in the tables
members.member_id=orders_details.member_id AND
billing_details.billing_id=orders_details.billing_id AND
AND cart_details.quantity_id=quantities.quantity_id")
?>
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Orders</title>
57
</head>
<body>
<div id="page">
<div id="header">
href="logout.php">Logout</a>
</div>
<div id="container">
<CAPTION><h3>ORDERS LIST</h3></CAPTION>
<tr>
<th>Order ID</th>
<th>Customer Names</th>
<th>Food Name</th>
<th>Food Price</th>
<th>Quantity</th>
<th>Total Cost</th>
<th>Delivery Date</th>
<th>Delivery Address</th>
<th>Mobile No</th>
<th>Actions(s)</th>
58
</tr>
<?php
while ($row=mysql_fetch_assoc($result)){
echo "<tr>";
echo "</tr>";
mysql_free_result($result);
mysql_close($link);
?>
</table>
<hr>
</div>
<div id="footer">
59
</div>
</div>
</body>
</html>
<?php
//Start session
session_start();
require_once('connection/config.php');
if(!$link) {
//Select database
$db = mysql_select_db(DB_DATABASE);
if(!$db) {
//Function to sanitize values received from the form. Prevents SQL injection
function clean($str) {
$str = @trim($str);
60
if(get_magic_quotes_gpc()) {
$str = stripslashes($str);
return mysql_real_escape_string($str);
$FirstName = clean($_POST['fName']);
$LastName = clean($_POST['lName']);
$StreetAddress = clean($_POST['sAddress']);
$MobileNo = clean($_POST['mobile']);
VALUES('$FirstName','$LastName','$StreetAddress','$MobileNo')";
$result = @mysql_query($qry);
if($result) {
successifully.')</script></html>";
exit();
}else {
?>
61
APPENDIX B
homepage
Options
62
Add Food
Category
63
Messages
Specials
64