My Mini Pro PDF
My Mini Pro PDF
ON
BACHELOR OF TECHNOLOGY
IN
INFORMATION TECHNOLOGY
BY
B. SNEHALATHA -21R91A1204
B. KALYAN -21R91A1203
(2021-2025)
i
DECLARATION BY CANDIDATES
We, B. SNEHALATHA, CH. LAXMI PRASANNA, B. KALYAN, hereby certify that the project report
entitled “FOOD MENU RECOMMENDER SYSTEM”, under the guidance of Mrs. DURGA
BHAVANI, department of Information Technology, Teegala Krishna Reddy Engineering College JNTUH,
is submitted in partial fulfillment of the requirement for the award of the degree of Bachelor of Information
Technology.
This is a record of Bonafide work carried out by me and the results embodied in this project has not been
reproduced or copied from any source. The results embodied in this project have not been submitted to any
other university or institute for the award of any other Degree.
B. SNEHALATHA -21R91A1204
CH. LAXMI PRASANNA -21R91A1210
B. KALYAN -21R91A1203
CERTIFICATE
This is to certify that a mini project report on “FOOD MENU RECOMMENDER SYSTEM”, that is
being submitted by B. SNEHALATHA, CH. LAXMI PRASANNA, B. KALYAN, in partial fulfillment
of the requirement for the award of the degree of Bachelor of Technology in Information Technology
Engineering.
The result of the Investigation enclosed in this report has been verified and other satisfactory. The results
embodied in this thesis have not been submitted to any other University or Institute for the award of any
Degree.
Finally, I express thanks to one and all who have helped me in successfully completing this
project. Furthermore, I would like to thank my family and friends for their moral support and
encouragement.
SUBMITTED BY:
B. SNEHALATHA -21R91A1204
CH. LAXMI PRASANNA 21R91A1210
B. KALYAN -21R91A1203
iv
CONTENTS
TOPICS
ABSTRACT
1. INTRODUCTION 1
1.1 History
2. LITERATURE SURVEY 3
5. SOFTWARE DESIGN 8
V
7. SOFTWARE TESTING 32
8. OUTPUT SCREENS 34
8.1 Admin
8.2 User
9. CONCLUSION 39
10. REFERENCE 40
Vi
ABSTRACT
The main scope of this project is to generate mess menu automatically using student’s preferences. The
purpose of developing mess menu generator is to computerize the traditional way of preparing menu.
creating a web application where users (hostel residents) can log in, view the available menu items, and
receive personalized food recommendations based on their preferences and dietary requirements. The
system could utilize a backend database to store menu details, user profiles, and preferences. By analyzing
user interactions and preferences. To promote good health of the students, as food is prepared by taking
preferences from all the students from the list of menu items and the highest preferred menu item will be
kept as first item in the menu for that day. Also, The Food wastage can be minimized in the mess.
vii
1.INTRODUCTION
A food menu system for hostels is an essential component of hostel management, designed to efficiently
provide meals and dining options to hostel residents. It plays a crucial role in meeting the nutritional needs
of guests, ensuring a pleasant dining experience, and managing food-related operations within the hostel.
The system typically includes a menu creation and management component, order processing, kitchen
coordination and inventory management.
1.1 HISTORY
The history of food menu systems for hostels, or hostel catering services, can be traced back to the origins
of hostels themselves. Hostels have been providing affordable accommodation for travelers, students, and
budget-conscious individuals for centuries. The concept of communal dining and providing meals within
hostels has evolved over time.
Early History: In the early days of hostels, communal dining was a simple affair, often involving shared
pots of food cooked by the hostel owner or staff. Hostels provided basic sustenance for travelers, and the
menus were limited.
20th Century: With the growth of the hospitality industry and the increasing popularity of hostels,
especially among young backpackers and budget travelers in the mid-20th century, the demand for more
sophisticated food services grew. Hostels began to incorporate dedicated dining areas and expanded their
menus to cater to diverse tastes and dietary preferences.
Modern Times: In recent years, with the advent of technology and the changing expectations of hostel
guests, food menu systems have become more advanced and integrated. Digital systems are used to
streamline menu creation, order processing, and billing. Hostels often offer a wider range of meal options,
including vegetarian, vegan, and special dietary choices.
In addition to traditional dining, some hostels also include modern amenities like communal kitchens for
self-catering and partnerships with local restaurants for off-site dining options.
1
The history of food menu systems in hostels reflects the evolving needs and expectations of hostel guests
and the growing emphasis on offering quality dining experiences as part of the overall hostel stay. These
systems have become an integral part of hostel operations, contributing to guest satisfaction and the success
of hostel businesses.
• In today’s scenario there are large no. of educational institutions in the country, most of the colleges
provides hostel facility, which includes mess.
• Previously process of generating food menu was done manually by the mess in-charge, the in-charge
would provide the students with papers containing menu from which the students have to select a
few of them which they would prefer to eat and then the in-charge would calculate the menu
items which were highly preferred by the students manually.
• We have been seeing this process of manual mess menu preparation that has been carried out across
all the educational institutions. This process is not only tiring, time consuming but also inefficient
sometimes resulting in false menu generation.
DISADVANTAGES:
• Food wastage
• Time and efforts for meal planning
• Paper work
• The idea is to create Mess Menu Generator Using Student’s preferences which is web-based
software that takes input preferences from all the students and sort the preferences based on
frequency of occurrence of each item.
• The project also keeps details of student’s information and the preferences given by students.
ADVANTAGES:
2
2.LITERATURE SURVEY
Hostel Management and Operations: Explore how hostels are managed and the significance of food
services.
Menu Planning and Design: Investigate principles for menu planning, considering nutritional needs and
cost-efficiency.
Food Technology and Software: Study technology and software used for menu and order management in
hospitality.
Search for academic papers, reports, and case studies on food tech.
Inventory Management and Cost Control: Explore literature on inventory and cost management in the
food industry.
Online Food Ordering: Investigate how hostels are incorporating online food ordering and delivery.
Sustainability and Dietary Considerations: Study how hostels address sustainability and dietary needs
in their menus.
Case Studies and Best Practices: Examine successful case studies of hostels with innovative menu
systems.
Regulations and Food Safety: Research the legal and regulatory aspects of food service in hostels.
3
3.SOFTWARE REQUIREMENTS ANALYSIS
a) REGISTER
b) LOGIN
c) USER
d) ADMIN
e) MENU
1) REGISTER:
In Register module students create their own accounts by giving details (Name, Email, Roll no,
Password, Username).
2) LOGIN:
Students who have created the account can login into the page with credentials (Username,
password).
3) USER:
User module refers to the hostel residents. They can check the food, choose the food and submit.
4) ADMIN:
Admin module is about the mess- incharge. Its about adding and removing the food items. checking
the preferred food.
5) MENU:
The food items with its description is in this module.
4
3.2 FUNCTIONAL REQUIREMENTS
A Functional Requirement (FR) is a description of the service that the software must offer. It describes a
software system or its component. A function is nothing but inputs to the software system, its behavior, and
outputs.
The functional requirements for the Hostel Delights: Personalized food menu system is:
• Display food preferred by hostel students.
• Add or delete food items.
• Display all the food items for menu.
• Authenticate the login users.
5
3.3 FEASIBILITY STUDY
The feasibility of the project is analyzed in this phase and business proposal
is put forth with a very general plan for the project and some cost estimates. During system analysis the
feasibility study of the proposed system is to be carried out. This is to ensure that the proposed system is
not a burden to the company. For feasibility analysis, some understanding of the major requirements for
the system is essential.
• ECONOMICAL FEASIBILITY
• TECHNICAL FEASIBILITY
• SOCIAL FEASIBILITY
This study is carried out to check the economic impact that the system will have on the organization.
The amount of fund that the company can pour into the research and development of the system is limited.
The expenditures must be justified. Thus the developed system as well within the budget and this was
achieved because most of the technologies used are freely available. Only the customized products had to
be purchased.
This study is carried out to check the technical feasibility, that is, the technical requirements of the
system. Any system developed must not have a high demand on the available technical resources. This will
lead to high demands on the available technical resources. This will lead to high demands being placed on
the client. The developed system must have a modest requirement, as only minimal or null changes are
required for implementing this system.
The aspect of study is to check the level of acceptance of the system by the user. This includes the
process of training the user to use the system efficiently. The user must not feel threatened by the system,
instead must accept it as a necessity. The level of acceptance by the users solely depends on the methods
that are employed to educate the user about the system and to make him familiar with it. His level of
confidence must be raised so that he is also able to make some constructive criticism, which is welcomed,
as he is the final user of the system.
6
4. SOFTWARE AND HARDWARE REQUIREMENTS
Processor : i3
RAM : 4GB
7
5. SOFTWARE DESIGN
5.1 SYSTEM ARCHITECTURE:
Hostel students should register through the details and their account will be created.to enter into the web
site dashboard the user should login with credentials. if the person login into the page is USER then he can
select the food items and view the food items and check preferred food. If the person login into the page is
ADMIN then he can check the preferred food by students and also add the delete the food items
8
5.2 UML DIAGRAM:
Unified Modeling Language (UML) is a general-purpose modeling language. The main aim of UML is to
define a standard way to visualize the way a system has been designed. It is quite similar to blueprints
used in other fields of engineering.
UML is not a programming language; it is rather a visual language. We use UML diagrams to portray the
behavior and structure of a system, UML helps software engineers, businessmen and system architects
with modeling, design and analysis. The Object Management Group (OMG) adopted Unified Modeling
Language as a standard in 1997. It’s been managed by OMG ever since. International Organization for
Standardization (ISO) published UML as an approved standard in 2005. UML has been revised over the
years and is reviewed periodically.
• Complex applications need collaboration and planning from multiple teams and hence require a
clear and concise way to communicate amongst them.
• Businessmen do not understand code. So UML becomes essential to communicate with non-
programmer’s essential requirements, functionalities and processes of the system.
• A lot of time is saved down the line when teams are able to visualize processes, user interactions
and static structure of the system.
• UML is linked with object-oriented design and analysis. UML makes the use of elements and forms
associations between them to form diagrams. Diagrams in UML can be broadly classified as:
9
5.3 USECASE DIAGRAM
In the Unified Modeling Language (UML), a use case diagram can summarize the details of your system's
users (also known as actors) and their interactions with the system. To build one, you'll use a set of
specialized symbols and connectors. An effective use case diagram can help your team discuss and
represent:
• Scenarios in which your system or application interacts with people, organizations, or external
systems.
• Goals that your system or application helps those entities (known as actors) achieve.
A use case diagram doesn't go into a lot of detail—for example, don't expect it to model the order in
which steps are performed. Instead, a proper use case diagram depicts a high-level overview of the
relationship between use cases, actors, and systems. Experts recommend that use case diagrams be used
to supplement a more descriptive textual use case.
UML is the modeling toolkit that you can use to build your diagrams. Use cases are represented with a
labeled oval shape. Stick figures represent actors in the process, and the actor's participation in the system
is modeled with a line between the actor and use case. To depict the system boundary, draw a box around
the use case itself.
10
11
5.4 SEQUENCE DIAGRAM:
A sequence diagram in Unified Modeling Language (UML) is a kind of interaction diagram that shows
how processes operate with one another and in what order. It is a construct of a Message Sequence Chart.
Sequence diagrams are sometimes called event diagrams, event scenarios, and timing diagrams.
12
5.5 ACTIVITY DIAGRAM:
Activity diagram is another important diagram in UML to describe the dynamic aspects of the system.
Activity diagram is basically a flowchart to represent the flow from one activity to another activity. The
activity can be described as an operation of the system.
The control flow is drawn from one operation to another. This flow can be sequential, branched, or
concurrent. Activity diagrams deal with all type of flow control by using different elements such as fork,
join, etc
The basic purposes of activity diagrams is similar to other four diagrams. It captures the dynamic behavior
of the system. Other four diagrams are used to show the message flow from one object to another but
activity diagram is used to show message flow from one activity to another.
Activity is a particular operation of the system. Activity diagrams are not only used for visualizing the
dynamic nature of a system, but they are also used to construct the executable system by using forward and
reverse engineering techniques. The only missing thing in the activity diagram is the message part.
It does not show any message flow from one activity to another. Activity diagram is sometimes considered
as the flowchart. Although the diagrams look like a flowchart, they are not. It shows different flows such
as parallel, branched, concurrent, and single.
13
5.6 CLASS DIAGRAM:
Class diagram is a static diagram. It represents the static view of an application. Class diagram is not only
used for visualizing, describing, and documenting different aspects of a system but also for constructing
executable code of the software application.
Class diagram describes the attributes and operations of a class and also the constraints imposed on the
system. The class diagrams are widely used in the modeling of objectoriented systems because they are the
only UML diagrams, which can be mapped directly with object-oriented languages.
Class diagram shows a collection of classes, interfaces, associations, collaborations, and constraints. It is
also known as a structural diagram.
14
Purpose of Class Diagrams
The purpose of class diagram is to model the static view of an application. Class diagrams are the only
diagrams which can be directly mapped with object-oriented languages and thus widely used at the time of
construction.
UML diagrams like activity diagram, sequence diagram can only give the sequence flow of the application,
however class diagram is a bit different. It is the most popular UML diagram in the coder community.
15
6. CODING AND IMPLEMENTATION
Index.php:
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<div class="wrap">
<section id="main">
<div class="content">
</div>
</section>
</div>
</body>
</html>
Login.php
<?php
16
@ob_start();
session_start();
include ('includes/config.php');
if (isset($_POST['submit'])) {
$username = $_POST['username'];
$password = $_POST['password'];
$_SESSION['username'] =$username;
$_SESSION['user_type'] ="admin";
header('Location: viewfooditems.php');
else
$stmt->bind_param("ss",$username,$password);
$stmt->execute();
$stmt->store_result();
$isValid=false;
while($stmt->fetch()) {
$isValid=true;}
$stmt->close()
17
if($isValid){
$_SESSION['username'] =$username;
$_SESSION['user_type'] ="user";
header('Location: viewmenu.php');
else {
?>
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<div class="wrap">
<section id="main">
<table width="100%">
<tr>
<td width="60%">
18
<div class="content">
<div class="login-page">
<div class="dreamcrub">
<div class="account_grid">
<h3>LOGIN>
<div>
</div>
</div>
</form>
</div>
<div class="clearfix"></div>
</div></div></div></div>
</td><td width="40%">
<a href="#">
</tr>
</table>
</section>
</div>
</body>
</html>
Registration.php:
<?php
if (isset($_POST['submit'])) {
$username = $_POST['username'];
$password = $_POST['password'];
$name = $_POST['name'];
$mobile = $_POST['mobile'];
$email = $_POST['email'];
$stmt->bind_param("sssss",$username,$password,$name,$email,$mobile);
$stmt->execute();
$result=$stmt->affected_rows;
$stmt->close();
20
if($result==1)
else{
}?>
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<div class="wrap">
<section id="main">
<tr>
<div class="content">
<div class="login-page">
<div class="dreamcrub">
21
<div class="account_grid">
<h3>Register Here</h3>
<div>
</div>
<div>
</div>
<div>
</div>
<div>
</div>
<div>
</form>
<a href="#">
</td>
</tr>
</div>
<div class="clearfix"></div>
</div>
</div>
</div>
</div>
</table>
</section>
</div>
</body>
</html>
Logout.php:
<?php @ob_start();
23
session_start();
session_destroy();
header("location:login.php");
exit();
?>
Additems.php:
<?php
if (isset($_POST['submit'])) {
$name = $_POST['name'];
$description = $_POST['description'];
$stmt->bind_param("ss",$name,$description);
$stmt->execute();
$result=$stmt->affected_rows;
$stmt->close()
if($result==1){
else{
$smsg = "Failed";
}}
?>
24
Style.css:
body{
padding:0;
margin:0;
background:#f7f7f7;
body a{
transition:0.5s all;
-webkit-transition:0.5s all;
-moz-transition:0.5s all;
-o-transition:0.5s all;
-ms-transition:0.5s all;
input[type="button"],input[type="submit"]{
transition:0.5s all;
-webkit-transition:0.5s all;
-moz-transition:0.5s all;
-o-transition:0.5s all;
-ms-transition:0.5s all;
h1,h2,h3,h4,h5,h6{
margin:0;
p{
margin:0;
ul{
margin:0;
padding:0;
label{
margin:0;
/*-----start-header----*/
25
.top-header{
background:#ecf0f1;
padding:10px 0;
.header-left{
float:left;
margin-top: 5px;
.header-left ul li{
display:inline-block;
.header-left ul li a,.header-right ul li a{
color:#777777;
font-size:15px;
font-weight:600;
text-decoration:none;
.header-right ul li a{
margin-right: 5px;
color:#3498db;
.header-right ul li{
display:inline-block;
.header-right{
float:right;
position:relative;
.sign-up-right a{
position:absolute;
top: 24%;
right: 40.5%;
26
color: #777777;
font-size: 15px;
font-weight: 600;
text-decoration: none;
.sign-up-right a:hover{
color: #3498db;
.header-right ul li.last {
color: #fff;
background: #3498db;
border-radius: 50%;
font-size: 16px;
font-weight: 400;
.header-right ul li.login {
i.user{
width:30px;
height:30px;
display:inline-block;
cursor:pointer;
vertical-align:bottom;
i.lock{
width:30px;
height:30px;
display:inline-block;
cursor:pointer;
27
vertical-align:bottom;
i.cart{
width:30px;
height:30px;
display:inline-block;
cursor:pointer;
vertical-align:bottom;
.wrap{
width:85%;
margin:0 auto;
.logo{
float:left;
.search{
float:right;
/*--start-search--*/
.search2 {
position: relative;
background: #fff;
padding: 7px;
width: 100%;
float: right;
.search2 input[type="text"] {
outline: none;
color: #777777;
background: none;
font-size: 14px;
28
border: none;
width: 90%;
float: right;
.search2 input[type="submit"] {
width:30px;
height:30px;
border: none;
cursor: pointer;
position: absolute;
outline: none;
top: 3px;
.navigation-strip{
background:#266091;
padding:0px;
.navigation-strip h4 {
float: left;
color: #fff;
font-size: 1.3em;
font-weight: 300;
margin-top: 5px;
margin-bottom: 15px;
background-color: #869199;
font-weight: 700;
color: #fff; }
29
6.1 INTRODUCTION TO PHP
▪ Simple
▪ Architecture neutral
▪ Object oriented
▪ Portable
▪ Distributed
▪ High performance
▪ Interpreted
▪ Multithreaded
▪ Robust
▪ Dynamic
▪ Secure
With most programming languages, you either compile or interpret a program so that you can run
it on your computer. The Php programming language is unusual in that a program is both compiled and
interpreted. With the compiler, first you translate a program into an intermediate language called Php byte
codes —the platform-independent codes interpreted by the interpreter on the Php platform. The interpreter
parses and runs each Php byte code instruction on the computer. Compilation happens just once;
interpretation occurs each time the program is executed. The following figure illustrates how this works.
You can think of Php byte codes as the machine code instructions for the Php Virtual Machine
(Php VM). Every Php interpreter, whether it’s a development tool or a Web browser that can run applets, is
an implementation of the Php VM. Php byte codes help make “write once, run anywhere” possible. You
can compile your program into byte codes on any platform that has a Php compiler. The byte codes can
then be run on any implementation of the Php VM. That means that as long as a computer has a Php VM,
30
the same program written in the Php programming language can run on Windows 2000, a Solaris
workstation, or on an iMac.
Structured Query Language (SQL), which is a computer language for storing, manipulating, and
retrieving data stored in relational database management systems (RDBMS). SQL was developed at IBM
by Donald Chamberlin , Donald C. Messerli , and Raymond F. Boyce in the year 1970s.
MySQL is an open-source Relational Database Management System that stores data in a structured
format using rows and columns. MYSQL language is easy to use as compared to other programming
language like C, C++, Java, etc. By learning some basic commands we can work, create and interact with
the Database.
Characteristics of MySQL
1. MYSQL is free to use under the Community version of it. So we can download it from the
MYSQL website and work on it freely.
2. MYSQL use multithreading which makes it Scalable. It can handle any amount of data. The
default file size limit is 4 GB, but we can increase it according to our needs.
3. MYSQL is considered one of the fast databases. Its fastness is determined on the basis of a
large number of benchmark tests.
4. MYSQL is very flexible because it supports a large number of embedded systems.
5. MYSQL is compatible to run on various operating systems such as Windows, macOS, Linux,
etc.
6. MYSQL allows transactions to be rolled back, commit, and cash recovered.
7. It has a low memory leakage problem which increases its memory efficiency.
8. MYSQL version 8.0 provide dual password support, one is a current password and another is
a secondary password. With the help of this we can create new passwords.
9. MYSQL provides the feature of Partitioning which improve the performance of large
databases.
10. MYSQL consists of a Data Security layer that protects the data from the violator. Also,
passwords are encrypted in MYSQL.
11. MYSQL follows Client-Server Architecture where the Client requests Commands and
instructions and the Server will produce output as soon as the instruction is matched
31
7.SOFTWARE TESTING
The purpose of testing is to discover errors. Testing is the process of trying to discover every conceivable
fault or weakness in a work product. It provides a way to check the functionality of components, sub
assemblies, assemblies and/or a finished product It is the process of exercising software with the intent of
ensuring that the Software system meets its requirements and user expectations and does not fail in an
unacceptable manner. There are various types of test. Each test type addresses a specific testing
requirement.
Unit testing involves the design of test cases that validate that the internal program logic is functioning
properly, and that program inputs produce valid outputs. All decision branches and internal code flow
should be validated. It is the testing of individual software units of the application .it is done after the
completion of an individual unit before integration. This is a structural testing, that relies on knowledge of
its construction and is invasive. Unit tests perform basic tests at component level and test a specific business
process, application, and/or system configuration. Unit tests ensure that each unique path of a business
process performs accurately to the documented specifications and contains clearly defined inputs and
expected results.
Integration tests are designed to test integrated software components to determine if they actually run as
one program. Testing is event driven and is more concerned with the basic outcome of screens or fields.
Integration tests demonstrate that although the components were individually satisfaction, as shown by
successfully unit testing, the combination of components is correct and consistent. Integration testing is
specifically aimed at exposing the problems that arise from the combination of components.
XS
32
Systems/Procedures: interfacing systems or procedures must be invoked.
Organization and preparation of functional tests is focused on requirements, key functions, or special
test cases. In addition, systematic coverage pertaining to identify Business process flows; data fields,
predefined processes, and successive processes must be considered for testing. Before functional testing is
complete, additional tests are identified and the effective value of current tests is determined.
33
8.OUTPUT SCREENS
34
34
8.1 USER:
35
36
8.2 ADMIN :
37
38
39
9. CONCLUSION
This Project is about food menu for Hostel residents, where students can add their preferred food items to
their menu and submit to admin.
Admin can add and remove food items from menu according to his availability. Admin can view overall
students preferrences and prepare a menu plan for the day according to highest preferrence from students.
By developing this website there can be less food wastage where more students tend to eat meal.
40
10.REFERENCES
41