0% found this document useful (0 votes)
227 views

Final Document - Bank locker management System

The Bank Locker Management System is a software solution designed to enhance the security and efficiency of managing safe deposit lockers in banks. It automates processes such as locker allocation, access control, payment tracking, and maintenance, while ensuring compliance with legal standards. Key features include user management, real-time monitoring, and advanced security protocols, all aimed at improving customer experience and operational efficiency.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
227 views

Final Document - Bank locker management System

The Bank Locker Management System is a software solution designed to enhance the security and efficiency of managing safe deposit lockers in banks. It automates processes such as locker allocation, access control, payment tracking, and maintenance, while ensuring compliance with legal standards. Key features include user management, real-time monitoring, and advanced security protocols, all aimed at improving customer experience and operational efficiency.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 52

BANK LOCKER MANAGEMENT SYSTEM

ABSTRACT

Bank Locker Management is a crucial aspect of banking operations that ensures


the security and efficient allocation of safe deposit boxes to customers. The system facilitates
customer access to lockers, maintains records of locker usage, and handles the assignment
and retrieval process. It involves a robust authentication mechanism to verify user identity
and prevent unauthorized access. Digital management systems track locker availability,
renewals, and any potential damages or irregularities. Automated alerts notify customers of
locker-related updates such as due payments or expiry dates. The management process
ensures compliance with legal and regulatory standards, minimizing risks related to theft,
damage, or misuse. Integration with existing banking software streamlines operations and
improves customer satisfaction. The implementation of modern security protocols, including
biometric access and surveillance systems, enhances the safety of stored items. Proper locker
maintenance and frequent audits ensure the integrity and functionality of the system.
Ultimately, effective bank locker management strengthens customer trust and contributes to
the bank's reputation.
CHAPTER - 1

1.1 INTRODUCTION
A Bank Locker Management System is a software solution designed to streamline
and manage the renting and maintenance of safe deposit lockers in a bank. This system
helps both the bank staff and customers by automating and organizing various aspects
related to the locker services. The system allows for the allocation of lockers to
customers, tracking of locker usage, managing payments, and ensuring security. It
typically includes functionalities such as locker reservations, access control, customer
verification, payment tracking, and reporting.

The main objectives of the Bank Locker Management System are to:
1. Provide an easy and efficient way for customers to rent lockers.
2. Ensure the security and privacy of the customer's valuables.
3. Enable efficient management of locker availability, billing, and maintenance.
4. Streamline the verification process for accessing lockers.
5. Improve overall customer experience by automating manual tasks and reducing human
error.

This system improves operational efficiency, enhances security, and reduces the
possibility of errors associated with manual tracking and management of lockers.
1.2 OBJECTIVE

The objectives of a Bank Locker Management System typically include:

1. *Security*: To ensure the safe storage of customers' valuable items in secure lockers, with
restricted access and monitoring.

2. *Efficiency*: To streamline the process of locker booking, maintenance, and


management, ensuring a smooth experience for both customers and staff.

3. *Accountability*: To maintain accurate records of locker allocation, usage, and periodic


access to ensure compliance and traceability.

4. *User Access Control*: To establish secure and controlled access mechanisms (e.g., keys,
PINs, biometric systems) for authorized customers only.

5. *Real-Time Monitoring*: To provide real-time tracking of locker status (e.g., available,


occupied, under maintenance) and usage.

6. *Customer Convenience*: To allow easy reservation, renewal, and management of


lockers, enhancing customer satisfaction.

7. *Reporting & Analytics*: To generate reports on locker usage, occupancy rates, and
other relevant metrics for better decision-making and resource allocation.

8. *Maintenance and Support*: To ensure lockers are well-maintained, periodically


checked, and repaired as needed to preserve their functionality and security.

These objectives aim to provide a safe, user-friendly, and operationally effective locker
management solution.
1.2 OVERVIEW OF THE PROJECT:

The Bank Locker Management System is a software-based solution designed to


automate and streamline the management of locker facilities in banks. It provides an
efficient way to handle the allocation, access control, and monitoring of lockers, ensuring
a secure and user-friendly experience for customers and staff alike. The system integrates
various functionalities to ensure smooth operations, from customer registration and locker
booking to access tracking and reporting.
CHAPTER - 2

SYSTEM ANALYSIS

A Bank Locker Management System (BLMS) is typically an existing system within


financial institutions that manages the allocation, rental, and maintenance of safe deposit
boxes or lockers. Here's an overview of such a system, including its components, features,
and potential improvements:

1. *User Management*:

- Customer registration and profile management.

- KYC (Know Your Customer) compliance checks.

2. *Locker Management*:

- Availability check for lockers.

- Locker allocation to customers.

- Different sizes and types of lockers (e.g., small, medium, large).

3. *Booking and Payment Processing*:

- Online and offline payment processing for locker rentals.

- Invoice generation and receipt management.

4. *Access Control*:

- Security mechanisms (physical and digital).

- Key management (physical keys or electronic access using biometric systems).

5. *Maintenance and Support*:

- Regular maintenance schedules for lockers.

- Reporting issues such as damages or malfunctioning locks.


6. *Audit and Reporting*:

- Generation of usage reports, revenue reports, and customer activity logs.

- Compliance with regulatory requirements for audit purposes.

Features:

- *User Interface*: A user-friendly interface for both customers and bank staff.

- *Notifications and Alerts*: Automated reminders for payment due dates, locker renewals,
and other important notices.

- *Customer Support*: Integration of customer support channels for locker-related queries.

Potential Improvements

1. *Online Access and Control*:

