Canteen Management System: An Internship Report On
Canteen Management System: An Internship Report On
on
BACHELOR OF TECHNOLOGY
IN
ELECTRONICS AND COMMUNICATION ENGINEERING
By
CERTIFICATE
BACHELOR OF TECHNOLOGY
IN
ELECTRONICS AND COMMUNICATION ENGINEERING
( Muruganantham A. )
General Manager,
Hexaware Technologies Limited.
dissertation is our original work and the project has not formed the basis for the award of
any degree, associate-ship and fellowship or any other similar titles and no part of it has
PALADUGU SRUTHI
(179X1A04B3)
ABSTRACT
The Online Food Delivery System is one of the fastest growing marketing strategies for
most of the Business people, in a way to gain the more profits. As we all know that the food
is the basic need in every human life, for which he/she is struggling. But even after their
struggles, if people are still not happy with their sustenance, then the effort given behind it is
useless. The reasons might be the people are busy with their schedules, they either can’t able
to cook in right time or not having time to go and order their food from outside.
Then here is the way, where Spicy and Delicious Restaurants and other food stuff points
have now started to deliver their food through the Apps as. Upon which, people can stop
starving and could start to eat healthier food, just by clicking on the menus served on the apps.
There are many more benefits offered by the Takeaway Food Delivery system.
The Objective of the project Canteen management system is the offer the services which
helps to create a user-friendly environment between the customers and the canteen vendors
that helps the customers to place the orders and the vendors to accept or reject the order of the
customers based on the availability of food in canteen through online.
TABLE OF CONTENTS
1. INTRODUCTION ......................................................................................... 1
5. MODELING ................................................................................................ 30
6. IMPLEMENTATION .................................................................................. 37
8. CONCLUSION .......................................................................................... 50
CHAPTER - 1
INTRODUCTION
1. INTRODUCTION
1.1 Introduction
The current project involves the development of a web application that let your
customers to order food anywhere, anytime, from the computer. The main aim of the
project is to help and lift the canteens business. In day to day life the is a lot of time wasting
due to these queue line in the canteen so this project will help the customers to order food
from anyplace anytime this project might also help to lift the food industry
In this website customer can know the canteen near to his place and he can choose the
canteen he wants. Then he can place order. Then the vendor gets the notification that has
been placed and he can deliver them to the customer.
In this project, we are going to create a website where there are two kinds of users namely
vendors and customer.
1.Vendor:
This user can sign in to our website and can enter his canteen details and then he can
enter what items he has in his canteen and the number of each item present in the
canteen.
If the ordered food item was not there in the canteen, then he can acknowledge the
customer about the non-availability of the food item
2.Customer:
This user can sign in and then log in to the website and so that he could see the
Canteen near to him and can place an order of food items he wants.
1.3 Objective
The objective of the system is to automate all the activities of the canteen right from
purchases to delivery of food/beverage items. The system should maintain a detailed account
of all provisions bought and food served at the canteen. In addition to this, it should also
maintain the daily expenses incurred by the staff. The system should provide an interface to
payroll for deductions. Several inquiry facilities should also be provided to view the
expenses incurred/ planned menus/cash payment etc.
a) Sign in:
Here a new vendor can join our website by providing his details by enter his name,
canteen name, phone number, E-mail address, address, password for his account. After
signing into the website customer new account is created.
b) Login:
Here the customer has to enter the phone number and password for his account. If the
customer forgets his password then he could press on forgot password and receive the
password through the mail.
DEPARTMENT OF CSE, GPREC, KURNOOL Page 3
CANTEEN MANAGEMENT SYSTEM
i. Add Items:
Here the vendor after logging in, he enters the categories he has in the canteen and also
the number of items in that category.
CHAPTER – 2
LITERATURE REVIEW
The project online canteen system helps the users to book their food earlier. The users have to book
their food on the e – menu card. As soon as they book their food the order will be sent to the chef for
preparing it. The present system consists of the manual system that involves the paper work of the
billing system and maintaining the files too. In the proposed system the payment is online and the e-
menu will be available for the user. The users will have the username and the password through
which they can book. This project will help in demonstrating the route from adapting materials to
developing an online environment. This brings all necessities in one place that benefits both the user
and the canteen owner smartly.
CHAPTER – 3
SOFTWARE REQUIREMENT
SPECIFICATION
• Purpose
The purpose of this document is to present a detailed description of “Canteen
management system” application. It will explain the purpose and features of the system
that it will provide, constraints under which it must operate and how the system will react.
The document also describes the non functional requirements of the system.
➢ Vendors:
This user will be signed up first if the user was new user by providing basic
details like name, phone number, mail-address, location of the canteen and the
preferred password later he was asked to login in the vendor page where the user can
update availability of food and the vendor provide the acknowledgement about the
customer order status by considering the availability of food in canteen
➢ Customers
This user also asked for the sign-up if the user was the new user by providing
basic details like name, phone number, mail address, gender, preferred delivery
location
After sign up the user will be asked to login then the user will be able to order the food
from the list of available canteen and the user can see the previous orders through order
history
➢ Technologies Used
• JAVA
Java is an object-oriented programming language developed by Sun Micro Systems,
a company best known for its high end UNIX workstations. Java language was designed
to be small, simple, and portable across platforms, operating systems, both at the source
and at the binary level, which means that Java programs (applet and application) can run
on any machine that has the Java virtual machine (JVM) installed.
• ANGULAR
Angular is a Type Script-based open-source web application framework and also
Angular is a development platform that aims to make web development feel effortless,
focused on developer productivity, speed and testability. Applications built with Angular
can be deployed to mobile devices and desktops as websites and native applications.
• HTML
Hypertext Markup Language is the main markup language for displaying web
pages and other information that can be displayed in a web browser.
• JAVASCRIPT
JavaScript is a scripting language commonly implemented as part of a web
browser in order to create enhanced user interfaces and dynamic websites.
• APACHE WEB SERVER
Apache is generally recognized as the world’s most popular web Server (HTTP
server).It provides a full range of web server features, including CGI, SSL, and virtual
domains. Apache also supports plug-in modules for extensibility.
• RESTFULSERVIES
REST has become one of the most important technologies for Web applications.
REST stands for Representational State Transfer, which is an architectural style for
networked hypermedia applications, it is primarily used to build Web services that are
lightweight, maintainable, and scalable. A service based on REST is called a RESTFUL service.
REST is not dependent on any protocol, but almost every RESTFUL service uses HTTP as its
underlying protocol.
• MySQL
MySQL is one of the most popular relational database management systems on
the web. MySQL is used for the internet applications as it provides good speed and is
very secure. MySQL was developed to manage large volumes of data at very high speed
to overcome the problems of existing solutions.
➢ Overview
The application is based on both windows and ubuntu platform an application
which communicates with the server allowing the collection of sales visit data offline
and then syncs the data with that of the corporate server when there is access to the
internet.
CLIENT
OPERATING SOFTWARE DISK SPACE RAM
SYSTEM
Any operating Any Web Minimum 256
sytem Broswer 250 MB MB
SERVER
OPERATING SOFTWARE PROCESSOR RAM DISK
SYSTEM SPACE
Ubuntu 12.04 Apache 2.2.22 IntelI XeonI 256Mb Minimum
LTS MySQL 5.5.2 CPU E31220 250Mb
1. Customer
• Sign in
• Log in
• Place order
• View order status
• Log out
1) Sign in:
Here a new customer can join our website and enter his name, phone
number, E-mail address, address, password for his account. After signing in
b) Login:
Here the customer has to enter the phone number and password for his
account. If the customer forgets his password then he could press on forgot
i. Place order:
After pressing the place order button customer can see the menu
from different canteens present near to his/her location.
Customer can select the food item he likes and select the items
customer wants.
ii. View Order status:
After placing the order if the customer wants to check the
status he can by track status option
c) Logout:
if the ordering is done by the customer then the customer can now logout of the account
2. Vendor
1.Sign in
2.Log in
(a) add items
a) Sign in:
Here a new owner can join our website and enter his name, Canteen
name, phone number, E-mail address, address, password for his account.
After signing in customer new account is created
b) Login:
c) Here the customer has to enter the phone number and password for his
account. If the customer forgets his password then he could press on forgot
password and receive the password through the mail.
i. Add Items:
Here the owner after logging in, he enters the categories he
has in the canteen and also the number of items in that
category.
ii. check Orders:
Here the owner can check the orders he/she has got.
iii. Update order status:
Here in this section if the vendor changes the order status
based on the availability of the food items in canteen
c) Logout:
If the vendor was done with the work now the Vendor can logout of the
application by using this logout option.
3.8.4 Availability:
The system shall be available during normal Canteen operating hours.
3.8.5 Portability:
The Canteen Management System shall run in any Microsoft Windows
environment that contains browser and be able to available to all users all the
time while they have the internet.
3.8.6 Reliability:
Since the application is being developed through java, the most famous,
efficient and reliable language, so it is reliable in every aspect until and unless there is
an error in the programming side. Thus the application can be a compatible and reliable
one.
vendor table:
3.9.2.1 Name
3.9.2.2 Phone number
3.9.2.3 Address
3.9.2.4 Email address
3.9.2.5 Canteen name
3.9.2.6 Vendor -id
Menu Table:
1. Item name
2. Item type
3. Cost of each item
4. Item category
5. Item calories
6. Vendor -id
Customer Table:
1. Name
2. Phone number
3. Email address
4. Date of birth
5. Customer-id
Order Table:
1. Order-id
2. Order status
3. Token number
CHAPTER - 4
4.1 Scope
In this section the scope of the document and the project is explained in brief.
1. VENDOR:
This user can sign in to our website and can enter his canteen details and then
he can enter what food items he has in his canteen and the number of each item present
in the canteen. He can also update the number of items in the canteen and he can also
modify the order status based on the availability of the food items
2. CUSTOMER:
This user can sign in and then log in to the website and so that he could see the
canteen near to him and can place an order of items he wants.
4.2.3 Maven
Maven is a build automation tool used primarily for Java projects. Maven can
also be used to build and manage projects written in C#, Ruby, Scala, and other
languages. The Maven project is hosted by the Apache Software Foundation.
Maven addresses two aspects of building software: how software is built, and
its dependencies. An XML file describes the software project being built, its
dependencies on other external modules and components, the build order, directories,
and required plug-ins.
DEPARTMENT OF CSE, GPREC, KURNOOL Page 21
CANTEEN MANAGEMENT SYSTEM
Maven dynamically downloads Java libraries and Maven plug- ins from one or
more repositories such as the Maven 2 Central Repository, and stores them in a local
cache. Maven projects are configured using a Project Object Model, which is stored in
a pom.xml-file.
4.3System Architecture
4.3.1 Architectural Design
Web application architecture is a framework connecting different elements to enable a
web experience. It is the backbone of our daily internet browsing: typing in a URL and
viewing and interacting with the website while the browser communicates with the
server is one of the ways to describe what is web application architecture.
• UI/UX components
• Structural components
Meanwhile, structural components include the web application server and the
database server. knowledge of HTML, JavaScript, and CSS, as well as Python, PHP,
Java, Ruby, .NET and Node.js are required to create them.
When it comes to building the components, there are several models to choose from:
One web server with one database is the simplest model. With this web server
architecture, the successful operation of an application depends on server stability. In
other words, if there is a problem with the server, the app will not work. Still, the model
is sufficient for testing and private sessions.
Using one database for two web servers is a more reliable model, as there is a backup
server. On the other hand, ensuring the database is secure and always running is
important.
The deploy process leverages the Azure Account extension (installed along with the
Azure Functions extension as a dependency) and you need to sign in with your Azure
subscription. Or in the Amazon web services through the AWS account extension and
you need to sign in with your AWS subscription.
Once you have signed in, you can open the command prompt or terminal window and
build the project using Maven commands. This will generate a new
name.war or name.jar file in the target directory.
After building the project, open the target directory in VS Code Explorer. Right-click on
the name.war or name.jar file and choose Deploy to Web App, and follow the prompts to
choose the Web App for your deployment.
Open the Output window in VS Code to view the deployment logs. Once the
deployment is completed, it will print out the URL for your Web App. Click the link to
open it in a browser, you can see the web app running on Azure or Aws.
4.3.3 Application Components
View Layer
When you consider an MVC application, the View layer component gives an interface
to the application. Regardless if it is for users with a browser or for another application
using Web services. View layer is the bridge for getting the data in and out of the
application.
It does not have business logic, like calculating interest for a banking application or
storing items in a shopping cart for an online catalogue. It also does not contain any
code for existing data to or retrieving data from a data source. Business logic is managed
by the Model layer. View layer is more focused on the interface.
Business Layer
It is also known as Business Logic or Domain Logic or Application Layer. The function
of the business layer is to accept user requests from the browser, processes them, and
determine the routes through which the data will be accessed. The workflows by which
the data and requests travel through the back end lay encoded in a business layer.
Data Access Layer
This layer is built to keep the code you use to pull data from your data store like
database, flat files, or web services separate from business logic and presentation code.
So even if you have to change data stores, you don’t end up rewriting the whole thing.
There are many ORM frameworks that are blending the DAL with other layers which
makes development easy during web application development services.
Error handling, security, logging
When you build a web application, people generally tend to focus on the end-goal,
building and testing only for situations when things go right. Alas! things rarely go right
all the time in the real world.
This is where error handling is a vital part of any application’s user experience. And, if
it is done well, it can leave your users feeling informed and properly considered.
The architecture shown in above figure is used in the sync operation where the
data from web pages goes to web server (Apache Tomcat) to database server (MySQL).
JSP is used here because of the interaction it can offer with the databases and it is easy
to deploy on the XAMPP web server and here it sits in middle as shown in figure. SQL
insert query is written in JSP script to insert this data into MySQL database server.
My SQL
4.4.2 Tables
Name Description
Vendor To store the vendor details
Customer To store customer details
Menu To store menu details
Orders To store order details
Definition
create table VENDOR(VEN_ID INT auto_increment,
VEN_NAME VARCHAR(25),
VEN_PHNO BIGINT,
VEN_WALBALANCE FLOAT,
VEN_PWD VARCHAR(20),
CONSTRAINT VEN_Id_PK PRIMARY KEY(VEN_ID));
(2) Database: CMS Table: CUSTOMER
Description:
To store customer details
Columns:
Name Type Null Default Index
Id INT No Primary Key, auto increment
Name Varchar(25) No
Phonenumber long No Unique Key
Email Varchar(30) No
Date of birth date No
Password Varchar(20) No
Wallet balance float yes 0
CHAPTER - 5
MODELING
5.MODELING
5.1Design
Requirements gathering followed by careful analysis leads to a systematic
Object-Oriented Design (OOAD). Various activities have been identified and are
represented using Unified Modeling Language (UML) diagrams. UML is used to
specify, visualize, modify, construct and document the artifacts of an object-oriented
software-intensive system under development.
UML sequence diagrams are used to show how objects interact in a given
situation. An important characteristic of a sequence diagram is that time passes from
top to bottom: the interaction starts near the top of the diagram and ends at the bottom
(i.e. Lower equals later).
The following nodes and edges are typically drawn in a UML sequence
diagram: lifeline, execution specification, message, combined fragment, interaction
use, state invariant, continuation, destruction occurrence.
5.1.6 ER Diagram
An ER model is an abstract way to describe a database. Describing a database
usually starts with a relational database, which stores data in tables. Some of the data
in these tables point to data in other tables - for instance, your entry in the database
could point to several entries for each of the phone numbers that are yours. The ER
model would say that you are an entity, and each phone number is an entity, and the
relationship between you and the phone numbers is 'has a phone number'. Diagrams
created to design these entities and relationships are called entity–relationship diagrams
or ER diagrams.
CHAPTER - 6
IMPLEMENTATION
6. IMPLEMENTATION
6.1 Code Snippets
• Database
The first step to start the project execution is to implement database commands and
check whether the database created. The next step should be entering some data in the
tables by using DML Commands.
The Customer table from the SQL Workbench can be as shown in Fig 6.1.
The Menu table from the SQL Workbench can be as shown in Fig 6.2.
The Orders table from the SQL Workbench can be as shown in Fig 6.3.
The Vendors table from the SQL Workbench can be as shown in Fig 6.4.
In order to run the program, we will use maven commands in Git Bash and invoke the main program
of the project. The Git bash implementation can be shown in Fig.6.6(a) and Fig.6.6(b).
The main page that will be displayed in web by giving localhost will be as shown in Fig. 6.7
While we scroll the homepage, we can see four options to Customer Login, Customer Signup,
Vendor Login and Vendor Signup as shown in Fig.6.8
Whenever a customer signed in, He/she must login. After login the Customer Dashboard will
be appeared as shown in Fig.6.9
The options like Place Order, Order History, Add Money, Cancel Order can be appeared. Each
button displays separate page as shown in Fig.6.10(a), Fig.6.10(b), Fig.3.10(c), Fig.6.10(d).
When a customer presses the button to add money, he/she must enter their Id and amount they want
to add and submit. A popup will be displayed as shown in Fig.6.10(c).
If the customer wants to cancel their order, a form will get displayed to enter their Id, Order Id, its
status to cancel the order as shown in Fig.6.10(d).
If a vendor signed up and login through their credentials, he/she will get into Vendor home page
which will be a shown in Fig.6.11.
If the vendor wants to see all the vendors details, he can press the first button in the home page and
he can view as shown in Fig. 6.12(a)
A vendor can see the pending orders through the button Vendor Pending Orders and the view can
be as shown in Fig.6.12(b).
A vendor can see the orders and he can change the status of the order through the button
Accept/Reject Order and the view can be as shown in Fig.6.12(c).
A vendor can also add items into the menu by choosing button Add Menu and then he can see a
form to enter respective details of food. It is shown in Fig 6.12(d).
CHAPTER - 7
RESULTS &CHALLENGES
1. Owner:
This user can sign in to our website and can enter his canteen details and then
he can enter what food items he has in his canteen and the number of each item
present in the canteen. He can also update the number of items in the canteen.
The vendor can also accept or reject the order of the customer based on the stock
availability
2. Customer:
This user can sign in and then log in to the website and so that he could see the
canteen near to him and can place an order of items he wants.
7.2 Challenges
• Understanding the client requirements was one of the crucial tasks of the whole
project.
• Graphic User Interface (GUI) design was a difficult task as there are many types
of Android devices with varying screen size and resolutions unlike iPhone.
• Implementing synchronization with server on Android was a challenging task.
• Learning different technologies and frameworks with little guidance.
CHAPTER - 8
8. CONCLUSION
8.1 Conclusions
The application has been designed successfully to meet all the user
requirements. I found this project to be far more difficult than I ever anticipated.
Without doubt, this has been the most challenging and at the same time rewarding
programming project I have undertaken since I started college.
8.3 Limitations
The current application does have the feature of the tracking order hence the
customers might feel inconvenience sometimes and if the tracking of the order was
implemented then the customer knows the exact location of the order
REFERENCES
[1] Student Card System Using Smart Card Technology -Information Technology
Based Higher Education and Training, 2004. ITHET 2004.Proceedings of the
Fifth International Conference in January 2004 from the University of New South
Wales UNSW, Sydney, NSW 2052, Australia. 8.
[2] S SumitaNainan1, Romin Parekh, Tanvi Shah - RFID Technology Based
Attendance Management System from NMIMS University Mumbai, Maharashtra.
[3] Ms. Shilpa D.More1, Prof. Arti Mohanpurkar - LOAD BALANCING
STRATEGY BASED ON CLOUD PARTITIONING CONCEPT -
Multidisciplinary Journal of Research in Engineering and Technology, Volume 2,
Issue 10. Pg.424-431 from DYPSOET, Pune, India.
[4] Canteen Food Ordering Android System, Abhishek Singh, Amit Tanwar, Aditya
Sawant, Chaitanya Parulekar, Kunal Yadav, IT Department, MUMBAI
University, Journal on Recent and Innovation Trends in Computing and
Communication, ISSN: 2321-8169.
[5] Shweta Shashikant Tanpure, Priyanka R. Shidankar, Madhura M. Joshi,
“Automated Food Ordering System with Real-Time Customer Feedback”, in
International Journal of Advanced Research in Computer Science and Software
Engineering, Vol. 3, Issue 2, February 2013.
[6] S. B. Patil, Srikantha Rao, P. S. Patil 2001 ‘Canteen Management Design
Principles’ Proceedings of the International Conference & Workshop on Trades
in Technology, pp. 765-766, viewed 7 October 2001.
[7] Tan-Hsu Tan, Ching-Su Chang, Yung-Fu Chen, Yung-Fa Huang, Tsung-Yu Liu,
“Developing an Intelligent-Restaurant with a Menu Recommender for Customer-
Centric Service”, Systems, Man, and Cybernetics, Part C: Applications and
Reviews, IEEE Transactions.
[8] Ashik, Sumanth & Gopi, Teja & Asst, Krishna & Professor, & Sanjudharan, M S
Minu. (2018). ONLINE CANTEEN SYSTEM. 5. 218-223.