Final 6th Sem Project Report
Final 6th Sem Project Report
Final 6th Sem Project Report
A Project Report
On
Submitted to
Department of Computer Application
Ambition College
Mid Baneshwor, Kathmandu
Submitted by
Ajay Kumar Yadav
TU Roll No.: 10581055
August, 2022
Supervisor’s Recommendation
This is to certify that this project prepared by Ajay Kumar Yadav entitled “Online
Catering System” in partial fulfillment of the requirements for the degree of Bachelor in
Computer Application has been evaluated. In our opinion it is satisfactory in the scope
and quality as a project for the required degree.
………………………...
LETTER OF APPROVAL
This is to certify that this project prepared by Ajay Kumar Yadav entitled “Online
Catering System” in partial fulfillment of the requirements for the degree of Bachelor in
Computer Application has been evaluated. In our opinion it is satisfactory in the scope
and quality as a project for the required degree.
Evaluation Committee
………………………………. ………………………………
Mr. Ramesh Kumar Chaudhary Mr. Bishnu Kumar Ghimire
Supervisor Campus Chief
BCA/B.Sc. CSIT Department Ambition College
Mid Baneshwor, Kathmandu
…………………… ……………………………
Internal External
Prof. Dr. Subarna Shakya
Dept. of Electronics and computer Engineering
Pulchowk Campus
IOE, Tribhuvan University
Acknowledgement
I would like to acknowledge all those without whom this project would not have been
successful. Firstly, I would wish to thank every lecturer who guided us throughout the
project and gave his/her immense support. They made us understand how to successfully
complete this project and without them, the project would not have been complete.
Then huge thanks and gratitude to our supervisor, Mr. Ramesh Kumar Chaudhary for
his expertise, guidance and feedbacks throughout project development phase. I would also
like to thank our BCA faculty members for assisting in the different scope and helping us
to solve obstacles.
This project has been a source to learn and bring our theoretical knowledge to the real-life
world. So, I would really acknowledge their help and guidance for this project. I would
also like to thank my parents who have always been there whenever needed.
I
Abstract
Increased demand of restaurant-goers generated the need for much attention for the
hospitality industry. Providing much option with ease of ordering and delivering is the
need of the hours. Technological interference has become mandatory to improve the
quality of the service and business in this industry. Evidences are already existed for
partial automation of food ordering process in the country; most of these technologies
implemented are based on wireless technologies.
Whilst using the system, the admin can login and manage every contents of the site.
Similarly, the customers can create their account, choose a menus of dishes and Catering
Facilities which they can afford and book it. The customers can also manage their
passwords, see their bookings and add descriptions to their testimonials.
II
Table of Contents
Acknowledgement .............................................................................................................. I
Abstract .............................................................................................................................. II
List of Figures .................................................................................................................. III
List of Tables ................................................................................................................... IV
List of Abbreviations ........................................................................................................ V
Chapter 1: Introduction ................................................................................................... 1
1.1 Introduction ...................................................................................................................... 1
1.2 Problem Statement .......................................................................................................... 2
1.3 Objective........................................................................................................................... 2
1.4 Scope and Limitations ...................................................................................................... 2
1.5 Report Organization ......................................................................................................... 3
Chapter 2: Background Study and Literature Review ................................................. 4
2.1 Background Study............................................................................................................. 4
2.2 Literature Review ............................................................................................................. 4
Chapter 3: Methodology................................................................................................... 6
3.1 Methodology .................................................................................................................... 6
3.1.1 Requirement Analysis ............................................................................................... 6
3.1.2 Feasibility Analysis .................................................................................................... 8
3.1.3 Data Modeling .......................................................................................................... 9
3.1.4 Process Model ........................................................................................................ 10
3.1.5 Architectural Design ............................................................................................... 12
3.1.6 Database Schema Design ....................................................................................... 13
3.2 Development Methodology ........................................................................................... 16
Chapter 4: Implementation and Testing....................................................................... 18
4.1 Implementation .............................................................................................................. 18
4.1.1 Tools Used .............................................................................................................. 18
4.1.2 Algorithm ................................................................................................................ 19
4.1.3 Implementation Details of Modules....................................................................... 21
4.2 Testing ............................................................................................................................ 21
4.2.1 Testing cases for unit Testing ................................................................................. 21
4.2.2 System Testing ........................................................................................................ 25
Chapter 5: Conclusion and Future Recommendation ................................................. 26
5.1 Lesson Learnt .................................................................................................................. 26
5.2 Conclusion ...................................................................................................................... 27
5.3 Future Recommendation ............................................................................................... 27
Reference ......................................................................................................................... 28
Appendix – I – System Screenshots .................................................................................. i
Appendix- II: Source Code .............................................................................................ii
List of Figures
Figure 3.1: Use Case Diagram ............................................................................................. 7
Figure 3.2: ER Diagram of Online Catering System ......................................................... 10
Figure 3.3: DFD 0 level of Online Catering System ......................................................... 11
Figure 3.4: DFD 1 Level of Online Catering System ........................................................ 11
Figure 3.5: DFD 2 Level of Online Catering System ........................................................ 12
Figure 3.6: Login Flow chart ............................................................................................. 13
Figure 3.7: Waterfall Model…………………………………………………………………………………………………..16
Figure 3.8: Linear Search ................................................................................................... 21
Figure 3.9: User or Requester registration ......................................................................... 25
Figure 4.1: User or Requester Login.................................................................................. 25
Figure 4.2: Admin Dashboard............................................................................................ 26
Figure 4.3: User profile editing.......................................................................................... 26
III
List of Tables
Table 3.1: Admin Login Table........................................................................................... 13
IV
List of Abbreviations
CRUD: Create Return Update Delete
JS: JavaScript
V
Chapter 1: Introduction
1.1 Introduction
Web development refers to building, creating, and maintaining websites. It includes
aspects such as web design, web programming, and database design and management.
The large organizations mostly focus on the creative designing and they mostly design the
project by writing their own codes which can mean more to the users and can enhance the
skills of developer too, whereas, some of the small organizations prefer designing the web
based projects by using cms like word press and joomla, which is fast but it can make you
lazy and doesn’t helps developers to enhance their coding skills.
Web development can be done by using different languages like HTML, CSS, PHP,
Javascript, Python, sql, etc. HTML, CSS and java scripts are mainly used for the frontend
development that manages the user interface of the website. It helps to make the website
look attractive and dynamic. Whereas languages like Python, PHP are used to perform the
backend actions of the project. It can build the interaction between the frontend and the
database (designed by using sql). The backend decides how the system works and how
the internal structure of the programs processes and redirects the data to the user interface
of the system.
Online Catering system is a web based system for any Peoples, Organizations that book
out Food system. This system enables the company to make their services available to the
public through the internet. Developing an Online Food Court Ordering system to
promote a greater count of food lovers to splurge into the field of Restaurant was the
objective of this study. Нis particular system provide the benefit of the easy ordering
process online from anywhere along with ample choices for the customers in less time
and less expenditures. Нis latest eوort
ٴwill definitely usher an edge in the existing manual
platform used so far for such an important aspect along with greater flexibility and
sophistication in the use of the technology. Нe system also aided E-ordering option for
the customers with multiple other benefits. Similarly, this project is also based on web
development. The purpose of our project is to design a web based Catering System portal
using the languages like HTML, CSS, Bootstrap, Jquery, JavaScript, PHP and sql.
1
1.2 Problem Statement
We searched for the systems that are built for online catering system purpose in our area.
After doing some researches we found out that no proper system is available where we
can provide our service to different areas through the same system or same application
software. Some apps are used to provide food only and some system are used for
providing donations to a specific organization only. After finding out these problems we
have decided to build a system where a caterer can provide direct help to different people
from different areas, different organizations according to the type of service they take.
Also, building a system like this will be difficult as there are many applications available
in the market. We have to create something new in our project which should be able to
overcome the problems with current systems available. Creating something uniqueness in
our project would be a challenging task for us.
1.3 Objective
The objectives of Online Catering system are as follows: -
To Provide Our Service or Serve Food to needy people.
To develop a system for online catering system.
To make the availability of online catering service at minimum cost.
Limitations
User interface is only in English
Internet reliance means internet is not everywhere yet so that area cannot be
connected.
People who are not familiar with computers can’t use this application.
2
1.5 Report Organization
Chapter 1: Introduction of the project along with project scope limitations and objectives
are described.
Chapter 2: Background study related to the project along with general descriptions of
project functions and components. Literature review in order to have broader
understanding of the project concepts based on research done previously and analyze
similar systems for comparison with project.
Chapter 3: Methodology, System Analysis and Design of the system using various charts
and figures. Functional requirements defined using use cases and other techniques.
Database schema, interface design and deployment diagram are included.
Chapter 4: Tools and techniques used for project implementation along with algorithms
used in the project and creation of test cases to test the system as unit and as a whole.
Chapter 5: Lessons learnt from start to finishing the project, future recommendations for
other projects and project conclusion.
3
Chapter 2: Background Study and Literature Review
2.1 Background Study
Recently, food business has become popular business and had increased rate in business
sector. It has made rapid competition among them. Pujas Lera restaurant is one of the
restaurants which is located Infront of Muhammadiyah University of Surakarta. There are
lots of stands which provide some kinds of food. The manager of Pujas Lera restaurant
said that to do his business, he still uses paper-based system. One of the weaknesses when
doing such a system is the calculation of money which is done manually and the end
process of calculation is to know the income. If we use paper- based, it will spend much
time. Therefore, it can give disadvantage in many cases. Paper- based system will make
difficult the worker when giving service toward their customers or guests. Based on the
problem, the manager of Pujas Lera restaurant needs special software which is able to
help in doing restaurant management and giving better service to their customers.
(Zeithaml&Bitner, 2003)In food delivery business Service Encounter does not happen
frequently because in online food ordering and delivery business there is no direct
interaction with restaurants. Consumers usually rely on information updated on restaurant
search engine portals. Customer make their choices, perception by reading reviews and
ratings given by critics and seasoned customers.. According to RedSeer Consulting firm
(www.redseer.com- Feb18)states that food delivery sector is continuously increasing 15%
per quarter.[2]
Kamran Ahsanet. al (2013)In food ordering and delivery services cloud services are
playing very vital role in food ordering and delivery services such as customer service,
relationship management, supply chain management, etc.Due to technological moment
food ordering and delivery services wants to ensure that ordered food must deliver at right
place at right time and to right person.[3]
4
The reviewed literature suggests that the magnitude and complexity of this problem has
been tackled by several studies. But based on our findings there was a great discrepancy
between user focus. We also did small research on people’s engagement with these
system. From the observation we found out that there is a need to incorporate techniques
that attract people more towards such system.[4]
After studying these above research and journals, we got a basic idea about the history
and about how the Catering System business took off. This research also gave us the ideas
about the UI design and how the Catering system works on the basis of both user and
admin’s view as a whole.[5]
5
Chapter 3: Methodology
3.1 Methodology
System Analysis is a problem-solving technique that improves the system and ensures
that all the components of the system work efficiently to accomplish their purpose.
Systems analysis is the process by which an individual (s) studies a system such that an
information system can be analyzed, modeled, and a logical alternative can be chosen.
Systems analysis projects are initiated for three reasons: problems, opportunities, and
directives. A systems analyst researches problem, plans, solutions, recommends software
and systems, and coordinates development to meet business or other requirements. The
main goal of this system analyst is to collect different data from different site, process
these data and generate progress as well as daily report.
I. Functional Requirements
These are the requirements that the end user specifically demands as basic facilities that
the system should offer. These are represented or stated in the form of input to be given to
the system, the operation performed and the output expected. They are basically the
requirements stated by the user which one can see directly in the final product. The
functions like for Add/Edit/Delete data on their Profiles,View Request etc.
The functional requirements are mapped using Use Case diagrams as it shows the
functions of the system at the most basic level.
A use case diagram is essentially a picture showing system behavior along with the key
actors that interact with the system. The use case represents complete functionality. The
use case should contain all system activities that have significance to the users. A use case
can be thought of as a collection of possible scenarios related to a particular goal, indeed.
6
Use cases can be employed during several stages of software development, such as
planning system requirements, validating design and testing software, [5]
7
II. Non-functional Requirements
These are basically the quality constraints that the system must satisfy according to the
project contract. The priority or extent to which these factors are implemented varies from
one project to other. They are also called non-behavioral requirements.
Integrity
Security should be taken into account. Our software should let attackers access
unauthorized resources. Also, data validation is important so that bad data can’t be saved
into the system.
Efficiency
The less resource a piece of software uses, the better. Processor, memory and disk space
usage should be minimized.
Reliability
A system that can perform the required functions stably is important. Failures should be as
rare as possible.
Maintainability
If any error occurs it should be easily maintable.
Portability
A system that operates in different environments from which it’s originally designed
makes it good.
8
Some types of feasibilities are as follows:
Technical Feasibility
Technical feasibility refers to technical resources needed to develop purchase install or,
operate the system like software hardware and networking system etc.
Economic Feasibility
Economic feasibility means that projected benefits of the proposed system outweigh the
estimated costs usually considered the total costs of ownership which includes ongoing
support and maintenance costs, as well as acquisition cost.
Operational Feasibility
This system reduces the work load and loss of information, saves time and would help to
the system generalized rather than person dependent.
Legal Feasibility
In format system has a legal impact legal feasibility is measure of how well a solution can
be implemented within existing legal and organization is policy
9
ER Diagrem
DFD 0 Level
The 0 Level DFD shows flow of data of application. DFD Level 0 is also called a Context
Diagram. It's a basic overview of the whole system or process being analyzed or modeled.
10
Figure 3.3: DFD 0 level of Online Catering System
DFD 1 Level
DFD Level 1 provides a more detailed breakout of pieces of the Context Level Diagram.
This DFD describes main functions carried out by the system, as we break down the high-
level process of the context Diagram into its sub-processes.
11
DFD 2 Level
The DFD 2 Level describes flow of data in more detail. DFD Level 2 goes one step
deeper into parts of Level 1. It may require more text to reach the necessary level of detail
about the system's functioning
12
Login
a_login_id # int(11)
a_name varchar(60)
a_email varchar(60)
a_password varchar(60)
13
Table 3.2: Requester/User Login Table
r_login_id # int(11)
r_name varchar(60)
r_email varchar(60)
r_password varchar(60)
custid # int(11)
custname varchar(60)
custadd varchar(60)
cpquantity varchar(60)
cpeach int(11)
cptotal int(11)
cpdate date
Pid # int(11)
Pname varchar(60)
pdop date
pava int(11)
ptotal int(11)
poriginalcost int(11)
psellingcost nt(11)
14
Table 3.5: Submit request table
request_id int(11)
request_info text
request_desc text
requester_name varchar(60)
requester_add1 text
requester_add2 text
requester_city varchar(60)
requester_state varchar(60)
requester_zip int(11)
requester_email varchar(60)
requester_mobile int(11)
requester_date date
Relational Schema
adminlogin(a_login_id, a_name, a_email, a_password)
15
3.2 Development Methodology
There are various methodologies in software development practices. Among them,
waterfall mythology is implemented as the requirement desired by the organization is
fixed and need not be changed in the future. Waterfall method is popular for development
of IT projects in a Waterfall model, each phase must be completed before the next phase
can begin and there is no overlapping in the phases. In “The Waterfall” approach, the
whole process of software development is divided into separate phases. The outcome of
one phase acts as the input for the next phase sequentially. This means that any phase in
the development process begins only if the previous phase is complete.
Requirements Specification
The aim of this phase is to understand the exact requirements of the customer and to
document them properly. Both the customer and the software developer work together so
as to document all the functions, performance, and interfacing requirement of the
software.
16
Architectural Design
The second phase is a system design. In this stage, a design of the system is created. A
complete design of system is created, it is a blueprint of a system. It gives a brief idea of
the system to the user. The design helps in developing the system efficiently
Detailed Design
This phase aims to transform the requirements gathered in the SRS into a suitable form
which permits further coding in a programming language. It defines the overall software
architecture together with high level and detailed design. All this work is documented as a
Software Design Document
During testing, the code is thoroughly examined and modified. Small modules are tested
in isolation initially. After that these modules are tested by writing some overhead code to
check the interaction between these modules and the flow of intermediate output.
17
Chapter 4: Implementation and Testing
4.1 Implementation
The Software Process Models are the various processes or methodologies that are being
selected for the development of the project depending on the project's aims and goals.
There are many development life cycle models that have been developed in order to
achieve different required objectives. Choosing right model for developing of the
software product or application is very important. Based on the model the development
and testing processes are carried out.
XAMPP Server
XAMPP is one of the widely used cross-platform web servers, which helps developers to
create and test their programs on a local web server. It is used in the project development
to locally host the portal and store its database centrally.
18
Lucid.app (Software Design Tool)
Lucid.app used to generate various UML diagrams for system analysis and design.
Diagrams were created using this tool in order to save time since all components are
available with drag and drop functions and it also allows backup the diagrams.
4.1.2 Algorithm
Admin Login Algorithm
Start
Enter admin login details
IF (not valid)
Display error and redirect
ELSE IF (details valid)
Check if username and password exist in database
IF (details exist)
Allow login and redirect to Home
ELSE
Show error message
19
Display assigned request in request order.
Linear Search
Linear search is a very simple search algorithm. In this type of search, a sequential search
is made over all items one by one. Every item is checked and if a match is found then that
particular item is returned, otherwise the search continues till the end of the data
collection. It checks each element of the list sequentially until a match is found or the
whole list has been searched.
Procedure:
Step 2: Compare the current element with the target element. If matches, then go to step
5.
Step 3: If there is a next element, then set current element to next element and go to Step
2.
20
Figure3.8: Linear Search
Admin Module
Admin module consist a functionality that can only be accessed by admin in which admin
can watch all the process through dashboard, can view request orders and their processed,
can view request received through request, can add or delete assets, can add remove
customer.
4.2 Testing
Software Testing is a method to check whether the actual software product matches
expected requirements and to ensure that software product is defect free. It involves
execution of software/system components using manual or automated tools to evaluate
one or more properties of interest. The purpose of software testing is to identify errors,
gaps or missing requirements in contrast to actual requirements.
Admin login
User/Requester login
Request Submit
Adding and deleting accounts
3) Click Log in
3) Click Log in
22
Table 4.3: User Login with valid data
3) Click Log in
23
Table 4.6: Submit Request with incomplete data
8) Click
Submit
24
4.2.2 System Testing
25
Figure 4.2: Admin Dashboard
The main objective of the project was to create a fully dynamic website that interacts with
the database and provide different services to the different user according to their
Demand. Throughout the project the most important lesson we learned is teamwork and
time management.
26
We learned different database operations as well as frontend events. Most importantly we
learned about real time software development process within limited time.
Documentation and debugging techniques were learnt as it plays vital role in development
of any software.
We learned about how communication, mutual understandings and leadership within
development team helps in development of software without any error and within limited
time bound.
5.2 Conclusion
Information technology have changed the life of people, online medium is becoming the
first choice in any commercial as well as non-commercial organizations. Website is
becoming the inseparable part of the organization. Catering website can be valuable
source of information and can be effective tool to improve communication, engagement,
strength, and build a solid trusting reputation within community.
The interface as well as the backend functionalities of the system is user friendly and easy
to use so any user with general knowledge of internet can easily use, manage and handle
the system. The system doesn’t need any complex tolls and hardware to run it can simply
run on any internet browser available. The system will help managing records of
customers from admin panel to Customers as well as Customer to admin so it can be
effective and time saving for both parties.
● Fully functional reservation platform so that payment can be done through online
transaction.
● The website can be made for multi-organization and any Consumer so that a
single website could be used to manage many More.
27
Reference
[1] D. S. Biradar, G. Badiger, A. and S. Muttagi, Review on Literature Survey Share My
Food, 2021.
[2] I. Madisch, S. Hofmayer and H. Fickensche, "Research Gate," May 2008. [Online].
Available: https://www.researchgate.net/. [Accessed January 2022].
[3] Visual Paradigm Online. (2021) Object Management Group
Organization.[Online].https://online.visual-paradigm.com/app/diagrams/
[4]Researched on internet. Available at website https://www.rsisinternational.org/virtual-
library/papers/tag/literature-review-on-online-food-ordering-system-pdf/
Bibliography:
[1] "WEB CONTENT MANAGEMENT SYSTEM," International Journal of Innovative
ResearchinAdvancedEngineering(IJIRAE),pp.51-56,2016.[Online].
http://www.iosrjournals.org/iosrjce/papers/Conf.17003/Volume-2/15.%2079-82.pdf
[2]MySQL.(2018)Oracle
Corporation.[Online].https://dev.mysql.com/doc/refman/8.0/en/fulltext-natural-
language.html
28
Appendix – I – System Screenshots
Homepage
Admin Login
i
User Login
$servername = "localhost";
$username = "root";
$password = "";
$database = "website";
//create connection
$conn = new mysqli($servername, $username, $password,
$database);
//check connection
if($conn->connect_error) {
die("Connection failed:" . $conn->connect_error);
}
//$conn->query($sql);
?>
User.php
<div class="lockscreen-wrapper">
<div class="lockscreen-logo">
<a href="../index.php"><img src = "../img/cc.png"/></a>
<a style = "color:white;"
href="../index.php"><b>Yadav's</b>Catering</a>
</div>
<!-- User name -->
<div class="lockscreen-name">Administrator</div>
<div class="input-group-btn">
<button name = "login"class="btn"><i class="fa fa-
arrow-right "></i></button>
</div>
</div>
</form>
</div>
<!-- JS -->
<script src="../js/jquery.js"></script>
<script src="../js/bootstrap.min.js"></script>
</body>
</html>
header.php
<div class="lockscreen-wrapper">
<div class="lockscreen-logo">
<a href="../index.php"><img src = "../img/cc.png"/></a>
<a style = "color:white;"
href="../index.php"><b>Yadav's</b>Catering</a>
</div>
<!-- User name -->
<div class="lockscreen-name">Administrator</div>
<div class="input-group-btn">
<button name = "login"class="btn"><i class="fa fa-
arrow-right "></i></button>
</div>
</div>
</form>
</div>
<!-- JS -->
<script src="../js/jquery.js"></script>
<script src="../js/bootstrap.min.js"></script>
</body>
</html>