- Enhanced portals or mobile apps for customers to manage their lockers online, including
booking, payments, and updates.

2. *Advanced Security Features*:

- Implementation of biometric access (e.g., fingerprint or facial recognition) for heightened


security.

- Video surveillance integration for monitoring locker areas.

3. *Data Analytics*:

- Incorporation of data analytics to assess locker usage patterns and optimize space
allocation.

4. *Blockchain Technology*:

- Utilize blockchain for secure and tamper-proof records of ownership and access history.

5. *Integration with Other Banking Services*:

- Offer bundled services (e.g., locker rental with investment options) for customer
convenience.
6. *Feedback Mechanism*:

- Implement a system for customers to provide feedback on the locker experience, which
can help drive improvements.

7. *E-signature and Documentation*:

- Use electronic signatures for contracts and agreements to streamline the rental process.

.
2.3 SYSTEM REQUIREMENTS

HARDWARE REQUIREMENTS

 System : Core(TM) i3-7020 2.30GHz.


 Hard Disk : 237GB.
 Monitor : 15 VGA Colour.
 Mouse : Logitech.
 RAM : 8 GB.

SOFTWARE REQUIREMENTS

 Operating System : Windows 10/11.

 Front-End Language : HTML5,CSS4.0 and Java Script14.0

 Back-End Language : PHP 7.0

 Database Server : MYSQL 10.0

 IDE : Visual Studio Code 1.7


CHAPTER - 3

SYSTEM IMPLEMENTATION

3.1 IMPLEMENTATION

Implementing a Bank Locker Management System involves several steps, including


requirements gathering, system design, development, testing, and deployment. Below is a
high-level guide outlining the key components and steps needed to implement a Bank Locker
Management System.

1. Requirements Gathering

*Functional Requirements:*

- User authentication (bank staff and customers)

- Locker reservation/booking

- Locker assignment to customers

- Payment processing (for rental fees)

- Maintenance and tracking of locker status (available, occupied, under maintenance)

- Notifications/alerts for lock status and payments

- Reporting for management (usage statistics, revenue)

*Non-Functional Requirements:*

- Security (encryption for data, secure authentication)

- Scalability (ability to handle increased users)

- Usability (user-friendly interface)

- Performance (quick response times)

2. System Design
*Architecture:*

- *Frontend:* A web or mobile application for users to interact with the system.

- *Backend:* A server-side application to handle logic, storage, and processing.

- *Database:* A relational database to store user information, locker details, transactions, etc.

*Data Model:*

- *Users Table:* UserID, Name, Email, PasswordHash, Role (Customer/Staff)

- *Lockers Table:* LockerID, Size, Status, CustomerID, AvailableFrom, AvailableUntil

- *Transactions Table:* TransactionID, UserID, LockerID, Amount, TransactionDate

3. Technology Stack

*Frontend:*

- HTML/CSS for structure and design

- JavaScript (React, Angular, or Vue.js) for dynamic content

*Database:*

- MySQL, PostgreSQL, or MongoDB for data storage

*Additional Tools:*

- Authentication (OAuth, JWT)

- Payment Gateway (Stripe, PayPal)

- Hosting services (AWS, Azure, or DigitalOcean)


4. Development

*Steps:*

1. *Setup Development Environment:* Install necessary software and tools.

2. *Database Schema Creation:* Create tables as per the data model defined in the design
phase.

3. *API Development:* Create RESTful APIs for user authentication, locker management,
payment processing, etc.

4. *Frontend Development:* Create user interface components for booking lockers,


displaying status, etc.

5. *Integration:* Connect frontend to backend APIs.


CHAPTER - 4

SOFTWARE DEVELOPMENT

4.1 SOFTWARE ENVIRONMENT

PHP in the Web Environment


PHP programs are written using a text editor, such as Notepad, Simple Text, or vi,
just like HTML pages. However, unlike HTML, PHP files end with a .php extension. This
extension signifies to the server that it needs to parse the PHP code before sending the
resulting HTML code to the viewer’s web browser. In PHP, on the fly method is adopted to
publish the document. Hence, the PHP developer can generate not only web pages, but also
other web embedding documents like PDF, PNG, GIF, etc. The PHP web environment is
usually set with AMP (Apache, MySQL, and PHP/Perl/Python), which are linked together.

Example An introductory example

<!DOCTYPE HTML>
<html>
<head>
<title>Example</title>
</head>
<body>
<?php
echo "Hi, I'm a PHP script!";
?>
</body>
</html>

What distinguishes PHP from something like client-side JavaScript is that the code is
executed on the server, generating HTML which is then sent to the client. The client would
receive the results of running that script, but would not know what the underlying code was.
You can even configure your web server to process all your HTML files with PHP, and then
there's really no way that users can tell what you have up your sleeve.
The best things in using PHP are that it is extremely simple for a newcomer, but
offers many advanced features for a professional programmer. Don't be afraid reading the
long list of PHP's features. You can jump in, in a short time, and start writing simple scripts
in a few hours.
PHP started out as a small open source project that evolved as more and more people found
out how useful it was. Rasmus Lerdorf unleashed the first version of PHP way back in 1994.

 PHP is a recursive acronym for "PHP: Hypertext Preprocessor".

 PHP is a server side scripting language that is embedded in HTML. It is used to


manage dynamic content, databases, session tracking, even build entire e-commerce
sites.

 It is integrated with a number of popular databases, including MySQL, PostgreSQL,


Oracle, Sybase, Informix, and Microsoft SQL Server.

 PHP is pleasingly zippy in its execution, especially when compiled as an Apache


