Canteen Documentation
Canteen Documentation
A PROJECT REPORT
Submitted to
Department of Computer Application
Kathmandu Shiksha Campus
Submitted by
Manoj Pun Magar
Punam Thapa
SUPERVISOR'S RECOMMENDATION
I hereby recommend that this project prepared under my supervision by Manoj Pun Magar
and Punam Thapa have entitled “Canteen Management System of KSC” in partial
fulfillment for the requirements of the degree of Bachelors of Computer Application is
recommended for the final evaluation.
LETTER OF APPROVAL
This is to certify that this project prepared by Manoj Pun Magar and Punam Thapa
entitled “Canteen Management System of KSMC” in partial fulfillment of the
requirement 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.
1.
2.
3.
4.
The Canteen Management System of KSC is poised to transform the dining experience
with our college canteen, fostering a digital ecosystem that prioritizes convenience,
efficiency, and the satisfaction of all students, teachers and canteen staffs.
i
ACKNOWLEDGEMENT
We would like to express our sincere gratitude and appreciation to the department of
computer application, Kathmandu Shiksha Campus for providing an opportunity to work
on a major project as a part of our Fourth Semester project. We extend our thanks and
gratitude to our supervisor Mr. Yuba Raj Devkota, for his invaluable guidance and
encouragement throughout the project development.
Finally, we would like to express our gratitude to all our classmates, department, teachers
who directly and indirectly helped us to complete this project.
Thank you.
Punam Thapa
Manoj Pun Magar
ii
Table of Contents
ABSTRACT .................................................................................................................. i
ACKNOWLEDGEMENT .............................................................................................. ii
5.1.Lesson Learnt................................................................................................. 24
iii
References .............................................................................................................. 26
Appendices ............................................................................................................. 27
iv
List of Figures
Figures No. Titles Page No.
3.1.1.1 use case diagram 7
3.1.3.1 data modeling (ER diagram) 10
3.1.4.1 Waterfall model 11
3.1.4.1 process modeling (DFD level 0) 12
3.1.4.2 process modeling (DFD level 1) 12
3.2.1 system design [15] 13
3.2.1.1 architectural design 14
3.2.2.1 database schema 15
3.2.2.2 admin login table 15
3.2.2.3 product table 16
3.2.2.4 user manager table 16
4.1.2.1 implementation of modules 20
v
List of Tables
Table No. Titles Page No.
4.2.1.1 Test result of view food 22
4.2.1.2 Test Result of Updating Total Price 22
with quantity
4.2.1.3 Test Result of Add and Remove Foods 22
4.2.2.1 Test Result of User Registration 23
vi
Chapter 1: Introduction
1.1 Introduction of Proposed Project
Canteen Management System is a website that streamlines the food ordering process for
KSC students and teachers by allowing them to easily view daily food items and place
orders without waiting in long physical queues. This website aims to transform the old
canteen system into a new digital form. By using the website, students can effortlessly
access information about the food items available on a particular day and their
corresponding prices. This simplifies the payment process, allowing for both cash and
online transactions. This website can save time of student and teacher so that it will help
them for better utilization of time in other activities.
This website will reduce ta chaotic environment of canteen and will manage the large
number of students and staffs of the college in a proper way. This website will provide the
facility of credit system which will be helped by college as well, to run credit system in a
proper way (future scope). And for those student who doesn’t have smart phones they can
order from the computer of the canteen.
1.2 Problem Statement
1
Limitations
I. User must be online to order foods.
II. Students with no access of smart phones have to go to canteen to order.
III. Admin have to update foods daily.
The second chapter includes background study i.e. description of fundamental theories,
general concepts and terminology related to the project. It also includes the literature
review i.e. review of the similar projects, research and theories done by other researchers
[1].
The third chapter includes the system analysis and design phase in which the report of
functional and non-functional requirements of the project is stated using use case and
system diagrams. It also includes the feasibility study about the system which explains
whether the system development process is affordable and within the knowledge range
of the developers. It shows the technical, operational and economic feasibility of the
project development phase. The explanation of the designing of the system is also done
in this chapter. It includes data modeling and process modeling which is explained by
using ER diagram and Data Flow Diagram. The architectural design, database design and
the user interface design is also listed in this chapter [2].
The fourth chapter includes the implementation and testing phase of the proposed system.
In the implementation phase, the tools like CASE tools, programming languages and
database platforms are implemented.
The fifth chapter includes conclusion and future recommendation. This contains the final
paragraphs of the report and in this phase the overall outcome and the developer s‟ point
of view is written. The lesson that we learned through all the phases can also be included
in this phase. Similarly, this chapter contains references and bibliography with IEEE
citations style.
2
Chapter 2: Background Study and Literature Review
2.1 Background Study
The Canteen Management System of KSC emerged as a response to the evolving needs
of Kathmandu Shiksha Campus in enhancing the efficiency of its canteen operations.
Recognizing the challenges faced by students, faculty, and canteen staff in managing
orders, inventory, and overall service, the idea for Canteen Management System of KSC
was conceived.
The project originated from a collaborative effort between the college administration and
BCA Fourth Semester Students. The aim was to create a digital solution that not only
streamlined the canteen processes but also provided a modern and user-friendly
experience for the college community.
The inspiration for Canteen Management System stemmed from a desire to leverage
technology to overcome traditional challenges in canteen management. This included
reducing waiting times, improving inventory control, and enhancing the overall dining
experience for students and staff.
Throughout the development process, the team actively engaged with canteen staff to
understand their day-to-day operations, challenges, and aspirations. Student involvement
was also crucial, with feedback sessions shaping the features of Canteen Management
System to align with their preferences and needs [3]. The journey from conceptualization
to implementation was marked by collaboration, innovation, and a commitment to
creating a system that seamlessly integrated into the college environment. The result,
Canteen Management System of KSC, is not just a technological solution but a reflection
of a shared vision to modernize and optimize the college canteen experience.
As Canteen Management System of KSC becomes an integral part of Kathmandu
Shiksha Campus, the background story stands as a testament to the collective effort
invested in making dining at the college more convenient, efficient, and enjoyable for
everyone involved.
3
2.2 Literature Review
For this project, we researched and reviewed some of the related websites, articles, thesis,
documentations and applications. Throughout the research, we get to find out that there
are very few websites or web based applications related to canteen management system
For this project, we have visited some related websites and applications and went to our
college canteen and we found many students were unaware of food price and there was
long queue to get food. There is limited seats for the staffs and students in the canteen.
This website can manage the canteen and can handle the large number of students and staffs
as well. This system will help to enable all the canteen activities and maintain a detailed
account of food served at the canteen. The functionality and features of canteen
management systems are thoroughly examined, with a focus on menu management, order
placement, payment options, inventory control, and reporting capabilities.
4
Creating a welcoming and inclusive environment in the canteen positively contributes to
the overall campus experience.
In summary, these studies provide valuable insights for our canteen management system
project, guiding us to leverage technology, plan a diverse and healthy menu, address
financial considerations, and foster a welcoming environment for students.
5
Chapter 3: System Analysis and Design
3.1 System Analysis
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. The people involved include systems analysts, sponsors, and users.
Requirement Identification:
Allocate functions to hardware, software people, database and other system elements.
Functional requirements:
Administrator will be able to check the user’s information.
Administrator will be able to verify users account given them right
to access the right.
User needs to register and login to order food.
Users will be able to review and give feedback
Foods will be served to user or they can go to canteen without
standing in line.
6
3.1.1.1 use case diagram
A use case diagram doesn’t contain a lot of details. It shows a high-level overview of
relationships between actors (Customers), different use cases (log in, signup, view menu,
etc.), and the system.
7
ii. Non-Functional Requirements
1. Usability
The website should be easy to use for even a non-technical user. A general user
takes just 0.05 seconds to figure out whether the website is worth its time or not.
Thus, it is important to give attention to the design of your homepage, and easy
checkout page. So, we have also made this website fast so that users can experience
fast function when they use our website [10].
Example:
When a customer search for a food like “Samosa” and order that food then it will
not take much time. It will instantly reach to order page and customer can easily
order that food with faster experience.
2. Security
Security requirements ensure that the software is protected from unauthorized
access to the system. This system protects the user account. When a buyer types
or inserts an incorrect username or password in the login page, the system
displays an error message. In our website we have used MD5 Algorithm. MD5 is
a cryptographic hash function algorithm that takes the message as input of any
length and changes it into a fixed-length message of 16 bytes. MD5 Algorithm
will secure user password. Security also includes protection against viruses and
malware attacks. There is provision for Physical security as well. So our system
will have proper security to keep our customers safe [11].
3. Performance
This system has adequate performance requirements. For instance, it does not
take more than 10 seconds to match the inserted username and password. User
can view menu items, foods and other details and information with faster
experience and place an order with same speed. Overall performance of our
website will be really fast so that users don’t have to wait for more than a second
to get response. Similarly, our system can handle over 1000 users without
interfering any performance of the system.
This system uses simple technologies to design. So, it is user friendly. And for
developing this website we have used both front end and backend technology. For
Front end we have used HTML, CSS, JavaScript and for backend development
we have used MYSQL for database and PHP for admin panel and other backend
control.
9
3.1.3 Data Modeling (ER Diagram)
A data model is a mechanism that provides abstraction for database application. Data
models define how data is connected to each other and how they are processed and
stored in a system. There are different data models which are used to design and
develop the database, but here we use ER (Entity Relationship) Model. E-R Model is
a popular high level conceptual data model that consists of a collection of basic objects
called entities and relationship among these objects [13]. The ER diagram of canteen
management system is as shown below.
10
3.1.4 Process Model (Waterfall Model)
Waterfall Model is the oldest and simple method of software development in which the outcome
of one phase acts as the input for the next phase sequentially.
We have choose waterfall model as our process model for canteen management system
because our requirements are very well documented, clear and fixed. Our product definition
is stable. There are no ambiguous requirement.
Following this waterfall model we first researched about the current situation of canteen of
our college and since we were aware about the situation of our college canteen we asked
and interview some staffs and students. We found many problems and identified the
requirements of the staffs and students. After that, we planned on designing the system. We
decided to use HTML, CSS, Bootstrap and JavaScript for our Front end website
development and used PHP for backend development and MYSQL as our database of the
system. We have used bootstrap for designing the system. We used Apache HTTP server
to host our website on local PC.
11
After system design we implanted the system and performed the test. We have improved
lots of things that we missed previously in this phase. After completing the testing phase
we will launch our website and will maintain it as per the requirements.
12
3.2 System Design
Architectural design is a process for identifying the sub-systems making up a
system and the framework for sub-system control and communication.
13
3.2.1 Architectural Design
The table named “login” is shown below which is a Admin Login panel where
he/she has to log in to the system by using this specific username and Password.
14
3.2.2.1 database schema
A table named “Product” is created to add new products from the database to admin panel.
Admin can add various product based on the category. He can also set the available
quantity of a product and its reasonable price.
15
A database called “testing” is created in which order_manager table shows all the
order given by customer and his details whereas user_orders table shows the item
selected by Customer along with its price and Quantity.
A table named “users” is created in which it shows the information about the
logged in users
The system can be implemented only after thorough testing is done and if it is found to
work according to the specification.
4.1.1 Tools Used (CASE tools, Programming languages, Database platforms)
Tools that are used while designing this website are: Front end: HTML, CSS,
JavaScript.
4.1.1.1 Front end
i. HTML (Hypertext Markup Language):
HTML is the building block of web pages and defines the structure and content of a
Webpage. In our website we have first used HTML to give its basic structure or for
the UI design of our website. HTML have helped us to give the structure as we
wanted in our website. It is also the base for CSS and JavaScript so we have used
HTML in every section of our webpages. Login and Registration form for both user
and admin is also designed using HTML tags. Similarly, we have used html to insert
food images, UI design for admin panel which includes Dashboard, Users, category,
Menu and Orders. All the tables and form we have used in our website in made
using html.
ii. CSS (Cascading Style Sheets):
CSS is used to control the presentation and layout of HTML elements on a webpage.
It allows developers to define styles such as colors, fonts, margins, padding, and
positioning, among others. In our website we have used CSS to give proper design
to our Website which was first written in HTML. We have made the website good
looking so that user doesn’t feel bore or difficult to use our website at any time.CSS
is mainly focused on Client side or Front end as users will use front end to order
foods from the canteen management system. The layout of our website is made
simple using CSS so that user can easily use it without and difficulty or training.
The color’s, pictures and the information displayed in our website is also very
simple and understandable to any kind of users. We have used CSS to make our
17
website responsive so that user can order their food from mobiles and other
handheld devices without hampering its design and user experience. It has made our
forms and tables attractive and easy so any user with simple knowledge about the
form can easily register their account in our canteen management system.
iii. JavaScript:
JavaScript is a powerful scripting language that enables interactivity and dynamic
content on web pages. Java script have worked as bridge between Front End Back
end in our website. We have used JavaScript frameworks such as JQuery, Ajax to
make our website dynamic and connect it to the backend of our website. Similarly,
we have used JavaScript to give validation to our website. We have used validation
in login and registration page of websites which includes various fields such as user
name, email, password, phone number, address, etc. so that only validate users can
access and use the websites. We have used JavaScript in website to make scroll bar
as well. We have use it crate pop-up menu and dynamically updating content. In our
website JavaScript have used to create dialog box as well. It is working to connect
front end with back end as the users will register and login through their required
credentials it will respond to the user input with server and give access if valid only.
18
in real time.
b. User Authentication and profiles
PHP is used in our website to manage user authentication, allowing staffs
and students login to their respective accounts. Each user has a profile where
they can view their order history and update their personal information.
Users password is protected using MD5 Algorithm so only validate user can
login to the page.
c. Database Management
PHP is interacting with data base(MYSQL) to store and retrieve information
about orders, menu items, category and more. We have used CRUD
Operation in PHP and MYSQL to dynamically change the content and any
change made is seen in database and the information is stored in database.
d. Feedback and reviews
Customers can give their reviews and feedback to canteen staffs through the
website. Customers can send us message and feedback through which will
keep us close to them and help us to make our website better and also to
provide better foods.
e. Security
PHP is validating the user inputs and preventing the website from SQL
injection and cross-site scripting attacks. We have applied MD5 Algorithm
for user password protection.
f. Real time Update
We can make real time update where the staff from canteen updates the
status of customer food and the update can be immediately seen from client
side by the staffs and students. Any other updates posted by admin regarding
menu, prices, category, food status is updated in real time.
ii. MYSQL:
MySQL is an open-source relational database management system (RDBMS). It
is widely used for storing, managing, and retrieving data in a structured manner.
In our website we have use MySQL server from XAMPP Server and created 7
different tables including different fields such as user, admin, res_category,
dishes, remark, restaurant and user orders. MySQL is storing the data from users,
19
foods, menu and others and it can be retrieve whenever required as well. Adding
food menu, users, category, deleting them or editing and manipulating them is
done via MySQL Server. So, the CRUD Operation that we have made is affecting
the database. Whatever we do with front end and back end such as adding,
deleting, editing, etc. will make change in data base and new change will be saved
in it.
When a user request to the server for resource, the server will go to the database
and check if the resource is available or not and if available then it retrieve the
information from data base and server sends it back to the client.
4.1.2. Implementation Details of Modules
User module
This module is dedicated to user in which user can see the food and order the food of
their choice. The user can view all food category and place order with their prices and
cancel the order as well within certain time period. Users can get real time status of their
ordered foods as well.
20
Admin module
The admin module can do all the internal functionalities of the system like adding new
food, can see the list of category, can edit & update the food, tracks all the information
and details of the customer. We have developed all type of CRUD (Create, Read,
Update and Delete) operations of the customers. This is a role based module where
admin can perform each and every operation on data
Product Module
This module starts when a user visits the food page. A user can view various images
of the food. The user can view the complete specification of the food like its features
system requirements etc. A user can order a food by their choices. User can see all the
categories available in present day with best reviews and also see the cost of those
foods.
In this module of the system, admin has the privilege to add category, foods, users.
Similarly, he/she can modify prices and delete or modify other food related
information. The information changed by the admin will change in user module in real-
time.
4.2 Testing
Testing is a process of executing a program with the intent of finding an error. A good
test case is one that has high probability of finding an undiscovered error. The primary
objective for test case design is to derive a set of tests that has the highest livelihood for
uncovering defects in software.
4.2.1. Test Cases for Unit Testing
Unit testing emphasizes the verification effort on the smallest unit of software design
i.e.; a software component or module. Unit testing is performed in parallel with the
coding phase. Unit testing tests units or modules not the whole software. I have tested
each view/module of the application individually. As the modules were built up testing
was carried out simultaneously, tracking out each and every kind of input and checking
the corresponding output until module is working correctly.
21
4.2.1.1 Test result of view food
22
4.2.2 Test Cases for System Testing
System testing tests the integration of each module in the system. It also tests to find
discrepancies between the system and its original objective, current specification
and system documentation‟ Entire system is working properly or not will be tested
here and verifications and validations are done by giving input values to the system
and by comparing with expected output.
There are many modules involved in the system that need to be tested, and some
of them are selected for illustration in this paper:
● User registration test - In this module, user s name, gender, password and other
necessary
23
Chapter 5: Conclusion and Future Recommendations
5.1 Lesson Learnt
24
5.3 Future Recommendations
Looking ahead, there are several possibilities for further enhancement and expansion of
the system. Implementing mobile applications for order placement, integrating with
cashless payment options, and conducting customer feedback surveys for continuous
improvement are some of the avenues worth exploring.
And many features can be added to this project to make it more robust.
25
References
[1] project thesis_presentation “Report Writing Guidelines”, 2023. [Online].
Available: projectthesis_presentation-MSME-ReportWritingGuidelines-
20221117pdf
26
Appendices
Figure of homepage
27
Figure of login page
28
Figure of admin dashboard
29