Your Project Report Here.
Your Project Report Here.
By
(2020)
Professor HOD
Vikram university
Dewas raod
Vikram university
Certificate
Technology, Third Semester, Department of Computer Science of Vikram university, has pursued
the Minor Project titled “Online Food Ordering” under the supervision of Umesh kumar yadav,
Head Of Department (HOD) and Internal guide Lokesh laddhani and the report has been
submitted in partial fulfillment of requirements for the award of the degree, Bachelor of
Professor HOD
Vikram university
Certificate
Technology, Third Semester, Department of Computer Science of Vikram university, has pursued
the Minor Project titled “Online Food Ordering” under the supervision of Umesh kumar yadav,
Head Of Department (HOD) and Internal guide Lokesh laddhani and the report has been
submitted in partial fulfillment of requirements for the award of the degree, Bachelor of
Signature Signature
ACKNOWLEDGEMENT
We express our sincere regard and indebtedness to our project internal guide Lokesh laddhani,
for his valuable time, guidance, encouragement, support and cooperation throughout the
duration of our project. We would sincerely like to thank IT Department for giving the
opportunity to work on enhancing our technical skills while undergoing this project. This project
was done under the guidance of Lokesh laddhani, Head of Department. This project helped in
understanding the various parameters which are involved in the development of a web
application and the working and integration of front end along with the back end to create a fully
We would like to thank Umesh kumar yadav, Head of Department and whole of department for their constant support.
The main objective of the Online Food Ordering System is to manage the details of Item
Category, Customer, Shopping Cart, Item Category. The project is totally built at administrative
end and thus only the administrator is guaranteed the access. The purpose of the project is to
build an application program to reduce the manual work for managing the Item Category, Food,
Customer, Delivery Address. It tracks all the details about the Delivery Address,Order,Shopping
Cart.
INDEX
1.1 Introduction 1
1.2 Aim 1
3.4 ER Diagram 11
Chapter 6 RESULTS 31 - 33
Chapter 7 ADVANTAGES 34
Chapter 8 CONCLUSION 35
BIBLIOGRAPHY 36
CHAPTER 1 : INTRODUCTION
1.1 INTRODUCTION
The project Online Food ordering system is a web based application that allows the administrator
to handle all the activities online quickly and safely. Using Interactive GUI anyone can quickly
learn to use the complete system.ONLINE TIFFIN BOOKING SYSTEM INTRODUCTION OF ONLINE
TIFFIN BOOKING SYSTEM: – Are you looking for Online Tiffin booking system for your final year
project? We are here to help you. You can contact us The project Online Tiffin booking system is a
web based application that allows the administrator to handle all the activities online quickly and
safely. Using Interactive GUI anyone can quickly learn to use the complete system. Final Year
Project Help for Computer Science Using this, the administrator doesn’t have to sit and manage
the entire activities on paper, and at the same time, the head will feel comfortable to keep check
of the whole system. This system will give him power and flexibility to manage the entire system
1.2 AIM
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
Page No. 2
1.5 FEASIBILITY STUDY
A feasibility study is a high-level capsule version of the entire System analysis and Design Process.
The study begins by classifying the problem definition. Feasibility is to determine if it’s worth
doing. Once an acceptance problem definition has been generated, the analyst develops a logical
model of the system. A search for alternatives is analyzed carefully. There are 3 parts in
feasibility study.
1) Operational Feasibility
2) Technical Feasibility
3) Economical Feasibility
Operational feasibility is the measure of how well a proposed system solves the problems, and
takes advantage of the opportunities identified during scope definition and how it satisfies the
requirements identified in the requirements analysis phase of system development.The
operational feasibility assessment focuses on the degree to which the proposed development
projects fits in with the existing business environment and objectives with regard to development
schedule, delivery date, corporate culture and existing business processes.To ensure success,
desired operational outcomes must be imparted during design and development. These include
such design-dependent parameters as reliability, maintainability, supportability, usability,
producibility, disposability, sustainability, affordability and others. These parameters are
required to be considered at the early stages of design if desired operational behaviours are to be
realised. A system design and development requires appropriate and timely application of
engineering and management efforts to meet the previously mentioned parameters. A system
may serve its intended purpose most effectively when its technical and operating characteristics
are engineered into the design. Therefore, operational feasibility is a critical aspect of systems
engineering that needs to be an integral part of the early design phases.
Page No. 3
1.5.2 TECHNICAL FEASIBILITY
This involves questions such as whether the technology needed for the system exists, how
difficult it will be to build, and whether the firm has enough experience using that technology.
The assessment is based on outline design of system requirements in terms of input, processes,
output, fields, programs and procedures. This can be qualified in terms of volume of data, trends,
frequency of updating inorder to give an introduction to the technical system. The application is
the fact that it has been developed on windows XP platform and a high configuration of 1GB RAM
on Intel Pentium Dual core processor. This is technically feasible .The technical feasibility
assessment is focused on gaining an understanding of the present technical resources of the
organization and their applicability to the expected needs of the proposed system. It is an
evaluation of the hardware and software and how it meets the need of the proposed system.
Establishing the cost-effectiveness of the proposed system i.e. if the benefits do not outweigh the
costs then it is not worth going ahead. In the fast paced world today there is a great need of online
social networking facilities. Thus the benefits of this project in the current scenario make it
economically feasible. The purpose of the economic feasibility assessment is to determine the
positive economic benefits to the organization that the proposed system will provide. It includes
quantification and identification of all the benefits expected. This assessment typically involves a
cost/benefits analysis.
Page No. 4
1.6 Giant Chart
Page No. 5
1.7 ORGANISATION OF THE REPORT
1.7.1 INTRODUCTION
This section includes the overall view of the project i.e. the basic problem definition and the
general overview of the problem which describes the problem in layman terms. It also specifies
the software used and the proposed solution strategy.
This section includes the Software and hardware requirements for the smooth running of the
application.
This section consists of the Software Development Life Cycle model. It also contains technical
diagrams like the Data Flow Diagram and the Entity Relationship diagram.
This section describes the different technologies used for the entire development process of the
Front-end as well as the Back-end development of the application.
This section has screenshots of all the implementation i.e. user interface and their description.
This section has screenshots of all the implementation i.e. user interface and their description.
Page No. 6
CHAPTER 2 : SOFTWARE REQUIREMENTS SPECIFICATION
Number Description
2 PC with 2 GB RAM.
2 Language PHP
3 Database MySQL
Page No. 7
CHAPTER 3 : DESIGN & PLANNING
The waterfall model was selected as the SDLC model due to the following reasons:
Page No. 8
3.2 GENERAL OVERVIEW
Page No. 9
3.3 Flow Chart
Page No. 10
3.4 ER Diagram
Page No. 11
3.5 DFD Diagram
Page No. 12
3.5.2 First-Level DFD Diagram
Page No. 13
3.5.3 Second-Level DFD Diagram
Page No. 14
CHAPTER 4 : IMPLEMENTATION DETAILS
In this Section we will do Analysis of Technologies to use for implementing the project.
4.1.1 HTML
Hypertext Markup Language (HTML) is the standard markup language for documents designed to
be displayed in a web browser. It can be assisted by technologies such as Cascading Style Sheets
(CSS) and scripting languages such as JavaScript.
Web browsers receive HTML documents from a
web server or from local storage and render the documents into multimedia web pages. HTML
describes the structure of a web page semantically and originally included cues for the
appearance of the document.
HTML elements are the building blocks of HTML pages. With HTML constructs, images and other
objects such as interactive forms may be embedded into the rendered page. HTML provides a
means to create structured documents by denoting structural semantics for text such as headings,
paragraphs, lists, links, quotes and other items. HTML elements are delineated by tags, written
using angle brackets. Tags such as <img /> and <input /> directly introduce content into the page.
Other tags such as <p> surround and provide information about document text and may include
other tags as sub-elements. Browsers do not display the HTML tags, but use them to interpret the
content of the page.
HTML can embed programs written in a scripting language such as JavaScript, which affects the
behavior and content of web pages. Inclusion of CSS defines the look and layout of content. The
World Wide Web Consortium (W3C), former maintainer of the HTML and current maintainer of
the CSS standards, has encouraged the use of CSS over explicit presentational HTML since 1997.
Page No. 15
4.1.2 Css
Cascading Style Sheets (CSS) is a style sheet language used for describing the presentation of a
document written in a markup language like HTML.CSS is a cornerstone technology of the World
Wide Web, alongside HTML and JavaScript.CSS is designed to enable the separation of
presentation and content, including layout, colors, and fonts.This separation can improve content
accessibility, provide more flexibility and control in the specification of presentation
characteristics, enable multiple web pages to share formatting by specifying the relevant CSS in a
separate .css file, and reduce complexity and repetition in the structural content.
CSS information can be provided from various sources. These sources can be the web browser,
the user and the author. The information from the author can be further classified into inline,
media type, importance, selector specificity, rule order, inheritance and property definition. CSS
style information can be in a separate document or it can be embedded into an HTML document.
Multiple style sheets can be imported. Different styles can be applied depending on the output
device being used; for example, the screen version can be quite different from the printed
version, so that authors can tailor the presentation appropriately for each medium.The style
sheet with the highest priority controls the content display. Declarations not set in the highest
priority source are passed on to a source of lower priority, such as the user agent style. The
process is called cascading.
One of the goals of CSS is to allow users greater control over presentation. Someone who finds red
italic headings difficult to read may apply a different style sheet. Depending on the browser and
the web site, a user may choose from various style sheets provided by the designers, or may
remove all added styles and view the site using the browser's default styling, or may override just
the red italic heading style without altering other attributes.
Page No. 16
4.1.3 Bootstrap
Bootstrap is a free and open-source CSS framework directed at responsive, mobile-first front-end
web development. It contains CSS- and (optionally) JavaScript-based design templates for
typography, forms, buttons, navigation and other interface components.Bootstrap is the third-
most-starred project on GitHub, with more than 135,000 stars, behind only freeCodeCamp (almost
305,000 stars) and marginally behind Vue.js framework.According to Alexa Rank, Bootstrap
getbootstrap.com is in the top-2000 in US while vuejs.org is in top-7000 in US.
Bootstrap is a web framework that focuses on simplifying the development of informative web
pages (as opposed to web apps). The primary purpose of adding it to a web project is to apply
Bootstrap's choices of color, size, font and layout to that project. As such, the primary factor is
whether the developers in charge find those choices to their liking. Once added to a project,
Bootstrap provides basic style definitions for all HTML elements. The result is a uniform
appearance for prose, tables and form elements across web browsers. In addition, developers can
take advantage of CSS classes defined in Bootstrap to further customize the appearance of their
contents. For example, Bootstrap has provisioned for light- and dark-colored tables, page
headings, more prominent pull quotes, and text with a highlight.
Bootstrap is a web framework that focuses on simplifying the development of informative web
pages (as opposed to web apps). The primary purpose of adding it to a web project is to apply
Bootstrap's choices of color, size, font and layout to that project. As such, the primary factor is
whether the developers in charge find those choices to their liking. Once added to a project,
Bootstrap provides basic style definitions for all HTML elements. The result is a uniform
appearance for prose, tables and form elements across web browsers. In addition, developers can
take advantage of CSS classes defined in Bootstrap to further customize the appearance of their
contents. For example, Bootstrap has provisioned for light- and dark-colored tables, page
headings, more prominent pull quotes, and text with a highlight.
Page No. 17
4.2 : BACK END
4.2.1 PHP
PHP is a server side scripting language that is used to develop Static websites or Dynamic
websites or Web applications. PHP stands for Hypertext Pre-processor, that earlier stood for
Personal Home Pages.
PHP scripts can only be interpreted on a server that has PHP installed.
The
client computers accessing the PHP scripts require a web browser only.
A PHP file contains PHP
tags and ends with the extension ".php".
The term PHP is an acronym for PHP: Hypertext Preprocessor. PHP is a server-side scripting
language designed specifically for web development. PHP can be easily embedded in HTML files
and HTML codes can also be written in a PHP file. The thing that differentiates PHP with client-
side language like HTML is, PHP codes are executed on the server whereas HTML codes are
directly rendered on the browser.
Page No. 18
4.2.2 MySQL
MySQL is pretty easy to master in comparison with other database software like Oracle Database,
or Microsoft SQL Server.
MySQL can run on various platforms UNIX, Linux, Windows, etc. You
can install it on a server or even in a desktop. Besides, MySQL is reliable, scalable, and fast.
The
official way to pronounce MySQL is My Ess Que Ell, not My Sequel. However, you can pronounce
it whatever you like, who cares?
MySQL is free and open-source software under the terms of the GNU General Public License, and
is also available under a variety of proprietary licenses. MySQL was owned and sponsored by the
Swedish company MySQL AB, which was bought by Sun Microsystems (now Oracle
Corporation).In 2010, when Oracle acquired Sun, Widenius forked the open-source MySQL
project to create MariaDB.
MySQL is a component of the LAMP web application software stack (and others), which is an
acronym for Linux, Apache, MySQL, Perl/PHP/Python. MySQL is used by many database-driven
web applications, including Drupal, Joomla, phpBB, and WordPress. MySQL is also used by many
popular websites, including Facebook, Youtube, Twitter and so on.
Page No. 19
CHAPTER 5 : TESTING AND IMPLEMENTATION
The term implementation has different meanings ranging from the conversation of a basic
application to a complete replacement of a computer system. The procedures however, are
virtually the same. Implementation includes all those activities that take place to convert from
old system to new. The new system may be totally new replacing an existing manual or
automated system or it may be major modification to an existing system. The method of
implementation and time scale to be adopted is found out initially. Proper implementation is
essential to provide a reliable system to meet organization requirement.
5.1.1 Introduction
In computer programming, unit testing is a software testing method by which individual units
of source code, sets of one or more computer program modules together with associated control
data, usage procedures, and operating procedures, are tested to determine whether they are fit
for use. Intuitively, one can view a unit as the smallest testable part of an application.
In procedural programming, a unit could be an entire module, but it is more commonly an
individual function or procedure. In object-oriented programming, a unit is often an entire
interface, such as a class, but could be an individual method. Unit tests are short code fragments
created by programmers or occasionally by white box testers during the development process. It
forms the basis for component testing. Ideally, each test case is independent from the others.
Substitutes such as method stubs, mock objects, fakes, and test harnesses can be used to assist
testing a module in isolation. Unit tests are typically written and run by software developers to
ensure that code meets its design and behaves as intended.
Page No. 20
5.1.2 Benifits
The goal of unit testing is to isolate each part of the program and show that the individual parts
are correct. A unit test provides a strict, written contract that the piece of code must satisfy. As a
result, it affords several benefits.
1) Find problems early : Unit testing finds problems early in the development cycle. In test-
driven development (TDD), which is frequently used in both extreme programming and scrum,
unit tests are created before the code itself is written. When the tests pass, that code is considered
complete. The same unit tests are run against that function frequently as the larger code base is
developed either as the code is changed or via an automated process with the build. If the unit
tests fail, it is considered to be a bug either in the changed code or the tests themselves. The unit
tests then allow the location of the fault or failure to be easily traced. Since the unit tests alert the
development team of the problem before handing the code off to testers or clients, it is still early
in the development process.
2 ) Facilitates Change : Unit testing allows the programmer to refactor code or upgrade system
libraries at a later date, and make sure the module still works correctly (e.g., in regression
testing). The procedure is to write test cases for all functions and methods so that whenever a
change causes a fault, it can be quickly identified. Unit tests detect changes which may break
a design contract.
3 ) Simplifies Integration : Unit testing may reduce uncertainty in the units themselves and can
be used in a bottom-up testing style approach. By testing the parts of a program first and then
testing the sum of its parts, integration testing becomes much easier.
Page No. 21
5.2 : INTEGRATION TESTING
Integration testing (sometimes called integration and testing, abbreviated I&T) is the phase
in software testing in which individual software modules are combined and tested as a group. It
occurs after unit testing and before validation testing. Integration testing takes as its
input modules that have been unit tested, groups them in larger aggregates, applies tests defined
in an integration test plan to those aggregates, and delivers as its output the integrated system
ready for system testing.
5.2.1 Purpose
Page No. 22
5.2.1.1 Big Bang
In the big-bang approach, most of the developed modules are coupled together to form a
complete software system or major part of the system and then used for integration testing. This
method is very effective for saving time in the integration testing process. However, if the test
cases and their results are not recorded properly, the entire integration process will be more
complicated and may prevent the testing team from achieving the goal of integration testing.A
type of big-bang integration testing is called "usage model testing" which can be used in both
software and hardware integration testing. The basis behind this type of integration testing is to
run user-like workloads in integrated user-like environments. In doing the testing in this manner,
the environment is proofed, while the individual components are proofed indirectly through
their use. Usage Model testing takes an optimistic approach to testing, because it expects to have
few problems with the individual components. The strategy relies heavily on the component
developers to do the isolated unit testing for their product. The goal of the strategy is to avoid
redoing the testing done by the developers, and instead flesh-out problems caused by the
interaction of the components in the environment.
Bottom-up testing is an approach to integrated testing where the lowest level components are
tested first, then used to facilitate the testing of higher level components. The process is repeated
until the component at the top of the hierarchy is tested.All the bottom or low-level modules,
procedures or functions are integrated and then tested. After the integration testing of lower level
integrated modules, the next level of modules will be formed and can be used for integration
testing. This approach is helpful only when all or most of the modules of the same development
level are ready. This method also helps to determine the levels of software developed and makes
it easier to report testing progress in the form of a percentage.Top-down testing is an approach to
integrated testing where the top integrated modules are tested and the branch of the module is
tested step by step until the end of the related module.Sandwich testing is an approach to
combine top down testing with bottom up testing.
Page No. 23
5.3 : SOFTWARE VERIFICATION AND VALIDATION
5.3.1 Introduction
In software project management, software testing, and software engineering, verification and
validation (V&V) is the process of checking that a software system meets specifications and that it
fulfills its intended purpose. It may also be referred to as software quality control. It is normally
the responsibility of software testers as part of the software development lifecycle. Validation
checks that the product design satisfies or fits the intended use (high-level checking), i.e., the
software meets the user requirements.This is done through dynamic testing and other forms of
review.Verification and validation are not the same thing, although they are often
confused. Boehm succinctly expressed the difference between
Software Verification: The process of evaluating software to determine whether the products of a
given development phase satisfy the conditions imposed at the start of that phase.
Software Validation: The process of evaluating software during or at the end of the development
process to determine whether it satisfies specified requirements.
In other words, software verification is ensuring that the product has been built according to the
requirements and design specifications, while software validation ensures that the product meets
the user's needs, and that the specifications were correct in the first place. Software verification
ensures that "you built it right". Software validation ensures that "you built the right thing".
Software validation confirms that the product, as provided, will fulfill its intended use.
Page No. 24
From Testing Perspective
Both verification and validation are related to the concepts of quality and of software quality
assurance. By themselves, verification and validation do not guarantee software quality;
planning, traceability, configuration management and other aspects of software engineering are
required.Within the modeling and simulation (M&S) community, the definitions of verification,
validation and accreditation are similar:
Page No. 25
5.3.2 Classification of Methods
A test case is a tool used in the process. Test cases may be prepared for software verification and
software validation to determine if the product was built according to the requirements of the
user. Other methods, such as reviews, may be used early in the life cycle to provide for software
validation.
Page No. 26
5.4 Black-Box Testing
Test cases are built around specifications and requirements, i.e., what the application is supposed
to do. Test cases are generally derived from external descriptions of the software, including
specifications, requirements and design parameters. Although the tests used are
primarily functional in nature, non-functional tests may also be used. The test designer selects
both valid and invalid inputs and determines the correct output, often with the help of
an oracle or a previous result that is known to be good, without any knowledge of the test object's
internal structure.
Page No. 27
5.5 : White-Box Testing
White-box testing (also known as clear box testing, glass box testing, transparent box testing,
and structural testing) is a method of testing software that tests internal structures or workings of
an application, as opposed to its functionality (i.e. black-box testing). In white-box testing an
internal perspective of the system, as well as programming skills, are used to design test cases.
The tester chooses inputs to exercise paths through the code and determine the appropriate
outputs. This is analogous to testing nodes in a circuit, e.g. in-circuit testing (ICT). White-box
testing can be applied at the unit, integration and system levels of the software testing process.
Although traditional testers tended to think of white-box testing as being done at the unit level, it
is used for integration and system testing more frequently today. It can test paths within a unit,
paths between units during integration, and between subsystems during a system–level test.
Though this method of test design can uncover many errors or problems, it has the potential to
miss unimplemented parts of the specification or missing requirements.
5.5.1 Levels
1 ) Unit testing : White-box testing is done during unit testing to ensure that the code is working
as intended, before any integration happens with previously tested code. White-box testing
during unit testing catches any defects early on and aids in any defects that happen later on after
the code is integrated with the rest of the application and therefore prevents any type of errors
later on.
2 ) Integration testing : White-box testing at this level are written to test the interactions of each
interface with each other. The Unit level testing made sure that each code was tested and working
accordingly in an isolated environment and integration examines the correctness of the
behaviour in an open environment through the use of white-box testing for any interactions of
interfaces that are known to the programmer.
3 ) Regression testing : White-box testing during regression testing is the use of recycled white-
box test cases at the unit and integration testing levels.
Page No. 28
5.5.2 Procedures
White-box testing's basic procedures involves the tester having a deep level of understanding of
the source code being tested. The programmer must have a deep understanding of the application
to know what kinds of test cases to create so that every visible path is exercised for testing. Once
the source code is understood then the source code can be analyzed for test cases to be created.
These are the three basic steps that white-box testing takes in order to create test cases:
Page No. 29
5.6 : SYSTEM TESTING
Page No. 30
CHAPTER 6 : RESULTS
Page No. 31
6.2 User Login
Page No. 32
6.3 Admin Login
Page No. 33
CHAPTER 7 : ADVANTAGES
Page No. 34
CHAPTER 8 : CONCLUSION
Finally, in Online Food Ordering system, we have developed secure, user-friendly food ordering
Management System. This System can take care of each member whether it is an Administrator
or Customer.This System will help them to properly manage the meals of the customers, the
delivery boy’s data and help in growth without creating any hassle. This System is completely
secure since every user is provided with user ID and Password so there is no chance of any
unauthorised access.Online Payment, Registration and cancellation make it easier to use. So,
using this system will help in reducing the labour and provide more facility for Customer to like
the services.
Page No. 35
CHAPTER 8 : BIBLIOGRAPHY
https://www.javatpoint.com
https://www.w3schools.com
https://html.com
Page No. 36