Amanprojectlast
Amanprojectlast
DISSERTATION
on
By
Gorav Sariya
SUBMITTED TO
in
of
JUNE 2024
GUIDED By
I Gorav Sariya of Institute of Computer Science declare that the project report submitted
by me is a bona fide work for the partial fulfilment of the requirement of BCA(Hons)
project work. I have incorporated all the suggestions provided my guide time to time.
I further declare that to the best of my knowledge this project contains my original work
which has been submitted for the award of any degree either in the university or in the
other university/ Deemed University /Institute etc. Without proper citation and I shall be
Signature of Student
Gorav Sariya
INSTITUTE OF COMPUTER SCIENCE
CERTIFICATE
2024
This is to certify that the dissertation title Hostel Management System by Gorav
Sariya is partial fulfilment of the requirement for the award of degree of BCA(Hons)
of Vikram University, Ujjain and is bona fide record of work done by at Institute of
No Title Remark
1.1 Introduction
1.3 Goals
1.6 Advantages
1.7 Disadvantages
2. Environment 12
2.1 Hardware
2.2 Softwares
4. Current system 18
8. Screenshots 51
Chapter 1
OVERVIEW
Hostel management system is online project that managing and organizing the operations of
hostels efficiently. These systems play a pivotal role in enhancing the overall experience of
both hostel administrators and residents by automating processes and providing real-time
information. This introduction explores the significance of hostel management projects, their
key features, benefits, and the impact they have on various stakeholders involved.
In today's fast-paced world, the demand for efficient hostel management systems has grown
significantly. These systems offer a centralized platform that simplifies the management of
hostel facilities, including room allocation, fee management, visitor tracking, and maintenance
In this project we use firstly the registration page. If anyone who has new in the website he/she
firstly registered him on the project and remember the password and the login id that can be
used during the registration page if someone forget their password and don’t save in a password
manager that we can give him a forget password window. In this window person easily recover
We have also the admin window who has total management of the system we firstly give the
encrypted password to the admin therefore his password can be save from the hackers when
the admin fill his name and id on the project he goes to the next targeted window that can be
Modern hostel management systems are equipped with a range of features designed to meet
the diverse needs of hostel administrators and residents. Some key features include:
preferences and availability, along with the ability to manage room transfers and check-
ins efficiently.
2. Fee Management: Automated fee collection, fine calculation, and payment reminders,
decision-making.
The goals of the project is that it is digital in nature and give us the proper bills of the
payments and also the proper name and number related to the project and also to the other
main window
1.4 Theoretical Background
stores information about hostel residents, rooms, room allocations, fees, staff details,
and other relevant data. The theoretical foundation here includes relational database
2. User Interface Design: The design of user interfaces in an HMS is crucial for ease of
the system is intuitive and user-friendly for administrators, hostel staff, and residents.
where the server manages the database and business logic, while clients (desktop, web,
or mobile) interact with the system. Theoretical aspects include distributed systems
and reliability.
(SDLC) models, and agile methodologies guide the development process to ensure the
encryption techniques to safeguard data against unauthorized access and cyber threats.
6. Data Analytics and Reporting: Hostel administrators often require analytical insights
and comprehensive reports from the HMS. Theoretical foundations include data mining
frameworks related to data protection (such as GDPR), financial regulations, and hostel
management guidelines that influence the design and implementation of the HMS.
(BPA), and decision support systems to optimize operational efficiency and reduce
manual intervention.
automation. These theoretical foundations guide the development of robust, efficient, and
page first on the top we use the one big heading for the welcome with this one heading we
use the hotel logo to demonstrate the hotel in a easy way just like the first login page we
use the form on that window that have many entries. Which is again saved in the database
with the table name. When the user give all his detail Then the user is added in the list as
a customer all the fields is necessary in the window. Again we import the message box to
Then the user is added in the list as a customer all the fields is necessary in the window.
Again we import the message box to demonstrate the things. Message box throws an error.
When the user not give any fields message box give the message with the box that all the
Then the user is added in the list as a customer all the fields is necessary in the window
again we import the message box to demonstrate the things message box throws an error
when the user not give any fields message box give the message with the box that all the
fields is required in the window.
1. The whole project can make the life of the customer easy because they can book
2. We use the lots of framework to design the software and this framework has lots
3. We use the sql database which is easy to use and setup of the sql database is easy
and very good which can easy to look and save the data in the form of table
4. A python good language for the web development and easy to use in the projects
5. A plus point of the software is fetch data on the screen is really a tough task for us
2. When we see the Fourth window The subtotal of rooms was not
CHAPTER 2
ENVIRONMENT
2.1 Hardware
Computers: These are essential for running the software that manages the
access and store data centrally, servers are used. These can be dedicated
the project.
Printers/Scanners: These are used for printing invoices, reports, or any other
hostel assets like furniture), as well as for issuing and managing student IDs
or access cards.
downtime during power outages, UPS units can be used to provide temporary
mobile access to the management system, especially for tasks that require
key cards that integrate with the hostel management software to control access
1. VS-code- for better management of the project we use the one famous IDE
that is vs code. In the vs code we easily save the files in the document and
easily run the project. It also offers one live server in which we can easily run
Note – we needed a vs code 5.1 version for better project management and
downloaded from the official website of the python and used in the project
the database of our project in different tables we need a SQL shell and SQL
6.Pillow - Pillow is a popular Python Imaging Library (PIL) fork used for
opening, manipulating, and saving various image file formats. It's widely used
functionality. We can download the pillow from the command using pip
install pillow we can use the pillow in our project for better management and
Python, which provides a fast and easy way to create desktop applications.
For a hostel management project, you can use Tkinter to build a user-friendly
When evaluating a manual system versus an earlier digital system for hostel management,
several factors come into play, including efficiency, accuracy, data security, and ease of
A manual system relies on physical records and manual processes for managing hostel
operations.
Advantages
2. Simple to Understand: Anyone can understand and use paper records without technical
training.
Disadvantages
3. Limited Accessibility: Records are only accessible at the physical location where they
are stored.
5. Lack of Integration: Manual systems cannot easily integrate with other systems (e.g.,
An earlier digital system involves basic computer software for managing hostel operations,
software.
Advantages
reporting.
3. Improved Data Storage: Digital records are easier to store, search, and retrieve.
networked.
Disadvantages
2. Technical Skills Required: Staff may need training to use the system effectively.
3. Maintenance: Regular maintenance and updates are required to keep the system running
smoothly.
4. Data Security Concerns: Digital data can be vulnerable to hacking, data breaches, and
Comparison
Improved, especially if
Accessibility Limited
networked
Aspect Manual System Earlier Digital System
Data
Difficult Easier
Maintenance
Susceptible to physical
Security Susceptible to cyber threats
damage
Conclusion
The earlier digital system clearly offers several improvements over a manual system in
terms of efficiency, accuracy, and ease of data management. However, it also comes with
its own set of challenges, such as higher initial costs and the need for technical skills. The
choice between a manual and an earlier digital system would depend on the specific needs,
Moving to a more advanced digital system (like the one you might develop using Tkinter
or web-based solutions) would further enhance these advantages by offering even greater
Chapter 4
CURRENT SYSTEM
The current systems for hostel management leverage modern technology to provide
comprehensive solutions that streamline operations, improve efficiency, and enhance user
experience. These systems often feature cloud-based platforms, mobile applications, and
advanced data analytics to cater to the diverse needs of hostel management. Below are
Booking and Allocation: Efficient room and bed allocation with options for single or
group bookings.
2. Tenant Management
Profile Management: Maintain detailed profiles for each tenant, including personal
Communication: Built-in messaging systems for communicating with tenants via email
or SMS.
Maintenance Requests: Log and track maintenance requests, assign tasks to staff, and
monitor completion.
Access Management: Use of key cards, biometrics, or mobile apps for secure access to
Financial Reports: Detailed financial reports for revenue, expenses, and profitability.
Custom Analytics: Use analytics to gain insights into operational efficiency and tenant
satisfaction.
7. Mobile Access
Mobile Apps: Allow staff and tenants to access system features through mobile
applications
Chapter 5
and maintenance. In our code we use the software development life cycle for
1. Planning
Objectives:
Activities:
budget.
Deliverables:
Project Charter
Feasibility Report
Objectives:
Activities:
System Models: Develop use case diagrams, data flow diagrams, and
entity-relationship diagrams.
Deliverables:
3. System Design
Objectives:
choices.
Deliverables:
Prototypes
4. Development
Objectives:
Activities:
Version Control: Use version control systems (e.g., Git) to manage code.
Deliverables:
Source Code
Integrated System
5. Testing
Objectives:
Activities:
together.
System Testing: Test the entire system for defects and performance issues.
Deliverables:
Test Reports
Bug Reports
6. Deployment
Objectives:
Activities:
Deliverables:
Deployment Plan
Deployed System
Training Materials
7. Maintenance
Objectives:
Deliverables:
Maintenance Logs
Update/Upgrade Reports
Chapter 6
if(isset($_POST['submit']))
{
// Posted Values
$acceswardent=$_POST['acceswardent'];
$accesmember=$_POST['accesmember'];
$redproblem=$_POST['redproblem'];
$Room=$_POST['Room'];
$Mess=$_POST['Mess'];
$hstelsor=$_POST['hstelsor'];
$overall=$_POST['overall'];
$feedback=$_POST['feedback'];
<!doctype html>
<html lang="en" class="no-js">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-
scale=1, minimum-scale=1, maximum-scale=1">
<meta name="description" content="">
<meta name="author" content="">
<meta name="theme-color" content="#3e454c">
<title>Feedback Registration</title>
<link rel="stylesheet" href="css/font-awesome.min.css">
<link rel="stylesheet" href="css/bootstrap.min.css">
<link rel="stylesheet"
href="css/dataTables.bootstrap.min.css">>
<link rel="stylesheet" href="css/bootstrap-social.css">
<link rel="stylesheet" href="css/bootstrap-select.css">
<link rel="stylesheet" href="css/fileinput.min.css">
<link rel="stylesheet" href="css/awesome-bootstrap-
checkbox.css">
<link rel="stylesheet" href="css/style.css">
<script type="text/javascript" src="js/jquery-1.11.3-
jquery.min.js"></script>
<script type="text/javascript"
src="js/validation.min.js"></script>
<script type="text/javascript"
src="http://code.jquery.com/jquery.min.js"></script>
</head>
<body>
<?php include('includes/header.php');?>
<div class="ts-main-content">
<?php include('includes/sidebar.php');?>
<div class="content-wrapper"
<div class="container-fluid">
<div class="row">
<div class="col-md-12"
<h2 class="page-title">Feedback </h2>
<div class="row">
<div class="col-md-12">
<div class="panel panel-primary">
<div class="panel-body">
<?php
$uid=$_SESSION['login'];
$stmt=$mysqli->prepare("SELECT emailid FROM registration WHERE
emailid=? || regno=? ");
$stmt->bind_param('ss',$uid,$uid);
$stmt->execute();
$stmt -> bind_result($email);
$rs=$stmt->fetch();
$stmt->close();
if($rs)
{
if($count>0)
{
$ret="SELECT * FROM feedback WHERE userId=? ";
$stmt= $mysqli->prepare($ret);
$stmt->bind_param('i',$aid);
$stmt->execute() ;
$res=$stmt->get_result();
$cnt=1;
while($row=$res->fetch_object())
{ ?>
<tr>
<td colspan="6" style="text-align:center;
color:blue"><h4>Feedback Details</h4></td>
</tr>
<tr>
<th>Feedback Registration Date</th>
<td><?php echo $row->postinDate;?></td>
</tr>
<tr>
<th>Accessibility to Warden </th>
<td><?php echo $row->AccessibilityWarden;?></td>
</tr>
<tr>
<th>Accessibility to Hostel Committee members </th>
<td><?php echo $row->AccessibilityMember;?></td>
</tr>
<tr>
<th>Redressal of Problem </th>
<td><?php echo $row->RedressalProblem;?></td>
</tr>
<tr>
<th>Room </th>
<td><?php echo $row->Room;?></td>
</tr>
<tr>
<th>Mess </th>
<td><?php echo $row->Mess;?></td>
</tr>
<tr>
<th>Hostel Surroundings (eg Lawn etc.) </th>
<td><?php echo $row->HostelSurroundings;?></td>
</tr>
<tr>
<th>Overall Rating </th>
<td><?php echo $row->OverallRating;?></td>
</tr>
<tr>
<th>Feedback Message</th>
<td><?php echo $row->FeedbackMessage;?></td>
</tr>
</table>
<?php }
} else {
?>
<form method="post" action="" name="complaint" class="form-
horizontal" enctype="multipart/form-data">
<div class="form-group">
<label class="col-sm-4 control-label">Accessibility to Warden
</label>
<div class="col-sm-8">
<input type="radio" name="acceswardent" value="Excellent"
required>Excellent
<input type="radio" name="acceswardent" value="Very Good"
required>Very Good
<input type="radio" name="acceswardent" value="Good"
required>Good
<input type="radio" name="acceswardent" value="Average"
required>Average
<input type="radio" name="acceswardent" value="Below Average"
required>Below Average
</div>
</div>
<div class="form-group">
<label class="col-sm-4 control-label">Accessibility to Hostel
Committee members</label>
<div class="col-sm-8">
<input type="radio" name="accesmember" value="Excellent"
required>Excellent
<input type="radio" name="accesmember" value="Very Good"
required>Very Good
<input type="radio" name="accesmember" value="Good"
required>Good
<input type="radio" name="accesmember" value="Average"
required>Average
<input type="radio" name="accesmember" value="Below Average"
required>Below Average
</div>
</div>
<div class="form-group">
<label class="col-sm-4 control-label">Redressal of
Problems</label>
<div class="col-sm-8">
<input type="radio" name="redproblem" value="Excellent"
required>Excellent
<input type="radio" name="redproblem" value="Very Good"
required>Very Good
<input type="radio" name="redproblem" value="Good"
required>Good
<input type="radio" name="redproblem" value="Average"
required>Average
<input type="radio" name="redproblem" value="Below Average"
required>Below Average
</div>
</div>
<div class="form-group">
<label class="col-sm-4 control-label">Room</label>
<div class="col-sm-8">
<input type="radio" name="Room" value="Excellent"
required>Excellent
<input type="radio" name="Room" value="Very Good" required>Very
Good
<input type="radio" name="Room" value="Good" required>Good
<input type="radio" name="Room" value="Average"
required>Average
<input type="radio" name="Room" value="Below Average"
required>Below Average
</div>
</div>
<div class="form-group">
<label class="col-sm-4 control-label">Mess</label>
<div class="col-sm-8">
<input type="radio" name="Mess" value="Excellent"
required>Excellent
<input type="radio" name="Mess" value="Very Good" required>Very
Good
<input type="radio" name="Mess" value="Good" required>Good
<input type="radio" name="Mess" value="Average"
required>Average
<input type="radio" name="Mess" value="Below Average"
required>Below Average
</div>
</div>
<div class="form-group">
<label class="col-sm-4 control-label">Hostel Surroundings (eg
Lawn etc.) </label>
<div class="col-sm-8">
<input type="radio" name="hstelsor" value="Excellent"
required>Excellent
<input type="radio" name="hstelsor" value="Very Good"
required>Very Good
<input type="radio" name="hstelsor" value="Good" required>Good
<input type="radio" name="hstelsor" value="Average"
required>Average
<input type="radio" name="hstelsor" value="Below Average"
required>Below Average
</div>
</div>
<div class="form-group">
<label class="col-sm-4 control-label">Overall Rating</label>
<div class="col-sm-8">
<input type="radio" name="overall" value="Excellent"
required>Excellent
<input type="radio" name="overall" value="Very Good"
required>Very Good
<input type="radio" name="overall" value="Good" required>Good
<input type="radio" name="overall" value="Average"
required>Average
<input type="radio" name="overall" value="Below Average"
required>Below Average
</div>
</div>
<div class="form-group">
<label class="col-sm-4 control-label">Feedback Message (if
any)</label>
<div class="col-sm-8">
<textarea name="feedback" id="feedback" class="form-
control"></textarea>
</div>
</div>
<div class="col-sm-6 col-sm-offset-4">
<input type="submit" name="submit" Value="Submit" class="btn
btn-primary">
</div>
</form>
<?php }} else {?>
div>You are not eligible for Feedback. Once you book the hostel,
you will be eligible for feedback.</div>
<?php
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<script src="js/jquery.min.js"></script>
<script src="js/bootstrap-select.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<script src="js/jquery.dataTables.min.js"></script>
<script src="js/dataTables.bootstrap.min.js"></script>
<script src="js/Chart.min.js"></script>
<script src="js/fileinput.js"></script>
<script src="js/chartData.js"></script>
<script src="js/main.js"></script>
</body>
</html>
<?php
session_start();
include('includes/config.php');
include('includes/checklogin.php');
check_login();
?>
<!doctype html>
<html lang="en" class="no-js">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-
scale=1, minimum-scale=1, maximum-scale=1">
<meta name="description" content="">
<meta name="author" content="">
<meta name="theme-color" content="#3e454c">
<title>Complaint Details</title>
<link rel="stylesheet" href="css/font-awesome.min.css">
<link rel="stylesheet" href="css/bootstrap.min.css">
<link rel="stylesheet" href="css/dataTables.bootstrap.min.css">
link rel="stylesheet" href="css/bootstrap-social.css">
<link rel="stylesheet" href="css/bootstrap-select.css">
<link rel="stylesheet" href="css/fileinput.min.css">
<link rel="stylesheet" href="css/awesome-bootstrap-
checkbox.css">
<link rel="stylesheet" href="css/style.css">
<link rel="stylesheet" href="css/font-awesome.min.css">
</script>
</head>
<body>
<?php include('includes/header.php');?>
<div class="ts-main-content">
<?php include('includes/sidebar.php');?>
<div class="content-wrapper">
<div class="container-fluid">
<div class="row" id="print">
<?php
$aid=$_SESSION['id'];
$cid=$_GET['cid'];
$ret="select * from complaints where (id=? and userId=?)";
$stmt= $mysqli->prepare($ret) ;
$stmt->bind_param('is',$cid,$aid);
$stmt->execute() ;
$res=$stmt->get_result();
$cnt=1;
while($row=$res->fetch_object())
{
?><div class="col-md-12">
<h2 class="page-title" style="margin-top:3%">#<?php echo
$row>ComplainNumber;?> Details</ <div class="panel panel-
default <div class="panel-heading">#<?php echo $row-
>ComplainNumber;?> Details</div>
<div class="panel-bo<table id="zctb" class="table table-
bordered " cellspacing="0" width="100%" border="1">
<tr>
<tdcolspan="6"style="text-align:center;
color:blue"><h4>Complaint Realted Info</h4></td>
</tr>
<tr>
<th>Complaint Number </th>
<td><?php echo $row->ComplainNumber;?></td>
<th>RegistrationDate</th>
<td><?php echo $row->registrationDate;?></td>
</tr>
<tr>
<th>Complaint Type </th>
<td><?php echo $row->complaintType;?></td>
<th>File (if any)</th>
<td><?php $cdoc=$row->complaintDoc;
if($cdoc==''):
echo "NA";
else: ?>
<a href="comnplaintdoc/<?php echo $cdoc;?>"
target="blank">File</a>
<?php endif;
?></td>
</tr>
<tr>
<th>Complaint Details</th>
<td colspan="3"><?php echo $row->complaintDetails;?></td>
</tr>
<tr>
<th>Complaint Status </th>
<td colspan="3"><?php $cstatus=$row->complaintStatus;
if($cstatus==''):
echo "New";
else:
echo $cstatus;
endif;
?></td>
</tr>
<?php
$cnt=$cnt+1;
} ?>
</tbody>
</table>
<?php $query="select * from complainthistory where
(complaintid=?)";
$stmt1= $mysqli->prepare($query) ;
$stmt1->bind_param('i',$cid);
$stmt1->execute() ;
$res1=$stmt1->get_result();
?>
<table id="zctb" class="table table-bordered " cellspacing="0"
width="100%" border="1">
<tr>
<th colspan="3" style="color:blue; font-size:18px; text-
align:center">Complaint History</th>
</tr>
<tr>
<th>Complaint Remark</th>
<th>Complaint Status</th>
<th>Posting Date</th>
</tr>
<?php
while($row1=$res1->fetch_object())
{ ?>
<tr>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</html>
Chapter 7
ER DIAGRAMS AND DATA FLOW DIAGRAMS
START
ENTER ALL
FIELDS
IF ANY
FIELD
NULL
ERROR
RIGHT
SUCCESS
2 Page of ER-Diagram(Login)
START
ENTER NAME
AND PWD
FIELDS
IF
NULL
ERROR
RIGHT
SUCCESS
ENTER NAME
AND PWD
FIELDS
IF
FALSE
ERROR FORGET
THAT
ENTER ALL
FIELD
IF
NULL
ERROR
IF RIGHT
CUSTOMER ADD
FIRST WINDOW
LOGIN
REGISTRATION
FORGET
REGISTER
LOGIN
RESET
BOOK
ROOM LOGOUT
DETAILS
ACCESS
UPDATE
ADD RESET DEL
Chapter 8
SCREENSHOTS OF THE PROJECT