module on the Unix side. The MySQL server, once started, executes even very
complex queries with huge result sets in record-setting time.

 PHP supports a large number of major protocols such as POP3, IMAP, and LDAP.
PHP4 added support for Java and distributed object architectures (COM and
CORBA), making n-tier development a possibility for the first time.

 PHP is forgiving: PHP language tries to be as forgiving as possible.

 PHP Syntax is C-Like.

Common uses of PHP


 PHP performs system functions, i.e. from files on a system it can create, open, read,
write, and close them.

 PHP can handle forms, i.e. gather data from files, save data to a file, through email
you can send data, return data to the user.

 You add, delete, modify elements within your database through PHP.

 Access cookies variables and set cookies.

 Using PHP, you can restrict users to access some pages of your website.

 It can encrypt data.


Characteristics of PHP
Five important characteristics make PHP's practical nature possible −

 Simplicity

 Efficiency

 Security

 Flexibility

 Familiarity

"Hello World" Script in PHP


To get a feel for PHP, first start with simple PHP scripts. Since "Hello, World!" is an
essential example, first we will create a friendly little "Hello, World!" script.

As mentioned earlier, PHP is embedded in HTML. That means that in amongst your normal
HTML (or XHTML if you're cutting-edge) you'll have PHP statements like this −

<html>

<head>

<title>Hello World</title>

</head>

<body>

<?php echo "Hello, World!";?>

</body>

</html>

It will produce following result −

Hello, World!

If you examine the HTML output of the above example, you'll notice that the PHP code is
not present in the file sent from the server to your Web browser. All of the PHP present in
the Web page is processed and stripped from the page; the only thing returned to the client
from the Web server is pure HTML output.
In order to develop and run PHP Web pages three vital components need to be installed on
your computer system.

 Web Server − PHP will work with virtually all Web Server software, including
Microsoft's Internet Information Server (IIS) but then most often used is freely
available Apache Server. Download Apache for free here
− https://httpd.apache.org/download.cgi

 Database − PHP will work with virtually all database software, including Oracle and
Sybase but most commonly used is freely available MySQL database. Download
MySQL for free here − https://www.mysql.com/downloads/

 PHP Parser − In order to process PHP script instructions a parser must be installed
to generate HTML output that can be sent to the Web Browser. This tutorial will
guide you how to install PHP parser on your computer.

PHP Parser Installation


Before you proceed it is important to make sure that you have proper environment
setup on your machine to develop your web programs using PHP.

Type the following address into your browser's address box.

http://127.0.0.1/info.php

If this displays a page showing your PHP installation related information then it
means you have PHP and Webserver installed properly. Otherwise you have to follow given
procedure to install PHP on your computer.

This section will guide you to install and configure PHP over the following four platforms −

 PHP Installation on Linux or Unix with Apache

 PHP Installation on Mac OS X with Apache

 PHP Installation on Windows NT/2000/XP with IIS

 PHP Installation on Windows NT/2000/XP with Apache


Apache Configuration
If you are using Apache as a Web Server then this section will guide you to edit
Apache Configuration Files.

PHP.INI File Configuration


The PHP configuration file, php.ini, is the final and most immediate way to affect
PHP's functionality.

Windows IIS Configuration


To configure IIS on your Windows machine you can refer your IIS Reference Manual
shipped along with IIS.

How PHP Fits with HTML


 PHP not only allows HTML pages to be created on the fly, but it is invisible to your web
site visitors. The only thing they see when they view the source of your code is the
resulting HTML output. In this respect, PHP gives you a bit more security by hiding your
programming logic.
 HTML can also be written inside the PHP code of your page, which allows you to format
text while keeping blocks of code together. This will also help you write organized,
efficient code, and the browser (and, more importantly, the person viewing the site) won’t
know the difference.
 PHP can also be written as a standalone program with no HTML at all. This is helpful for
storing your connection variables, redirecting your visitors to another page of your site, or
performing other functions.

Some of frame works


Frame Work is collection of software or program, that trigger off easy coding and
implementing the code. It helps to programmer to achieve goals in short period of time. If
PHP code is integrated with frame works, you can do anything with php coding skills.

FuelPHP
Fuel PHP works based on Model View Control and having innovative plug ins. FuelPHP
supports router based theory where you might route directly to a nearer the input uri, making
the closure the controller and giving it control of further execution.
CakePHP
Cake PHP is a great source to build up simple and great web application in an easy
way. Some great feature which are inbuilt in php are input validation, SQL injection
prevention that keeps you application safe and secure.

Features

 Build Quickly
 No need to configure
 MIT licence
 MVC Model
 Secure

How PHP Fits with MySQL


MySQL easily fits into server-side programming languages, through a domain. Before
your MySQL functions will be recognizable, make sure to enable MySQL in your php.ini
file. You can use MySQL commands within PHP code almost as seamlessly as you do with
HTML. Numerous PHP functions work specifically with MySQL to make your life easier.
Some of the more commonly used functions are:
 mysql_connect([$host[, $username[, $password]]]): Connects to the MySQL server
and returns a resource which is used to reference the connection.
 mysql_select_db($database[, $resource]): Equivalent to the MySQL command USE
and sets the active database.
 mysql_query($query[, $resource]): Used to send any MySQL command to the
database server. In the case of SELECT queries, a reference to the result set will be
returned.
 mysql_fetch_array($result): Return a row of data from the query’s result set as an
associative array, numeric array or both.
 mysql_fetch_assoc($result): Return a row of data from the query’s result set as an
associative array.
 mysql_error([$resource]): Shows the error message generated by the previous
query.
Connecting to the MySQL Server:-

Before you can do anything with MySQL, you must first connect to the MySQL server using
your specific connection values. Connection variables consist of the following parameters:
 Hostname: In our case, this is localhost because everything has been installed locally.
You will need to change this to whatever host is acting as your MySQL server, if
MySQL is not on the same server.

 Username and password: This is to authenticate securely over server end.

You issue this connection command with the PHP function called mysql_connect(). As with
all of your PHP/MySQL statements, you can either put the information into variables or leave
it as text in your MySQL query.
Here’s how you would do it with variables:
$host = ‘localhost’;
$user = ‘user_name’;
$pass = ‘password’;
$db = mysql_connect($host, $user, $pass);
The following statement has the same effect:
$db = mysql_connect(‘localhost’, ‘user_name’, ‘password’);

For the most part, your specific needs and the way you are designing your table will
dictate what piece of code you use. Most people use the first method for security ‘sake and
put the variables in a different file. Then they include them wherever they need to make a
connection to the database.

Web Interface with Apache, MySQL, and PHP:

phpMyAdmin is a tool written in PHP intended to handle the administration of MySQL over
the Web. Currently it can create and drop databases, create/drop/alter tables, delete/edit/add
fields, execute any SQL statement, manage keys on fields.
Features provided by the program include:
1. Web interface

2. MySQL database management

3. Import data from CSV and SQL


4. Export data to various formats: CSV, SQL, XML, PDF (via the TCPDF library), ISO/IEC
26300 - OpenDocument Text and Spreadsheet, Word, Excel, LaTeX and others PHP in the
Web Environment 3
5. Administering multiple servers

6. Creating PDF graphics of the database layout

7. Creating complex queries using Query-by-example (QBE)

8. Searching globally in a database or a subset of it

9. Transforming stored data into any format using a set of predefined functions, like
displaying BLOB-data as image or download-link

10. Active query monitor (Processes)


AMP Bundles

There are many AMP bundles such as LAMP, XAMP, PHPTriad, WAMP, MAMP,
FoxServ, etc. consists of AMP build in itself. So, there is no need to configure AMPs
manually. Some of the AMPs which are available for various operating systems are LAMP
(for Linux); WAMP (for Windows); MAMP (for Macintosh); SAMP (for Solaris); and
FAMP (for FreeBSD).

MySQL:

MySQL, the most popular Open Source SQL database management system, is
developed, distributed, and supported by Oracle Corporation. MySQL is an Oracle-backed
open source relational database management system (RDBMS) based on Structured Query
Language (SQL). MySQL runs on virtually all platforms,
including Linux, UNIX and Windows. Although it can be used in a wide range of
applications, MySQL is most often associated with web applications and online publishing.
MySQL is an important component of an open source enterprise stack called LAMP. LAMP
is a web development platform that uses Linux as the operating system, Apache as the web
server, MySQL as the relational database management system and PHP as the object-oriented
scripting language.
Fig 1: System Architecture
MySQL software is Open Source.

Open Source means that it is possible for anyone to use and modify the software.
Anybody can download the MySQL software from the Internet and use it without paying
anything. If you wish, you may study the source code and change it to suit your needs. The
MySQL software uses the GPL (GNU General Public License), to define what you may and
may not do with the software in different situations. If you feel uncomfortable with the GPL
or need to embed MySQL code into a commercial application, you can buy a commercially
licensed version from us. See the MySQL Licensing Overview for more information.
MySQL is a Database Management System:

A database is a structured collection of data. It may be anything from a simple shopping


list to a picture gallery or the vast amounts of information in a corporate network. To add,
access, and process data stored in a computer database, you need a database management
system such as MySQL Server. Since computers are very good at handling large amounts of
data, database management systems play a central role in computing, as standalone utilities,
or as parts of other applications.
MySQL Databases are Relational:

A relational database stores data in separate tables rather than putting all the data in one
big storeroom. The database structures are organized into physical files optimized for speed.
The logical model, with objects such as databases, tables, views, rows, and columns, offers a
flexible programming environment. You set up rules governing the relationships between
different data fields, such as one-to-one, one-to-many, unique, required or optional,
and “pointers” between different tables. The database enforces these rules, so that with a
well-designed database, your application never sees inconsistent, duplicate, orphan, out-of-
date, or missing data. The SQL part of “MySQL” stands for “Structured Query Language”.
SQL is the most common standardized language used to access databases. Depending on your
programming environment, you might enter SQL directly (for example, to generate reports),
embed SQL statements into code written in another language, or use a language-specific API
that hides the SQL syntax.
How MySQL works

 MySQL is based on a client-server model. The core of MySQL is MySQL server,


which handles all of the database instructions (or commands). MySQL server is
available as a separate program for use in a client-server networked environment and
as a library that can be embedded (or linked) into seperate applications.
 MySQL operates along with several utility programs which support the administration
of MySQL databases. Commands are sent to MySQLServer via the MySQL client,
which is installed on a computer.
 MySQL was originally developed to handle large databases quickly. Although
MySQL is typically installed on only one machine, it is able to send the database to
multiple locations, as users are able to access it via different MySQL client interfaces.
These interfaces send SQL statements to the server and then display the results.
The MySQL Database Server is very fast, reliable, scalable, and easy to use.

If that is what you are looking for, you should give it a try. MySQL Server can run
comfortably on a desktop or laptop, alongside your other applications, web servers, and so
on, requiring little or no attention. If you dedicate an entire machine to MySQL, you can
adjust the settings to take advantage of all the memory, CPU power, and I/O capacity
available. MySQL can also scale up to clusters of machines, networked together.
MySQL Server was originally developed to handle large databases much faster than
existing solutions and has been successfully used in highly demanding production
environments for several years. Although under constant development, MySQL Server today
offers a rich and useful set of functions. Its connectivity, speed, and security make MySQL
Server highly suited for accessing databases on the Internet.
MySQL Server works in client/server or embedded systems.

 The MySQL Database Software is a client/server system that consists of a


multithreaded SQL server that supports different back ends, several different client
programs and libraries, administrative tools, and a wide range of application
programming interfaces (APIs).
 We also provide MySQL Server as an embedded multithreaded library that you can
link into your application to get a smaller, faster, easier-to-manage standalone
product.
A large amount of contributed MySQL software is available.

MySQL Server has a practical set of features developed in close cooperation with our
users. It is very likely that your favorite application or language supports the MySQL
Database Server. The official way to pronounce “MySQL” is “My Ess Que Ell” (not “my
sequel”), but we do not mind if you pronounce it as “my sequel” or in some other localized
way.
Core MySQL features

MySQL enables data to be stored and accessed across multiple storage engines,
including InnoDB, CSV, and NDB. MySQL is also capable of replicating data and
partitioning tables for better performance and durability. MySQL users aren't required to
learn new commands; they can access their data using standard SQL commands.

Fixed- and variable-length string types are also supported.


For security, MySQL uses an access privilege and encrypted password system that
enables host-based verification. MySQL clients can connect to MySQL Server using several
protocols, including TCP/IP sockets on any platform. MySQL also supports a number of
client and utility programs, command-line programs and administration tools such as MySQL
Workbench.
Offshoots of MySQL, also known as forks, include the following:

 Drizzle, a lightweight open source database management system in development based on


MySQL 6.0;
 MariaDB, a popular community-developed "drop-in" replacement for MySQL that uses
MySQL APIs and commands; and
 Percona Server with XtraDB, an enhanced version of MySQL known for horizontal
scalability.
MySQL vs SQL:-
 Before 2016, the main difference between MySQL and SQL was that the former
could be used on multiple platforms, whereas the latter could only be used on
Windows. Microsoft has since expanded SQL to support Linux, a change which went
into effect in 2017. When MySQL is installed via Linux, its package management
system requires custom configuration to adjust security and optimization settings.
 MySQL also allows users to choose the most effective storage engine for any given
table, as the program is able to utilize multiple storage engines for individual tables.
One of MySQL's engines is InnoDB. InnoDB was designed for high availability.
Because of this, it is not as quick as other engines. SQL uses its own storage system,
but it does maintain multiple safeguards against loss of data. Both systems are able to
run in clusters for high availability.
 SQL Server offers a wide variety of data analysis and reporting tools. SQL Server
Reporting Services is the most popular one and is available as a free download.
There are similar analysis tools for MySQL available from third-party software
companies, such as Crystal Reports XI and Actuate BIRT.
Compatibility with Other Services:
MySQL was designed to be compatible with other systems. It supports deployment in
virtualized environments, such as Amazon RDS for MySQL, Amazon RDS for MariaDB and
Amazon Aurora for MySQL. Users can transfer their data to a SQL Server database by using
database migration tools like AWS Schema Conversion Tool and the AWS Database
Migration Service.
Software Requirements for MySQL Database:

To use MySQL database with Advanced Management Console, download and install
a version of MySQL Server mentioned in Software Prerequisites and System Requirements
for Advanced Management Console Components.
Installing MySQL Database for Advanced Management Console
This topic contains the following sections that describe MySQL installation and configuration
setup instructions for Advanced Management Console on different platforms:
 Installing MySQL Database on Windows
 Installing and Configuring MySQL on Linux
Installing MySQL Database on Windows
To install MySQL database:

1. Install the MySQL database server only and select Server Machine as the
configuration type.
2. Select the option to run MySQL as a service.
3. Launch the MySQL Command-Line Client. To launch the client, enter the following
command in a Command Prompt window: mysql -u root -p .
The -p option is needed only if a root password is defined for MySQL. Enter the
password when prompted.`

MySQL is installed and you can begin to configure your database.


Installing and Configuring MySQL on Linux

The following are example instructions to install and configure MySQL database for the
Oracle Linux distribution of Linux operating system:
1. Install the MySQL database server package.
You can use the Yum tool to install MySQL on Oracle Linux: sudo yum install mysql-
community-server.

2. Start the MySQL service:


sudo service mysql start
3. Launch the MySQL Command-Line Client:
mysql -u root -p
The -p option is needed only if a root password is defined for MySQL. Enter the
password when prompted.
4. Create a user (for example, amc2) and a strong password:
mysql> create user 'amc2' identified by 'amc2';
To restrict the access to a machine (for example, to localhost for a user) create the user
as follows:
mysql> create user 'amc2'@'localhost' identified by 'amc2';
5. Create the database (for example, amc2) and grant all access to the user, for
example, amc2 as follows:
mysql> create database amc2;
mysql> grant all on amc2.* to 'amc2';
6. Configure your MySQL installation to handle large BLOB entries, such as MSI
binaries. To handle BLOB entries, edit the my.cnf file.
You can find the my.cnf file in one of the following locations:
 /etc/my.cnf
 /etc/mysql/my.cnf
 $MYSQL_HOME/my.cnf
 [datadir]/my.cnf
7. Set the options max_allowed_packet and innodb_log_file-size in the [mysqld] section
to the values shown:

8. [mysqld]
9. max_allowed_packet=120M
10. innodb_log_file_size=768M

DEPLOYMENT

MySQL can be built and installed manually from source code, but it is more
commonly installed from a binary package unless special customizations are required. On
most Linux distributions, the package management system can download and install MySQL
with minimal effort, though further configuration is often required to adjust security and
optimization settings. Though MySQL began as a low-end alternative to more powerful
proprietary databases, it has gradually evolved to support higher-scale needs as well. It is still
most commonly used in small to medium scale single-server deployments, either as a
component in a LAMP-based web application or as a standalone database server. Much of
MySQL's appeal originates in its relative simplicity and ease of use, which is enabled by an
ecosystem of open source tools such as phpMyAdmin. In the medium range, MySQL can be
scaled by deploying it on more powerful hardware, such as a multi-processor server with
gigabytes of memory.
There are, however, limits to how far performance can scale on a single server
('scaling up'), so on larger scales, multi-server MySQL ('scaling out') deployments are
required to provide improved performance and reliability. A typical high-end configuration
can include a powerful master database which handles data write operations and
is replicated to multiple slaves that handle all read operations. The master server continually
pushes binlog events to connected slaves so in the event of failure a slave can be promoted to
become the new master, minimizing downtime. Further improvements in performance can be
achieved by caching the results from database queries in memory using memcached
.
CHAPTER-5

SYSTEM DESIGN

5.1 DATA FLOW DIAGRAM:

1. The DFD is also called as bubble chart. It is a simple graphical formalism that can be
used to represent a system in terms of input data to the system, various processing
carried out on this data, and the output data is generated by this system.
2. The data flow diagram (DFD) is one of the most important modeling tools. It is used
to model the system components. These components are the system process, the data
used by the process, an external entity that interacts with the system and the
information flows in the system.
3. DFD shows how the information moves through the system and how it is modified by
a series of transformations. It is a graphical technique that depicts information flow
and the transformations that are applied as data moves from input to output.
4. DFD is also known as bubble chart. A DFD may be used to represent a system at any
level of abstraction. DFD may be partitioned into levels that represent increasing
information flow and functional detail.
USE CASE DIAGRAM:

A use case diagram in the Unified Modeling Language (UML) is a type of behavioral
diagram defined by and created from a Use-case analysis. Its purpose is to present a graphical
overview of the functionality provided by a system in terms of actors, their goals (represented
as use cases), and any dependencies between those use cases. The main purpose of a use case
diagram is to show what system functions are performed for which actor. Roles of the actors
in the system can be depicted.
Start

Register

User

Login

Admin

Login
Sub banler

Monitor
Locker type

Sub banker
Assign locker

AssignStop
locker
ACTIVITY DIAGRAM:

Activity diagrams are graphical representations of workflows of stepwise activities


and actions with support for choice, iteration and concurrency. In the Unified Modeling
Language, activity diagrams can be used to describe the business and operational step-by-step
workflows of components in a system. An activity diagram shows the overall flow of control.

User Admin Service


Provider

Login Process Login Process Login Process

Monitor Sub banker Assign locker

View Details
5.3 DATABASE DESIGN

Database

:
User accounts:
CHAPTER - 6

SYSTEM DEVELOPMENT

6.1 INPUT AND OUTPUT DESIGN

INPUT DESIGN

The input design is the link between the information system and the user. It comprises
the developing specification and procedures for data preparation and those steps are
necessary to put transaction data in to a usable form for processing can be achieved by
inspecting the computer to read data from a written or printed document or it can occur by
having people keying the data directly into the system. The design of input focuses on
controlling the amount of input required, controlling the errors, avoiding delay, avoiding
extra steps and keeping the process simple. The input is designed in such a way so that it
provides security and ease of use with retaining the privacy. Input Design considered the
following things:

 What data should be given as input?


 How the data should be arranged or coded?
 The dialog to guide the operating personnel in providing input.

OBJECTIVES

1. Input Design is the process of converting a user-oriented description of the input into a
computer-based system. This design is important to avoid errors in the data input process and
show the correct direction to the management for getting correct information from the
computerized system.

2. It is achieved by creating user-friendly screens for the data entry to handle large volume of
data. The goal of designing input is to make data entry easier and to be free from errors. The
data entry screen is designed in such a way that all the data manipulates can be performed. It
also provides record viewing facilities.

3. When the data is entered it will check for its validity. Data can be entered with the help of
screens. Appropriate messages are provided as when needed so that the user will not be in
maize of instant. Thus the objective of input design is to create an input layout that is easy to
follow.
OUTPUT DESIGN

A quality output is one, which meets the requirements of the end user and presents the
information clearly. In any system results of processing are communicated to the users and to
other system through outputs. In output design it is determined how the information is to be
displaced for immediate need and also the hard copy output. It is the most important and
direct source information to the user. Efficient and intelligent output design improves the
system’s relationship to help user decision-making.

1. Designing computer output should proceed in an organized, well thought out manner; the
right output must be developed while ensuring that each output element is designed so that
people will find the system can use easily and effectively. When analysis design computer
output, they should Identify the specific output that is needed to meet the requirements.

2. Select methods for presenting information.

3. Create document, report, or other formats that contain information produced by the system.

The output form of an information system should accomplish one or more of the following
objectives.

 Convey information about past activities, current status or projections of the Future.
 Signal important events, opportunities, problems, or warnings.
 Trigger an action.
 Confirm an action.
6.2 SYSTEM STUDY

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. Three key considerations
involved in the feasibility analysis are
 Economical Feasibility
 Technical Feasibility
 Social Feasibility
ECONOMICAL 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.

TECHNICAL FEASIBILITY:-
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.
SOCIAL FEASIBILITY:-

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.3 SYSTEM 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.

TYPES OF TESTS:-

UNIT TESTING:-

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 TESTING:-

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.

FUNCTIONAL TEST:-
Functional tests provide systematic demonstrations that functions tested are available as
specified by the business and technical requirements, system documentation, and user manuals.
Functional testing is centered on the following items:

Valid Input : identified classes of valid input must be accepted.


Invalid Input : identified classes of invalid input must be rejected.
Functions : identified functions must be exercised.
Output : identified classes of application outputs must be exercised.
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.

SYSTEM TEST

System testing ensures that the entire integrated software system meets requirements. It
tests a configuration to ensure known and predictable results. An example of system testing is the
configuration oriented system integration test. System testing is based on process descriptions
and flows, emphasizing pre-driven process links and integration points.

WHITE BOX TESTING

White Box Testing is a testing in which in which the software tester has knowledge of the
inner workings, structure and language of the software, or at least its purpose. It is purpose. It is
used to test areas that cannot be reached from a black box level.

BLACK BOX TESTING

Black Box Testing is testing the software without any knowledge of the inner workings,
structure or language of the module being tested. Black box tests, as most other kinds of tests,
must be written from a definitive source document, such as specification or requirements
document, such as specification or requirements document. It is a testing in which the software
under test is treated, as a black box .you cannot “see” into it. The test provides inputs and
responds to outputs without considering how the software works.

Unit Testing:
Unit testing is usually conducted as part of a combined code and unit test phase of the
software lifecycle, although it is not uncommon for coding and unit testing to be conducted as
two distinct phases.
Test Strategy and Approach
Field testing will be performed manually and functional tests will be written in detail.

Test objectives
 All field entries must work properly.
 Pages must be activated from the identified link.
 The entry screen, messages and responses must not be delayed.

Features to be tested
 Verify that the entries are of the correct format
 No duplicate entries should be allowed
 All links should take the user to the correct page.

Integration Testing:
Software integration testing is the incremental integration testing of two or more
integrated software components on a single platform to produce failures caused by interface
defects. The task of the integration test is to check that components or software applications, e.g.
components in a software system or - one step up - software applications at the company level -
interact without error.

Test Results: All the test cases mentioned above passed successfully. No defects encountered.

Acceptance Testing:
User Acceptance Testing is a critical phase of any project and requires significant
participation by the end user. It also ensures that the system meets the functional requirements.

Test Results: All the test cases mentioned above passed successfully. No defects encountered.
CHAPTER - 7

APPENDICES

7.1 SCREENSHOT

Admin Login:
Dashboard:
Create subbanker:
Create locker type:
Create Assign locker:
Profile:
Report date selection:

Manage sub banker:


Manage locker type:

Manage assign locker:


CHAPTER -8

SOURCE CODE:

<?php session_start();
// Database Connection
include('includes/config.php');
//Validating Session
if(strlen($_SESSION['aid'])==0)
{
header('location:index.php');
}
else{ ?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>BLMS | Dashboard</title>

<!-- Google Font: Source Sans Pro -->


<link rel="stylesheet" href="https://fonts.googleapis.com/css?
family=Source+Sans+Pro:300,400,400i,700&display=fallback">
<!-- Font Awesome -->
<link rel="stylesheet" href="../plugins/fontawesome-free/css/all.min.css">
<!-- Ionicons -->
<link rel="stylesheet"
href="https://code.ionicframework.com/ionicons/2.0.1/css/ionicons.min.css">
<!-- Tempusdominus Bootstrap 4 -->
<link rel="stylesheet" href="../plugins/tempusdominus-bootstrap-4/css/tempusdominus-
bootstrap-4.min.css">
<!-- iCheck -->
<link rel="stylesheet" href="../plugins/icheck-bootstrap/icheck-bootstrap.min.css">
<!-- JQVMap -->
<link rel="stylesheet" href="../plugins/jqvmap/jqvmap.min.css">
<!-- Theme style -->
<link rel="stylesheet" href="../dist/css/adminlte.min.css">
<!-- overlayScrollbars -->
<link rel="stylesheet" href="../plugins/overlayScrollbars/css/OverlayScrollbars.min.css">
<!-- Daterange picker -->
<link rel="stylesheet" href="../plugins/daterangepicker/daterangepicker.css">
<!-- summernote -->
<link rel="stylesheet" href="../plugins/summernote/summernote-bs4.min.css">
</head>
<body class="hold-transition sidebar-mini layout-fixed">
<div class="wrapper">
<!-- Navbar -->
<?php include_once('includes/navbar.php');?>

<!-- Main Sidebar Container -->

<?php include_once('includes/sidebar.php');?>
<!-- Sidebar -->

<!-- Content Wrapper. Contains page content -->


<div class="content-wrapper">
<!-- Content Header (Page header) -->
<div class="content-header">
<div class="container-fluid">
<div class="row mb-2">
<div class="col-sm-6">
<h1 class="m-0">Dashboard</h1>
</div><!-- /.col -->
<div class="col-sm-6">
<ol class="breadcrumb float-sm-right">
<li class="breadcrumb-item"><a href="dashboard.php">Home</a></li>
<li class="breadcrumb-item active">Dashboard</li>
</ol>
</div><!-- /.col -->
</div><!-- /.row -->
</div><!-- /.container-fluid -->
</div>
<!-- /.content-header -->

<!-- Main content -->


<section class="content">
<div class="container-fluid">
<!-- Small boxes (Stat box) -->
<div class="row">

<?php if($_SESSION['utype']==1):?>
<div class="col-lg-4 col-6">
<!-- small box -->
<div class="small-box bg-info">
<div class="inner">
<?php $query=mysqli_query($con,"select id from tblbanker where UserType=0");
$subadmincount=mysqli_num_rows($query);
?>

<h3><?php echo $subadmincount;?></h3>


<p>Sub Admins</p>
</div>
<div class="icon">
<i class="ion ion-person"></i>
</div>
<a href="manage-subadmins.php" class="small-box-footer">More info <i class="fas
fa-arrow-circle-right"></i></a>
</div>
</div>
<?php endif;?>
<!-- ./col -->
<div class="col-lg-4 col-6">
<!-- small box -->
<div class="small-box bg-success">
<div class="inner">
<?php $query1=mysqli_query($con,"select ID from tbllockertype");
$locktype=mysqli_num_rows($query1);
?>

<h3><?php echo $locktype;?></h3>

<p>Listed Locker Types</p>


</div>
<div class="icon">
<i class="ion ion-locked"></i>
</div>
<a href="manage-lockertype.php" class="small-box-footer">More info <i class="fas
fa-arrow-circle-right"></i></a>
</div>
</div>
<!-- ./col -->
<div class="col-lg-4 col-6">
<!-- small box -->
<div class="small-box bg-warning">
<div class="inner">
<?php $query3=mysqli_query($con,"select ID from tblassignlocker");
$activelocker=mysqli_num_rows($query3);
?>
<h3><?php echo $activelocker;?></h3>

<p>Assigned Lockers</p>
</div>
<div class="icon">
<i class="ion ion-person-add"></i>
</div>
<a href="manage-locker-form.php" class="small-box-footer">More info <i
class="fas fa-arrow-circle-right"></i></a>
</div>
</div>
<!-- ./col -->
<!-- ./col -->
</div>
<!-- /.row -->
</div><!-- /.container-fluid -->
</section>
<!-- /.content -->
</div>
<!-- /.content-wrapper -->
<?php include_once('includes/footer.php');?>

</div>
<!-- ./wrapper -->

<!-- jQuery -->


<script src="../plugins/jquery/jquery.min.js"></script>
<!-- jQuery UI 1.11.4 -->
<script src="../plugins/jquery-ui/jquery-ui.min.js"></script>
<!-- Resolve conflict in jQuery UI tooltip with Bootstrap tooltip -->
<script>
$.widget.bridge('uibutton', $.ui.button)
</script>
<!-- Bootstrap 4 -->
<script src="../plugins/bootstrap/js/bootstrap.bundle.min.js"></script>
<!-- ChartJS -->
<script src="../plugins/chart.js/Chart.min.js"></script>
<!-- Sparkline -->
<script src="../plugins/sparklines/sparkline.js"></script>
<!-- JQVMap -->
<script src="../plugins/jqvmap/jquery.vmap.min.js"></script>
<script src="../plugins/jqvmap/maps/jquery.vmap.usa.js"></script>
<!-- jQuery Knob Chart -->
<script src="../plugins/jquery-knob/jquery.knob.min.js"></script>
<!-- daterangepicker -->
<script src="../plugins/moment/moment.min.js"></script>
<script src="../plugins/daterangepicker/daterangepicker.js"></script>
<!-- Tempusdominus Bootstrap 4 -->
<script src="../plugins/tempusdominus-bootstrap-4/js/tempusdominus-bootstrap-
4.min.js"></script>
<!-- Summernote -->
<script src="../plugins/summernote/summernote-bs4.min.js"></script>
<!-- overlayScrollbars -->
<script src="../plugins/overlayScrollbars/js/jquery.overlayScrollbars.min.js"></script>
<!-- AdminLTE App -->
<script src="../dist/js/adminlte.js"></script>
<!-- AdminLTE for demo purposes -->
<script src="../dist/js/demo.js"></script>
<!-- AdminLTE dashboard demo (This is only for demo purposes) -->
<script src="../dist/js/pages/dashboard.js"></script>
</body>
</html>
<?php } ?>
CHAPTER - 10

CONCLUSION

A Bank Locker Management System is essential for providing secure and efficient
storage solutions for clients' valuables. It enhances customer satisfaction by offering a user-
friendly interface for managing locker assignments and appointments. The system improves
operational efficiency through automation and streamlined processes, ultimately leading to
cost savings for the bank. Robust security measures safeguard client data and ensure the safe
handling of stored items. Compliance with regulatory requirements further strengthens the
system's credibility. Future developments, such as mobile applications and integration with
emerging technologies, can enhance client engagement. Overall, a well-implemented locker
management system significantly contributes to a bank's service offerings and competitive
edge. Embracing such technology is vital for modern banking institutions aiming to meet
evolving customer needs.
CHAPTER -

FUTURE WORK

As the hardware of the Bank locker advances the web app will
have room for improvements as well. For instance, we can add
fingerprint scanners to enhance the check in and check out experience
making the process a lot convenient and quick for both the users and the
admin as the timestamps will automatically be updated in the database
for each activity.New features can be added after taking feedback from
the admin and the users on how to make it better. There’s always room
for improvement for everything.
CHAPTER - 11

REFERENCE

- *Software Engineering* by Ian Sommerville: Provides insights into software development


methodologies that can be applied to building a bank locker management system.

- *Database System Concepts* by Abraham Silberschatz, Henry Korth, and S. Sudarshan: A


comprehensive guide to database management systems, which is essential for managing the
data related to locker assignments and transactions.

- *Designing Data-Intensive Applications* by Martin Kleppmann: Discusses data


management and architectural patterns that can be applied in a bank locker management
context.

You might also like