Blms Report
Blms Report
1 SYNOPSIS 2
2 INTRODUCTION 3
3 SYSTEM REQUIREMENT 5
4 SYSTEM DESCRIPTION 7
5 SYSTEM ANALYSIS 10
6 SYSTEM DESIGN 12
APPENDIX
8 32
8.2SCREEN LAYOUTS 43
9 CONCLUSION 58
10 FUTURE ENHANCEMENT 59
11 BIBLIOGRAPHY 60
1
1. SYNOPSIS
“Bank Locker Management System” is responsible for keeping all the record of
assign lockers which is assign by banker. This system helps the locker holder who
wants to keep their valuable with bank with high safety.
The main objective of “Bank Locker Management System” project is to provide easier
to bank and locker holder.
There are banks for people to keep their valuable things saved in an allocated locker
which they can access anytime they want Just like people don’t keep the savings at
home, use banks instead and make transactions when needed. It comes with a high
level of accountability from bank’s side to make sure that the right person gets
access to the right locker and keep track of it for security purposes.
Most banks use paper documents to keep track of the activity which at this point is
very old school. The purpose of IT is to replace as much paperwork as possible
hence an application to cover everything would be the best possible solution.
This web app is going to resolve the mentioned issue, it will give bank locker
manager the ability to register users, register lockers and book a certain locker to a
specific user. The software will also give the option for check in and check out for
the users, the software will also generate activity report for the checked duration of
time.
2
2. INTRODUCTION
Bank Locker Management System is a web based application which deals with bank
lockers which stores valuables things of bank customers. All details of lockers are
saved in database. This project is developed using PHP with MySQL extension.
This project has three modules i.e. Banker, Sub-banker and User
Modules
In this project user is those who have locker in bank. With the help of locker number
user can see the details of lockers.
Banker Modules
Dashboard: In this section, Banker briefly views the Total assign lockers, Total Sub-
Banker and Total Locker Type.
Assign Locker: In this section, banker assign the locker to customers or users with
providing unique locker number and key number of lockers through locker
number users or customer can view the details of their locker.
▪ B/w Dates Report: Banker can view a number of assign lockers in particular
periods.
3
Pages: In this Section, Admin can manage the content of about us and contact us
pages.
Account Settings:
Purpose
The main purpose of the "Bank Locker Management System" is to offers better
solution for bank security system. It manages all the information about assign bank
locker. Banks offers locker facilities to individuals at vey small annual fee. These
lockers are maintained in a secure facility that is under constant surveillance and
security.
Scope
The Software design document would demonstrate how the design will accomplish
the functional and non- functional requirements captured in the Software
Requirement specification (SRS). The document will provide a framework to the
programmers through describing the high level components and architecture, sub
systems, interfaces, database design and algorithm design. This is achieved through
the use of architectural patterns, design patterns, sequence diagrams, class diagrams,
relational models and user interfaces.
4
3.SYSTEM REQUIREMENT
Client Side:
RAM 512 MB
Hard disk 10 GB
Server side:
RAM 1 GB
Hard disk 20 GB
Client side:
Google Chrome or any compatible
Web Browser browser
Operating System
Windows or any equivalent OS
5
Server Side:
6
4. SYSTEM DESCRIPTION
APACHE
The Apache HTTP Server Project is an effort to develop and maintain an open-
source HTTP server for modern operating systems including UNIX and Windows.
The goal of this project is to provide a secure, efficient and extensible server that
provides HTTP services in sync with the current HTTP standards.
The Apache HTTP Server ("httpd") was launched in 1995 and it has been the most
popular web server on the Internet since April 1996. It has celebrated its 20th
birthday as a project in February 2015.
PHP
PHP (Hypertext Processor) is a general-purpose scripting language and interpreter that is freely
available and widely used for web development. The language is used primarily for server-side
scripting, although it can also be used for command-line scripting and, to a limited
degree, desktop applications.
The acronym PHP was originally derived from Personal Home Page Tools, but it now stands for
PHP: Hypertext Preprocessor, which the PHP Group's documentation describes as a "recursive
acronym."
When used for server-side scripting, PHP is added to a webpage for the purpose of
generating dynamic content when the page is accessed through a client browser. The web server
runs the script before transmitting the page to the browser.
To support this process, the web server requires PHP to be installed on the server, along with a
PHP parser -- either a Common Gateway Interface (CGI) parser or a server module.
7
When a user requests a webpage from the server, the parser interprets the PHP portion of the
page, performs the operations called for in the PHP script, and generates the Hypertext Markup
Language (HTML) that results from those operations. The HTML is then sent to the client
browser, along with any other HTML on the page, providing a seamless rendering of the content.
Webpages that contain PHP script are considered to be dynamic HTML pages because content
varies based on the results of interpreting the script.
MYSQL
MySQL is an open-source relational database management system we can interact with using
Structured Query Language (SQL). A query language is a simple programming language that can
help you access, manipulate and manage data in a relational database. We use MySQL to store all
the information you need to efficiently run large, complex websites.
8
Since MySQL is a commonly used database management system, it’s supported by various
programming languages like Python, PHP and JavaScript, hence we can run it on any platform or
operating system.
MySQL is used by many of the world’s most powerful web applications
like Uber, Netflix, Slack, Twitter, Shopify and Airbnb.
9
5. SYSTEM ANALYSIS
The analysis of the requirement has lead to a conclusion that the project is feasible
with respect to time and cost. The data collection from the field is assured by the client
to provide. The technology used to develop is almost Open Source, therefore less cost
for implementation and maintenance will be involved.
A feasibility study is an analysis used in measuring the ability and likelihood to
complete a project successfully including all relevant factors. It must account for
factors that affect it such as economic, technological and time factors.
It is used to assess the strengths and weaknesses of a proposed project and present
directions of activities which will improve a project and achieve desired results.
Economic feasibility
The purpose of economic feasibility assessment is to determine the positive economic
benefits to the organization that the proposed system will provide. The assessment
typically involves a cost/benefits analysis.
Technical feasibility
Technical analysis is a trading tool employed to evaluate securities and attempt to
forecast the future movement. I am using java language and other tools like net beans
to develop the software.
10
Operational feasibility
Operational feasibility is a measure of how well proposed system solves the
problems, and takes advantage of the opportunities identified during scope definition
and how it satisfies the requirements analysis phase of the system development.
Analysis:
In present all doctor appointment work done on the paper. The whole year data is
stored in the registers. We can’t generate reports as per our requirements because its
• Not user friendly: The present system not user friendly because data is not
error.
• Lots of paper work: Visitors maintain in the register so lots of paper require
storing details.
• Time consuming
11
6.SYSTEM DESIGN
Once the software requirements have been analyzed and specified the software design
involves three technical activities - design, coding, implementation and testing that
are required to build and verify the software.
The design activities are of main importance in this phase, because in this activity,
decisions ultimately affecting the success of the software implementation and its
ease of maintenance are made. These decisions have the final bearing upon
reliability and maintainability of the system.
Design is the only way to accurately translate the customer’s requirements into
finished software or a system.
12
UML Diagrams:
Actor:
A coherent set of roles that users of use cases play when interacting with the use
`cases.
UML stands for Unified Modeling Language. UML is a language for specifying,
visualizing and documenting the system. This is the step while developing any
product after analysis. The goal from this is to produce a model of the entities
involved in the project which later need to be built. The representation of the entities
that are to be used in the product being developed need to be designed.
13
USECASE DIAGRAMS:
Use case diagrams model behavior within a system and helps the developers
understand of what the user require. The stick man represents what’s called an actor.
Use case diagram can be useful for getting an overall view of the system and clarifying
who can do and more importantly what they can’t do.
Use case diagram consists of use cases and actors and shows the interaction between
the use case and actors.
• The purpose is to show the interactions between the use case and actor.
• To represent the system requirements from user’s perspective.
14
Use Case Diagrams:
Banker
Sign In
Dashboard
Manage Sub-Banker
Generate Reports
Update Profile
Change Password
Password Recovery
15
Sub-Banker
Sign In
Dashboard
Generate Reports
Update Profile
Change Password
Password Recovery
16
User
Visit Website
View Contact
View About Us
17
Class Diagram:
A description of set of objects that share the same attributes operations, relationships,
and semantics.
18
ER Diagram:
• It maps well to the relational model. The constructs used in the ER model can
easily be transformed into relational tables.
• It is simple and easy to understand with a minimum of training.
Therefore, the model can be used by the database designer to
communicate the design to the end user.
• In addition, the model can be used as a design plan by the database developer
to implement a data model in specific database management software.
ER Notation
All notational styles represent entities as rectangular boxes and relationships as lines
connecting boxes. Each style uses a special set of symbols to represent the cardinality
of a connection. The notation used in this document is from Martin. The symbols used
for the basic ER constructs are:
19
• Entities are represented by labeled rectangles. The label is the name of the
singular nouns.
20
ER Diagram
21
MySQL Data Tables
Assign Locker Table:(Table name is tblassignlocker)
This store the details of lockers holders and their locker.
22
Locker type Table: (Table name is tbllockertype)
This table stores the locker type available in the bank.
23
6.2 Data Flow Diagrams
It shows how data enters and leaves the system, what changes the information, and
where data is stored.
The objective of a DFD is to show the scope and boundaries of a system as a whole. It
may be used as a communication tool between a system analyst and any person who
plays a part in the order that acts as a starting point for redesigning a system. The DFD
is also called as a data flow graph or bubble chart.
1. All names should be unique. This makes it easier to refer to elements in the
DFD.
2. Remember that DFD is not a flow chart. Arrows is a flow chart that represents
the order of events; arrows in DFD represents flowing data. A DFD does not
involve any order of events.
3. Suppress logical decisions. If we ever have the urge to draw a diamond-shaped
box in a DFD, suppress that urge! A diamond- shaped box is used in flow
charts to represents decision points with multiple exists paths of which the only
one is taken. This implies an ordering of events, which makes no sense in a
DFD.
4. Do not become bogged down with details. Defer error conditions and error
handling until the end of the analysis.
Standard symbols for DFDs are derived from the electric circuit diagram analysis and
are shown in fig:
24
Circle: A circle (bubble) shows a process that transforms data inputs into data
outputs.
Data Flow: A curved line shows the flow of data into or out of a process or data store.
Data Store: A set of parallel lines shows a place for the collection of data items. A
data store indicates that the data is stored which can be used at a later stage or by the
other processes in a different order. The data store can have an element or group of
elements.
Source or Sink: Source or Sink is an external entity and acts as a source of system
inputs or sink of system outputs.
25
Zero Level DFD
Locker-Type Password
Management
Management
Banker Login
Management BLMS Management
Sub-Banker Authorization
Management Management
Management Management
26
First Level DFD
Locker-Type Password
Management
Management
Banker Webpages
Sub-Banker Login
Management Management
Generate
Authorization
Report
Management
Management Management
27
Second Level DFD
Login to Check Roles
Banker system of access
Manage Sub-
Banker
Manage Locker
Type
Forgot
Password Check
Credential
Assign Locker
Manage
Modules
Manage Web
Pages
Generate Report
Change Update Profile Search Locker
Password Details
28
Login to
Check Roles
Sub-Banker system
of access
Manage Locker
Type
Forgot
Password Check
Credential
Assign Locker
Manage
Modules
Manage Web
Pages
Generate Report
Change Update Profile Search Locker
Password Details
29
7. IMPLEMENTATION AND TESTING
After all phase have been perfectly done, the system will be implemented to the server
and the system can be used.
System Testing
The goal of the system testing process was to determine all faults in our
project .The program was subjected to a set of test inputs and many explanations were made and
based on these explanations it will be decided whether the program behaves as expected or not.
Our Project went through two levels of testing
1. Unit testing
2. Integration testing
Unit Testing
Unit testing is commenced when a unit has been created and effectively reviewed .In
order to test a single module we need to provide a complete environment i.e. besides
the section we would require
• The procedures belonging to other units that the unit under test calls
• Non local data structures that module accesses
• A procedure to call the functions of the unit under test with
appropriate parameters
30
1. Test for the admin module
INTEGRATION TESTING
The primary objective is to test the module interfaces in order to confirm that
no errors are occurring when one module invokes the other module.
31
8. APPENDIX
Sample Code:
USE bank_locker_system;
-- Users table
CREATE TABLE users (
user_id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
email VARCHAR(100) NOT NULL UNIQUE,
password VARCHAR(255) NOT NULL
);
-- Lockers table
CREATE TABLE lockers (
locker_id INT AUTO_INCREMENT PRIMARY KEY,
locker_number VARCHAR(50) NOT NULL,
status ENUM('available', 'booked') DEFAULT 'available'
);
32
-- Transactions table (for tracking locker bookings)
CREATE TABLE transactions (
transaction_id INT AUTO_INCREMENT PRIMARY KEY,
user_id INT,
locker_id INT,
booking_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (user_id) REFERENCES users(user_id),
FOREIGN KEY (locker_id) REFERENCES lockers(locker_id)
);
33
Password: <input type="password" name="password" required><br>
<button type="submit" name="submit">Register</button>
</form>
</body>
</html>
34
3. Locker Booking Form (book_locker.php)
html
Copy
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Book Locker - Bank Locker</title>
</head>
<body>
<h2>Available Lockers</h2>
<form action="book_locker.php" method="POST">
<select name="locker_id">
<!-- Lockers will be populated dynamically -->
<?php
// Connect to the database and retrieve available lockers
$conn = new mysqli("localhost", "root", "", "bank_locker_system");
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
35
?>
</select><br>
<button type="submit" name="book">Book Locker</button>
</form>
</body>
</html>
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "INSERT INTO users (name, email, password) VALUES ('$name', '$email',
'$password')";
36
if ($conn->query($sql) === TRUE) {
echo "Registration successful!";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
}
?>
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
37
if ($result->num_rows > 0) {
$user = $result->fetch_assoc();
if (password_verify($password, $user['password'])) {
$_SESSION['user_id'] = $user['user_id'];
header("Location: book_locker.php");
} else {
echo "Invalid password!";
}
} else {
echo "User not found!";
}
$conn->close();
}
?>
38
if (isset($_POST['book'])) {
$locker_id = $_POST['locker_id'];
$user_id = $_SESSION['user_id'];
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
if ($result->num_rows > 0) {
// Update locker status to 'booked'
$conn->query("UPDATE lockers SET status = 'booked' WHERE locker_id =
'$locker_id'");
39
echo "Locker booked successfully!";
} else {
echo "Locker is already booked or does not exist.";
}
$conn->close();
}
?>
<?php
include('config.php');
function display_lockers() {
global $conn;
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "Locker " . $row['locker_id'] . ": " . $row['status'] . "<br>";
}
} else {
echo "No lockers available.";
}
}
40
function book_locker($user_name, $locker_id, $pin) {
global $conn;
if ($result->num_rows > 0) {
echo "Locker $locker_id is already booked.<br>";
return;
}
function cancel_locker($locker_id) {
global $conn;
41
// Check if the locker is booked
$sql = "SELECT * FROM lockers WHERE locker_id = '$locker_id' AND status =
'Booked'";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// Cancel booking
$sql = "UPDATE lockers SET status = 'Available', user_name = NULL, pin = NULL
WHERE locker_id = '$locker_id'";
42
Screen Layouts:
Home Page
43
Search Locker Details
44
View Locker Details
45
Banker or Sub Banker Login Page
Forgot Password
46
Dashboard
Profile
47
Change Password
Add Sub-Banker
48
Manage Sub-Banker
Update Sub-Banker
49
Add Locker Type
50
Update Locker Type
Assign Locker
51
Manage Assign Locker
52
Update Assign Locker
53
Update Image
54
View Between Dates Report
Search Report
55
View Search Report
About Us Page
56
Contact Us Page
57
9.CONCLUSION
This Application provides a computerized version of bank lockers facility which will
benefit the people who locker in bank.
It makes entire process online and can generate reports. It has a facility of bankers
login, sub-banker login where banker can manage assign lockers and generate
assign lockers report.
The application was designed in such a way that future changes can be done easily.
The following conclusions can be deduced from the development of the project.
58
10.FUTURE ENHANCEMENT
I have tried to design the software in such a way that the user may not have any
difficulty in using this system and further expansion is also possible. New
requirements will be added and risk will be analyzed in every phase until the
requirement of user will not be fulfilled. The most priority will be given to keep
confidential data secure and easy and simple for use.
• Any requirement that will make system easy to use or make a system secure, these
requirement will be add using Spiral Model. Other requirement related to government
• For the identity of user and for their data integrity, digital signature can be added to this
system.
• For the identity of user and for verification, image of user can be added to this system.
• There will be provision of filling form in multiple languages.
• A great concern will be given on frontend design which will make user to use system
easily and enjoy while using this system.
59
11.BIBLIOGRAPHY
For PHP
• https://www.w3schools.com/php/default.asp
• https://www.sitepoint.com/php/
• https://www.php.net/
For MySQL
• https://www.mysql.com/
• http://www.mysqltutorial.org
For XAMPP
• https://www.apachefriends.org/download.html
60