Food Ordering System
Food Ordering System
Introduction ........................................................................................................................................ 3
Task 1................................................................................................................................................... 3
1.1 Differentiate between communication protocols, server hardware, operating systems, and web
server software ................................................................................................................................... 3
Communication Protocols ............................................................................................................... 3
Server Hardware ............................................................................................................................. 4
Operating Systems .......................................................................................................................... 5
Web Server Software ...................................................................................................................... 6
1.2 Types of DNS and their uses.......................................................................................................... 7
1.3 Impact of Search Engines .............................................................................................................. 8
Some Recommendations to Increase the Website Ranking and Visibility with the Help of SEO.... 9
1.4 Web Development Technologies ................................................................................................ 10
Task 2................................................................................................................................................. 10
2.1 Relationships between Front-End and Back-End Website Technologies .................................... 10
2.2 Online Website creation Tools VS Custom-Built Sites ................................................................. 11
2.3 Tools and Techniques .................................................................................................................. 13
Front-End Development .................................................................................................................... 13
Tools and Technologies: ................................................................................................................ 13
Back-End Development ..................................................................................................................... 14
Tools and Technologies: ................................................................................................................ 14
Databases .......................................................................................................................................... 15
Tools and Technologies: ................................................................................................................ 15
Task 3................................................................................................................................................. 16
Requirements .................................................................................................................................... 16
Client Requirements...................................................................................................................... 16
Functional Requirements .............................................................................................................. 16
Non-Functional Requirements ...................................................................................................... 16
User Requirements ....................................................................................................................... 16
Functional Requirements .............................................................................................................. 17
Non-Functional Requirements ...................................................................................................... 17
Mockup Diagram ............................................................................................................................... 17
3.2 Screenshots ................................................................................................................................. 18
Database ........................................................................................................................................... 23
3.3 Web Design and Development.................................................................................................... 25
Task 4................................................................................................................................................. 26
4.1 Evaluation of the Quality Assurance (QA) Process ...................................................................... 26
4. 2 Assessment of Outcomes of the Test Plan ................................................................................. 27
4.3 User Documentation ................................................................................................................... 28
Introduction ...................................................................................................................................... 28
For Customers ................................................................................................................................... 28
For Restaurant Owners ..................................................................................................................... 29
Introduction
A modern economy has no time for sitting around and this is especially true when it comes to
the restaurant business. An Online Food Ordering System holds convenience to customers
through ordering food online, avoiding the necessity of having to go to restaurants and order
food, and it serves the restaurant owners through helping those manage their offerings and
orders. This paper aims at outlining the design, development and quality assurance of the
Online Food Ordering System, with an emphasis on how each of these three aspects leads to a
creation of the efficient application. Analysing communication models, DNS types, SEO, and
web development technologies, the given report demonstrates the main components of the
system and its efficiency.
Task 1
Communication Protocols
Definition:
IEEE Communication protocols are defined as the sets of conventions that facilitate the
exchange of information between devices over the interconnecting networks. They define the
method of passing information across a network.
- Usage: These protocols are mandatory in the client-server relationship for web interactions
by the customer’s web browser and the server hosting the ordering system web app.
- Benefits: HTTPS offers the privacy of the data by encrypting it and this is especially
important while transferring the data containing highly private information of customers
including credit card details.
- Usage: Most used and core protocol of the internet it provides confirmation that to deliver
the data and addressing or routing between devices.
- Benefits: Enshrines reliable, strong and well-ordered delivery of data which is very crucial
to transaction confirmations and order updates.
- Usage: Employed for alerts and confirmation messages to customers and owners of the
restaurants.
- Benefits: Contributes to effectiveness and on-time delivery of the e-mail notification.
4. WebSocket Protocol:
- Usage: Enables real time communication between the server and the client in live update
messages, for instance order status, delivery status and others.
- Benefits: Eliminates delays and brings the user closer to real time updates with no delay.
Server Hardware
Definition: Server hardware implies tangible parts and equipment to support applications and
services essential to an organization.
1. Dedicated Servers:
- Usage: Offers strong tools connected with hosting the food ordering application, as well
as possibilities to overcome a large number of accesses.
- Benefits: It provides a high level of performance, security comparisons to which are
difficult to achieve in today’s complex world of customers and orders management.
2. Cloud Servers:
- Usage: Hosts the application on virtualized server resources provided by Service providers
such as AWS or Azure or Google cloud.
- Benefits: Offers availability, affordability, and fault tolerance which make it possible to
scale the resources up or down depending on the needs of an application.
3. Load Balancers:
- Usage: This forwards the incoming traffic to several servers to guarantee availability and
dependability.
- Benefits: Avoids the confusion of the servers getting overwhelmed and the users finding
that their experience is not as smooth as usual in the busiest periods.
4. Storage Systems:
- Usage: Stores at application level on client stations and servers, data files like user profiles,
menus, and order history is stored in either SSDs or HDDs.
- Benefits: Helps to provide quick access to wide amounts of information and sufficient disk
space for increasing amounts of databases.
Operating Systems
Definition: An operating system (OS) is a software that forms the middleware between
hardware and application, managing the resources of the former.
1. Linux:
- Usage: Presently it is commonly used OSs for web servers which are famous for their
stability, security, and performance.
- Benefits: Provides a solid platform for running web applications along with a whole range
of tools and a vast number of web server systems.
2. Windows Server:
- Usage: When IT needs specific Windows base programs or need to integrate some specific
application.
- Benefits: Supports multiple Microsoft applications and frameworks and posses familiar
interface.
3. Unix-based Systems:
- Usage: Which is used for their dependability and suitability in massive processor
employment conditions.
- Benefits: Caters to high-risk and sophisticated performance environments than the vanilla
mode.
Definition: Web server software deals with requests in the hypertext transfer protocol, delivery
of web pages and other activities relating to web applications.
- Usage: An efficient open source web server that could be used to host the ordering system’s
web based application.
- Benefits: It adapts well, is more flexible as well as modular and available with a number
of possibilities for dealing with web traffic.
2. Nginx:
- Usage: Used for its raw speed and/or channel density, meaning the number of connections
the port is capable of supporting.
- Benefits: It does offer load balancing functionality to better distribute traffic/accomplish
reverse proxies, thus strengthening the application’s scalability.
Node. js:
There are several types of DNS servers that play a role in this process: It is classified into four
types, namely root DNS servers, top-level domain (TLD) servers, authoritative DNS servers,
and recursive DNS servers.
Top level DNS stand at the highest level of DNS and hold information on the location of TLD
servers. They are used her as the first resolution point for a given domain name to be translated
to an IP address. This is where a user enters a domain name; most of the times, the request for
the name is initiated at the root server, which guides the request to seek the help of a TLD
server. TLD servers oversee the domains at the topmost level, including . com`, `. com`, `. edu`,
`. gov`, or country-code TLDs like `. us`, `. co. uk`, `. ca`, etc. uk` or `. in`. If the online food
ordering system is operating globally, which is common for such systems, TLD servers would
assist in sorting the users to the correct geographical server or the organizational one based on
the domain suffix.
Authoritative DNS servers maintain the DNS records of given domain zones. They give the
specific IP address for the domain in question and are essential for the flow of the domain
directing traffic to the web server wherein the online food ordering system is hosted. For
instance, if the domain is order. foodservice. com` should issue a negative response to a DNS
query for `www. foodservice. www. order | com` would yield the IP address relevant to `order
| com`. foodservice. com`. This server type plays the role of redirecting the users that have
accessed the online platform to the appropriate server that hosts the restaurant’s menus and
ordering solution.
Recursive DNS servers are the servers that handle the client’s query and communicate to other
DNS servers in an attempt to return the IP address associated with the given domain name. This
is how, when a user types a domain in his/her web browser, the recursive server receives the
query and while not finding the recently retrieved IP address in the cache, it sends to the root,
TLD, and authoritative servers to complete the query process. This kind of server enhances the
performance of DNS resolution and at the same time minimizes communication with
authoritative servers by storing the solutions for a given amount of time.
Domain names are binary; they have many differentiate levels separated by dots. In case of a
typical online ordering of foods, a domain may be www. foodorderingsystem. com. The www
is a subdomain, which means it some the particular service or server providing the service in
the given domain. The second level domain is foodorderingsystem and this is the striking name
that identifies the entity or the brand. Finally, . Com is the extension and tells about nature of
the organization or its location. Finally, in an online food ordering system, the successful
categorization of domain names can make the restaurants or services that they offer different,
easily reach customers.
- Impact: Search engines are one of the leading sources of organic traffic that an online
platform can get. Existence at a higher position in the search results implies reaching a
higher number of users, more clicks and consequently more users visiting the OFOS.
- Evidence: A research carried by Backlinko showed that the first URL on Google search
engine results pages gets 31. clicks percent for the first result standing at 7% and the second
one gets 24%. While the first receives 7% and the third 18. 6%. This means that higher
ranking on the search engine means higher traffic to the websites in question.
- Impact: Positions责 that ensure a brand appears more often in search result are useful in
making the brand more familiar and reliable. Internet users are likely to work with those
websites that are ranked higher by the search engines.
- Evidence: This paper also shows that 61 % of the consumers will prefer to reach to a local
business if it has a well ranked and informative website to impact their buying decision as
per the survey conducted by the BrightLocal.
- Impact: For an OFOS operating within certain locations, visibility on the SERP is quite
important. Yeast is often placed on the top of the search results if a search is made with
keywords such as ‘near me’.
4. User Engagement and Retention:
- Impact: It goes beyond traffic and the type and ways users interact with the site and are
retained on the site. Pages that were ranked high are thought to be more credible and thus
when the users are compelled to go to them, they tend to find more information.
- Evidence: A study by SEMrush showed that sites ranking higher on the search engine, has
lower bounce rates and showed that users are engaged more as evidenced by the time and
number of pages viewed.
Some Recommendations to Increase the Website Ranking and Visibility with the Help of
SEO
1. Keyword Research and Optimization: List and focus on the keywords that potential
customers are likely to search for concerning food delivery services. This can be done using
bits like Google Keyword Planner, or any other keyword research tools such as SEMrush or
Ahrefs.
2. Local SEO and Google My Business:Local SEO and Google My Business: The next step
recommended to increase visibility in local search is to create and fill out properly a Google
My Business listing for the OFOS. It is important to see that all the fields of the profile are
filled in with correct data about the business activity, the photos reflecting its principles and
the reviews of the clients.
3. High-Quality, Relevant Content: Action: Create posts that fit the customer demographic, for
example, the latest news about foods and restaurants, or tips about how to cook.
4. Mobile Optimization: It is also important that the OFOS is developed to fully support the
utilization of mobile devices since many clients use their smart phones to order food online.
5. Technical SEO Improvements: Address technical aspects of the website that affect search
engine rankings, such as site speed, URL structure, and crawlability.
1.4 Web Development Technologies
Typical technologies employed in such development are PHP, MySQL, HTML and CSS; where
PHP is important for the back-end, MySQL important for the database, HTML is useful for
mark-up, CSS important for style sheets. PHP is a commonly used programming language for
server-side scripting used specifically for developing powerful fast and dynamic web
applications. It enables developers to build applications with numerous features and complex
operations, for instance, users’ login, order placing, and payment system. Due to the ability of
PHP to support different database and Web servers, it is helpful in establishing an online food
ordering platform that is capable of dealing with multifaceted user relations and commutations.
MySQL is an open source relational Database Management System that is suitable for data
management and goes well hand in hand with PHP. It provides stability and adaptability for
complicated search queries, which makes it suitable for organizations with a vast amount of
data, including customers’ records, dishes to be served in restaurants, and order history.
MySQL, the RDBMS offers the data transmission and processing capabilities in such a way
that the system is elastic to accommodate the growing population of customers without
necessarily resulting in early case of overload resulting to either slow data handling or even
data corruption.
Front end starts with technologies for creating interfaces that are both graphical and
operational: HTML and CSS. HTML consists of the content and structure of the web page,
while CSS focuses on the appearance and organization of the web site so that an on-line food
ordering system will be accessible and operating smooth in both: PC and in mobile devices.
Task 2
The front-end involves the graphical user interface where clients directly engage with an
application. Web design in a broad sense refers to the overall look and feel in as far as the
layout, graphic work and other forms of interactivities that the user comes across. Web
technologies like HTML, CSS, and JavaScript are quite important in determination of the front-
end of a given application. HTML provides the content layout, CSS works on the appearance
of the interface layout, and JavaScript works on application interactivity.
The back-end then pertains to the server-side of an application where the computations and
business logic and the means by which it will interface with the data stores take place. These
contain server-side languages and technologies for example PHP, Python or Node among
others. languages such as HTML, CSS, and JavaScript and databases for example MySQL or
Mongo DB. The back-end layer is the application layer, which takes the requests from the front-
end; performs operations such as authentication, orders, and payments; and sends the required
data back to the front-end for presentation.
Making selection between the web development tools or web development software when
constructing an OFO requires the following thing into account including flexibility of the page
layout, the speed of the page and how bootable it is, its usability and interface. Both methods
have their advantages and disadvantages, and these issues can largely affect the result of the
work.
Development Quick setup with drag-and-drop Longer development time due to the
Time interfaces and pre-built need to build and test features from
components. Ideal for rapid scratch. More time-consuming but
deployment. allows for detailed customization.
Cost Generally lower upfront costs with Higher upfront costs due to custom
subscription models. Additional development and design. Costs may
costs may arise for premium vary based on complexity and scale.
features or plugins.
Designing and developing custom-built web applications for an Online Food Ordering System
involves choosing from a range of tools and techniques that cater to different aspects of the
development process. These tools can be broadly categorized into front-end development,
back-end development, databases, and deployment/DevOps. Each category has its own set of
popular tools and techniques that developers can use based on their specific project
requirements and preferences.
Front-End Development
- Description: These are the foundational technologies for building the front-end of web
applications. HTML provides the structure, CSS styles the appearance, and JavaScript adds
interactivity.
- Use Cases: Suitable for building basic interfaces and adding dynamic features to a web
application.
- Pros: Widely supported and understood; many libraries and frameworks are built on top of
these technologies.
- Cons: Managing complex projects with plain JavaScript can become cumbersome without
frameworks.
2. React:
Back-End Development
1. Node.js:
- Description: A JavaScript runtime built on Chrome's V8 engine, used for building scalable
network applications.
- Use Cases: Ideal for developing real-time applications like live order tracking and chat
functionalities.
- Pros: Asynchronous and event-driven architecture; can use JavaScript for both front-end
and back-end.
- Cons: Callback hell and complexity in managing asynchronous code for beginners.
2. Django (Python):
- Description: A high-level Python web framework that encourages rapid development and
clean design.
- Use Cases: Suitable for building complex web applications quickly with built-in features
like authentication and admin panels.
- Pros: Robust framework with a batteries-included philosophy; high security standards.
- Cons: More opinionated, which may limit flexibility; not as performant as Node.js for real-
time applications.
3. Laravel (PHP):
- Description: A popular PHP framework for web application development, known for its
elegant syntax.
- Use Cases: Suitable for building modern web applications with a focus on maintainability
and ease of use.
- Pros: Rich ecosystem, including built-in features like routing, authentication, and ORM;
strong community support.
- Cons: Can be slower compared to other frameworks like Django; more suited to server-
side rendering.
Databases
1. MySQL:
2. MongoDB:
3. PostgreSQL:
The choice between these tools and techniques depends on various factors, including the
project’s scale, complexity, team expertise, and specific business requirements. Ultimately, the
combination of these tools should align with the business’s strategic goals, team expertise, and
the specific features and functionalities required by the Online Food Ordering System.
Task 3
Requirements
Client Requirements
Functional Requirements
Non-Functional Requirements
1. Scalability
2. Security
3. Performance
4. Reliability
5. Maintainability
6. Compliance:
User Requirements
These are the requirements from the perspective of end-users, including customers using the
Online Food Ordering System to place orders and restaurant staff managing orders and menus.
Functional Requirements
Non-Functional Requirements
1. Usability
2. Performance
3. Security
4. Reliability
5. Scalability
6. Localization
Mockup Diagram
3.2 Screenshots
Home Page
Login Page
Signup Page
Food Menu
Food Page
Order Page
Table booking
Admin Panel
Manage food
Manage orders
Database
Tbladmin
Tblcategory
Tblfood
Tblfoodtracking
Tblorderaddress
Tblorder
Tbluser
Web design and development is the formulation of a blueprint to create an effective and
beautiful website, for instance an Online Food Ordering System. This process typically
involves several key stages: The SDLC also consist of six phases namely; planning, design,
development, testing, deployment and maintenance. All those stages are critical to ensure that
the final product is developed in accord with the guidelines specified in the design document.
In the initial phases, the documentation mainly confines itself to incorporate design document
for structuring the project scope, the user, and functional requirement. In the planning phase of
a project, the development team employs the document to define objectives for the project as
well as to design screen mocks as representations of the specific arrangement and layout of the
application and the paths that a user is to follow within the application. These prototypes are
very useful in that they allow a formal assessment of the users and the system and any usability
problems that can be foreseen are discovered at this stage.
Development Phase
In the development phase, the design document helps to implement the important insiders like
user authentication, menu browsing and order processing. Here, developers can experience
technical issues mainly connected with the combination of various technologies and with the
issue of cross-browser compatibility.
Testing is an essential stage where the application’s functionality is compared with the
requirements documented in the design document to ensure bugs and poor performance is
corrected. It is essential that the application works as it should, whether on a large or a small
display, considering that the app is designed to be used by a rather diverse audience.
The final stage is the continued support and improvement of the system based on the users’ and
other stakeholders’ feedback. It is here that developers often experience the presence of
technical obstacles that are rooted in practical application of the software application, server
capacity, security weakness, or users’ behavior that compromises the stability and performance
of the software.
Task 4
Quality assurance plays the dual role of being an essential process in the creation of an Online
Food Ordering System; this process safeguards an organization and its customers from poorly
constructed, unusable or unpredictable programs and systems. QA at Design: This stage entails
checking of the design documents and formats in relations to the users’ needs and technological
standards. This phase commonly ends with pre-emptive usability testing and design reviews
whereby potential design problems are discovered before much work is done on them. For
instance, QA teams may witness a misallocation of designs between main interfaces and
required experiences while pin navigating or having a nonspecific call to action. Most of these
issues are detected during the classic development phase, but when they are solved during
design phase, this keeps the interface clean as the development phase begins.
In the development phase QA activities are more inclined towards functional and Performance
testing. This include; unit testing, integration testing, and system testing. At this phase, unit
testing is carried out with the aim of making sure that the components of the system are working
correctly in isolation. Integration testing reports the functioning of the applications when they
are inserted together, for instance the front-end interface with the back-end server. They can be
defined as: The system testing checks the entire application in the staging environment against
all the functional and performance specifications. QA teams specializing in an Online Food
Ordering System might discover development flaws in a system that is incorrectly processing
orders, payment issues, or poor security. For example, it becomes clear during intense testing
that the payment gateway integration is faulty in some way or that the system struggles to deal
with large amounts of traffic. Through such aspects, one can figure out some problems before
the application is deployed out; the QA activity assists developers in detecting and solving
these problems.
Thus, the findings of the Test Plan as discussed above offer pertinent information in assessing
the general performance and effectiveness of the multipage Online Food Ordering System.
Some of the widely used sub categories of a system’s Test Plan are functional test plan,
performance test plan, security test plan and usability test plan. These tests demonstrate that all
the functions like the ability to register, browse menus, and place orders are working.
Performance tests focus on the ability of the system to respond and load user’s requests
especially during busy periods. Security tests help in creating checks to protect data that is
considered to be confidential like the details of the payment. Usability tests are also applied to
examine the general appreciation of the product, in terms of usability and navigational
facilities.
In using the results obtained from the test, it is possible to point out where in the system there
is a necessity for optimization or change. For instance, while performing functional test and
you are able to confirm that user can place an order and make payment, this is an indication of
functional test, but if while doing performance test, you realize that the site is slow during peak
times, this is an indication that it needs to be made more responsive. Security tests could reveal
critical issues that threaten the user’s data, and this is why the team needs to address such issues
urgently. Problems that may be of concern such as navigation problems or unclear instructions
can be brought out by usability tests to be fixed for the benefit of users.
From the above observations, it is now possible to suggest recommendations for improvement.
For instance, improving the efficiency of the server, redesigning the flow of the application, or
improving various security qualities are KUAs. These problems are rectified to effectively meet
the needs of the OFOS; that is, to have a proper working system as well as a smooth and secure
interface for the users. It is always beneficial to track the system and make enhancements
periodically as more users go through the system and provide feedback and test outcomes are
obtained.
Introduction
Welcome to the Online Food Ordering System! This documentation provides a step-by-step
guide to help you navigate and use the system efficiently. Whether you're a customer looking
to place an order or a restaurant owner managing your menu, this guide will walk you through
the process with clear instructions and helpful screenshots.
For Customers
Registering an Account:
Logging In:
Browsing Menus:
Placing an Order:
- Add items to your cart by selecting quantities and clicking "Add to Cart."
- Review your cart by clicking the cart icon.
- When ready, click "Checkout" to proceed to payment.
- Enter your delivery address and payment details, then click "Place Order."
Tracking Orders:
- Go to the "My Orders" section to view the status of your current orders.
- Track the estimated delivery time and order status updates.
Logging In:
Handling Payments:
- Ensure your payment details are up-to-date in the "Payment Settings" section.
- Verify transactions and resolve any payment-related issues promptly.
Conclusion
The concept of an Online Food Ordering System is one which is revolutionary in improving
the customer’s overall experience when dining and, at the same time, streamlining the
procedure for restaurants. By carefully constructing the development plan, testing, and quality
control of the system, it ensures that fundamental difficulties and essential features are covered
in order to present clients with an efficient and easy-to-use solution. Proper combination of the
front-end and back-end solutions along with various tests and fine-tuning guarantees that the
platform works as expected and stable to various conditions. Therefore in the future, and
because the system is relatively new it will be important to conduct constant updates to fit the
new requirements as well as enhance the quality of services offered on the e-commerce
platform. In summary, the Online Food Ordering System could be viewed as one of the
powerful examples of how technology is capable of making the regular processes easier and
enhancing productivity in the sphere of food services.
References
Laudon, K.C. and Traver, C.G. (2024) E-commerce 2024: business, technology, society. 18th
ed. Harlow: Pearson.
Ullman, L. (2017) PHP and MySQL for dynamic web sites: visual quickpro guide. 5th ed. San
Francisco: Peachpit Press.
MacDonald, M. (2020) HTML5: the missing manual. 3rd ed. Sebastopol: O'Reilly Media.
Bass, L., Clements, P. and Kazman, R. (2012) Software architecture in practice. 3rd ed. Boston:
Addison-Wesley.
Hadnagy, C. (2011) Social engineering: the art of human hacking. 1st ed. Indianapolis: Wiley
Publishing.
Patel, A. (2018) Responsive web design by example: beginner's guide. 2nd ed. Birmingham:
Packt Publishing.
O'Reilly, T. (2016) Web development: HTML, CSS, and JavaScript. 1st ed. San Francisco:
O'Reilly Media.
Meyers, M. (2018) CompTIA security+ certification guide. 5th ed. New York: McGraw-Hill
Education.
Shneiderman, B. and Plaisant, C. (2009) Designing the user interface: strategies for effective
human-computer interaction. 5th ed. Boston: Addison-Wesley.
Rosenzweig, G. (2015) ActionScript 3.0 game programming university. 2nd ed. Indianapolis:
Que Publishing.
Anderson, C. (2012) The long tail: why the future of business is selling less of more. 2nd ed.
New York: Hyperion.
Summers, D.C.S. (2018) Professional project management. 3rd ed. London: Cengage
Learning.