Online Banking Chatbot Thesis
Online Banking Chatbot Thesis
Report on
Banking Chatbot
A Thesis
Submitted to
Rashtrasant Tukadoji Maharaj Nagpur University, Nagpur
Submitted By
ayushi Deshmukh & shraddha bhende
‘
Department of Master in Computer Application
2023-2024
Certificate
This is to certify that the project report on “Online banking chatbot” is
submitted by shradhha and for partial fulfilment of the requirement of
Master in Computer Application Part-I [Semester-II] (CBCS) examination
of the Rashtrasant Tukadoji Maharaj Nagpur University, Nagpur.
It is the original Software project carried out under the supervision and
guidance of Prof. mamta daph and undergone requisite duration as prescribed
by Rashtrasant Tukadoji Maharaj Nagpur University, Nagpur for the project
work.
DECLARATION
To,
The Director,
Wainganga College of Engineering and Management,
Near Gumgaon Railway Station, Dongargaon, Wardha Road,
Nagpur-441108.
Respected Sir,
We the undersigned hereby declare that the work “online
banking chatbot” developed and submitted by us is our original work. The
system presented here, is developed by us is independently and has not been
duplicated from any other source.
Road, Nagpur and to the Prof. Sachin Y. Zade, Head, Department of Master in
material without which it would have been impossible to complete this hard task.
hearted thanks to our project guide Prof. Nikhilesh S. Pranjale for his guidance
throughout this work. We are very much thankful for their kindness,
We wish to thanks all those, who have helped us in our way or the
ACKNOWLEDGEMENT
Abstract This project revolves around the development of an online
banking chatbot website using HTML, CSS, PHP, and MySQL
database technologies. The aim is to create a dynamic and user-
friendly platform that facilitates seamless browsing, product selection,
and secure transactions for customers while providing efficient
management tools for administrators. The website incorporates modern
design principles to ensure an intuitive and visually appealing user
interface, with a focus on mobile responsiveness and cross-browser
compatibility to accommodate diverse user preferences. Through PHP
scripting, the portal enables dynamic content management, while
leveraging the MySQL database for secure storage and retrieval of
product details, user information, and transaction records. Security
measures such as input validation, data encryption, and user
authentication mechanisms are implemented to safeguard sensitive
information and prevent unauthorized access. Additionally, integration
with third-party payment gateways ensures secure online transactions
and marketing strategies enhance user engagement and promote
product visibility. Performance optimization techniques are employed to
enhance website speed, scalability, and reliability, with analytics tools
providing insights into user behaviour and performance metrics for
continuous improvement. Overall, the online banking chatbot project
aims to deliver a comprehensive e-commerce solution that meets the
needs of both customers and administrators, providing a seamless
shopping experience.
CHAPTER 1
BRIEF REVIEW OF
THE PROJECT
1.1 Title
Banking
Chatbot
Enhancing Customer Service: Provide immediate assistance to customers, reducing the wait
time for responses.
The preliminary investigation involved understanding the current state of customer service in
the banking sector, analyzing existing banking chatbots, and identifying the common issues
faced by customers.
Current Customer Service Issues: Long wait times, limited hours of operation, and a lack of
personalized service.
Existing Chatbots: Many existing chatbots provide basic services but often lack advanced
features such as natural language understanding and personalization.
Customer Needs: Customers require quick and easy access to information, transaction
services, and personalized assistance.
Based on these findings, the proposed banking chatbot aims to address these gaps and
provide a more comprehensive solution.
The current banking systems have several flaws that impact customer satisfaction and
operational efficiency:
Limited Availability:
Traditional customer service channels are often not available 24/7, leading to delays in
assistance.
Time-Consuming Processes:
Routine tasks such as balance inquiries, transaction histories, and account information retrieval
are time-consuming when handled manually.
To overcome the limitations of the current system, there is a need for a new, automated solution
that leverages modern technology to enhance customer service in the banking sector:
Cost Efficiency: Automating routine tasks reduces the need for human intervention,
lowering operational costs.
This new system aims to revolutionize the way banks interact with their customers, making
services more accessible, efficient, and user-friendly.
CHAPTER 2
DETAILED SYSTEM
DESIGN
● Frontend Languages:
● Backend Languages:
● Hardware Specifications:
○ Standard computer hardware with adequate processing power and
memory capacity.
○ Internet connectivity for accessing the web-based application and
database server.
Software Requirement
● Software Specifications:
○ Operating System: The system is compatible with various operating
systems, including Windows, macOS, Linux, and other Unix-like
platforms.
The banking chatbot system comprises multiple source code files, each fulfilling
specific functionalities and contributing to the overall system architecture:
● HTML Files: These files define the structure and content of the web pages,
incorporating elements such as forms, buttons, and text inputs. Examples
include index.html, login.html, dashboard.html, and transaction.html.
● CSS Files: Cascading Style Sheets are used to style and design the
appearance of the web pages, ensuring consistency and visual appeal.
Files like style.css and layout.css contain style rules for elements,
typography, colors, and layout positioning.
● PHP Files: PHP scripts execute server-side processing, interact with the
database, and implement business logic for user authentication, account
management, and transaction processing. Files like login.php, register.php,
and transaction.php handle server-side operations.
● SQL Scripts: SQL scripts define the database schema, including table
structures, constraints, and relationships. The database.sql file contains
SQL statements for creating tables, indexes, and views, as well as inserting
sample data for testing and demonstration purposes.
Dashboard.php
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Dashboard</title>
<link rel="stylesheet" href="styles.css">
<style>
/* Additional styles for the chatbot UI */
.chat-container {
max-width: 600px;
margin: 20px auto;
padding: 20px;
background-color: #f9f9f9;
border: 1px solid #ccc;
border-radius: 5px;
}
.chat-container .chat-box {
height: 300px;
overflow-y: auto;
padding: 10px;
border: 1px solid #ccc;
border-radius: 5px;
background-color: #fff;
}
.chat-container .input-group {
margin-top: 10px;
}
.chat-container input[type="text"] {
width: 80%;
padding: 8px;
border: 1px solid #ccc;
border-radius: 4px;
}
.chat-container button {
padding: 8px 15px;
border: none;
border-radius: 4px;
background-color: #007bff;
color: #fff;
cursor: pointer;
}
.chat-container button:hover {
background-color: #0056b3;
}
</style>
</head>
<body>
<div class="container">
<h2>Welcome, <?php echo $username; ?>!</h2>
<form action="logout.php" method="post">
<input type="submit" name="logout" value="Logout" class="btn">
</form>
</div>
function sendMessage(message) {
var chatBox = document.getElementById('chat-box');
</body>
</html>
Db_connect.php
<?php
$host = "localhost";
$username = "root";
$password = "";
$database = "banking";
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
?>
Login.php
<?php
session_start();
include('db_connect.php');
if(isset($_POST['login'])) {
$username = $_POST['username'];
$password = $_POST['password'];
if (mysqli_num_rows($result) == 1) {
$row = mysqli_fetch_assoc($result);
if (password_verify($password, $row['password'])) {
$_SESSION['username'] = $username;
header("Location: dashboard.php");
exit();
} else {
$error = "Invalid username or password";
}
} else {
$error = "Invalid username or password";
}
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Login</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<div class="container">
<h2>Login</h2>
<form action="" method="post">
<div class="form-group">
<label for="username">Username:</label>
<input type="text" id="username" name="username"
placeholder="Username" required>
</div>
<div class="register-option">
<p>Don't have an account? <a href="register.php"><button
type="button">Register</button></a></p>
</div>
<div class="form-group">
<label for="password">Password:</label>
<input type="password" id="password" name="password"
placeholder="Password" required>
</div>
<input type="submit" name="login" value="Login" class="btn">
</form>
<?php if(isset($error)) { echo '<div class="error">' . $error .
'</div>'; } ?>
</div>
</body>
</html>
Logout.php
<?php
session_start();
session_destroy();
header("Location: login.php");
exit();
?>
Register.php
<?php
session_start();
include('db_connect.php');
if(isset($_POST['register'])) {
$username = $_POST['username'];
$password = $_POST['password'];
$confirm_password = $_POST['confirm_password'];
if (mysqli_num_rows($check_result) > 0) {
$error = "Username already exists";
} else {
// Hash password
$hashed_password = password_hash($password, PASSWORD_DEFAULT);
// Insert user into database
$insert_query = "INSERT INTO users (username, password) VALUES
('$username', '$hashed_password')";
if (mysqli_query($conn, $insert_query)) {
$_SESSION['username'] = $username;
header("Location: dashboard.php");
exit();
} else {
$error = "Error: " . mysqli_error($conn);
}
}
}
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Register</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<div class="container">
<h2>Register</h2>
<form action="register.php" method="post">
<div class="form-group">
<label for="username">Username:</label>
<input type="text" id="username" name="username"
placeholder="Username" required>
</div>
<div class="form-group">
<label for="password">Password:</label>
<input type="password" id="password" name="password"
placeholder="Password" required>
</div>
<div class="form-group">
<label for="confirm_password">Confirm Password:</label>
<input type="password" id="confirm_password"
name="confirm_password" placeholder="Confirm Password" required>
</div>
<input type="submit" name="register" value="Register"
class="btn">
</form>
</div>
</body>
</html>
Style.css
body {
font-family: Arial, sans-serif;
margin: 0;
padding: 0;
}
.container {
max-width: 400px;
margin: 50px auto;
padding: 20px;
border: 1px solid #ccc;
border-radius: 5px;
background-color: #f9f9f9;
}
h2 {
text-align: center;
}
.form-group {
margin-bottom: 20px;
}
.form-group label {
display: block;
font-weight: bold;
}
.form-group input {
width: 100%;
padding: 8px;
border: 1px solid #ccc;
border-radius: 4px;
}
.btn {
width: 100%;
padding: 10px;
border: none;
border-radius: 4px;
background-color: #007bff;
color: #fff;
cursor: pointer;
}
.btn:hover {
background-color: #0056b3;
}
/* Reset default browser styles */
body, h1, h2, h3, p, ul, ol, li, form, fieldset, input, button, textarea
{
margin: 0;
padding: 0;
border: 0;
}
body {
font-family: Arial, sans-serif;
background-color: #f5f5f5;
}
.container {
max-width: 400px;
margin: 50px auto;
padding: 20px;
border: 1px solid #ccc;
border-radius: 5px;
background-color: #fff;
}
h2 {
text-align: center;
margin-bottom: 20px;
}
.form-group {
margin-bottom: 20px;
}
.form-group label {
display: block;
font-weight: bold;
}
.form-group input {
width: 100%;
padding: 8px;
border: 1px solid #ccc;
border-radius: 4px;
}
.btn {
width: 100%;
padding: 10px;
border: none;
border-radius: 4px;
background-color: #007bff;
color: #fff;
cursor: pointer;
}
.btn:hover {
background-color: #0056b3;
}
.error {
color: red;
margin-top: 10px;
}
.register-option {
text-align: center;
margin-top: 20px;
}
.register-option a {
color: #007bff;
text-decoration: none;
}
.register-option a:hover {
text-decoration: underline;
}
4.2 Input Screens
The input screens of the banking chatbot system provide interfaces for users to
interact with the application, input data, and initiate transactions. Screenshots or
mockups of the following input screens are showcased:
4.3 Output Screens/Reports
The output screens and reports generated by the banking chatbot system provide
users with feedback, confirmation messages, and transaction summaries.
Examples of output screens and reports include:
CHAPTER 5
USER
DOCUMENTATION
USER DOCUMENTATION
5.1 Implementation, Program Execution & Maintenance
6. CONCLUSION
6.1 Limitations of the System
7. REFERENCES/BIBLIOGRAPHY
1. Smith, J. (2020). "Building Chatbots with JavaScript and Node.js." Packt Publishing.
2. Brown, M. (2019). "HTML and CSS Basics: A Comprehensive Guide." O'Reilly Media.
3. PHP Manual. Available online: php.net/manual/en/
4. MySQL Documentation. Available online: dev.mysql.com/doc/
5. W3Schools. Available online: w3schools.com/
6. Mozilla Developer Network (MDN). Available online: developer.mozilla.org/
7. Stack Overflow. Available online: stackoverflow.com/
8. ChatGPT Documentation. Available online: openai.com/docs/guides/chatgpt/
9. Dialogflow Documentation. Available online: cloud.google.com/dialogflow/docs
10. Chen, Y. & Goh, J. (2020). "Natural Language Processing for Beginners: Using NLTK
and Scikit-Learn." Springer.