Pt.
Deen Dayal Upadhyay Management College,
Meerut
Major Project Report
On
Mobile Banking Application
BCA - 605
Session 2022 - 25
Submitted To: Submitted by:
Mr.Vimal Prasad Akshay Jain 220973106028
Ayush Mahajan 220973106074
Arpit Singh 220973106061
Darsh Rastogi 220973106090
Declaration
We, Akshay Jain, Ayush Mahajan, Arpit Singh, and Darsh
Rastogi, students of BCA III Year at Pt. Deen Dayal Upadhyay
Management College, hereby declare that the Major Project
Report titled "Mobile Banking Application" is the outcome of
our own efforts and research. This report has not been
submitted to any other university or institution for the award
of any degree or diploma.
The work presented in this report is carried out under the
guidance of Mr. Vimal Prasad and is submitted in partial
fulfillment of the requirements for the award of the degree of
Bachelor of Computer Applications.
I have duly acknowledged all the sources of information
which have been used in the preparation of this report.
Akshay Jain (220973106028)
Ayush Mahajan (220973106074)
Arpit Singh (220973106061)
Darsh Rastogi (220973106090)
Index
S.No Contents Page No.
1 Cover Page 1
2 Declaration 2
3 Index 3
4 Certificate 4
5 Acknowledgement 5
6 Preface 6
7 Introduction 7
8 Objectives 8
9 Analysis with DFD 9
10 Feasibility Study 10
11 Hardware & Software Requirements 11
12 System Design 12
13 Database Tables 13
14 Coding 14
15 Interfaces 15
16 Testing 16
17 Future Scope 17
18 Conclusion 18
19 Bibliography 19
Certificate
This is to certify that the project report
titled "Mobile Banking Application" is a
bonafide record of work carried out by
Akshay Jain, Ayush Mahajan, Arpit
Singh, and Darsh Rastogi, BCA III Year
students under my supervision and
guidance.
To the best of my knowledge, this work
has not been submitted elsewhere for
any other degree or diploma.
Supervisor:
Mr. Vimal Prasad
HOD:
Dr. Robins Rastogi
Acknowledgement
We would like to express our sincere gratitude to all
those who supported us throughout the development
of this project titled "Mobile Banking Application".
First and foremost, we would like to thank Mr. Vimal
Prasad, our project guide, for his constant guidance,
encouragement, and valuable suggestions, which
were indispensable in the successful completion of
this project.
We are also thankful to Ms. Dimpi and Mr. Rahul for
facilitating the necessary resources and extending
their cooperation whenever needed.
We extend our heartfelt thanks to Dr. Robins Rastogi,
HOD, for his constant support and motivation.
Last but not least, we thank our parents, friends, and
all faculty members who directly or indirectly helped
us in the completion of this project.
Preface
This project report titled "Mobile Banking Application"
is a part of our curriculum for the Bachelor of
Computer Applications (BCA) program. The project
work has been undertaken with the objective of
applying the knowledge and skills we have gained
throughout the course into a real-world application.
The banking sector has experienced a massive shift
with the advent of mobile banking. Today, users
demand secure, efficient, and user-friendly platforms
to manage their financial transactions. Our project
aims to fulfill this need by developing a mobile
banking system that is functional, accessible, and
secure.
This report outlines the systematic approach we
followed in developing the application—from initial
analysis and system design to implementation,
testing, and conclusion. Every phase of the software
development life cycle has been given due attention in
order to ensure the delivery of a complete and
meaningful project.
We hope this report provides insightful details about
our project journey and the value it brings.
Introduction
With the rapid advancement of
technology, mobile banking has
emerged as a transformative solution in
the financial services sector. It allows
users to perform a wide range of
banking operations such as checking
account balances, transferring funds,
paying bills, and managing investments
—all through a mobile device. The
growing demand for convenience,
security, and accessibility in banking
has led to the development of robust
mobile banking applications.
The objective of our project is to design
and implement a Mobile Banking
Application that provides a user-friendly
interface and ensures secure
transactions. This application is
intended to simulate the core
functionalities of mobile banking
systems used by financial institutions
today.
In this project, we have integrated
essential features such as:
User authentication and account
management
Balance inquiry and transaction
history
Funds transfer between accounts
Bill payment system
Transaction confirmation with
notification
The project follows the Software
Development Life Cycle (SDLC)
methodology, beginning with system
analysis and design, followed by coding,
testing, and documentation. Our mobile
banking application serves as a practical
demonstration of how mobile
technologies can streamline financial
operations while maintaining high
standards of security and user
experience.
This report provides a detailed overview
of the planning, design, and
implementation processes undertaken
during the development of the mobile
banking system.
Objectives
The primary objectives of developing the
Mobile Banking Application are as
follows:
1. To provide a convenient platform
for users to perform banking
operations using a mobile device.
2. To ensure secure authentication
mechanisms for safe login and user
data protection.
3. To facilitate seamless funds
transfer between different accounts.
4. To enable real-time balance
checks and transaction history
tracking.
5. To integrate a simple user
interface that enhances user
experience and navigation.
6. To simulate functionalities found
in real banking apps, including bill
payment and transaction
confirmations.
7. To understand and apply core
concepts of software development,
including system analysis, design,
coding, and testing.
8. To create a scalable and robust
architecture for future enhancements
and real-world deployment.
Analysis with DFD
System Analysis
System analysis is a critical phase that helps to
understand the functional requirements of the
Mobile Banking Application. It involves studying
the current system, identifying the needs of the
users, and defining the processes required to
meet those needs efficiently.
The Mobile Banking Application allows users to
perform various banking activities such as:
User authentication (login/logout)
Checking account balance
Viewing transaction history
Transferring funds between accounts
Paying bills
Receiving notifications and confirmations
Data Flow Diagram (DFD)
Data Flow Diagrams (DFDs) visually represent
how data flows through the system, showing the
interaction between users, processes, and data
storage.
Level 0 DFD (Context Diagram)
At the highest level, the Mobile Banking
Application interacts with the user and the
banking database.
[User] ---> (Mobile Banking Application) --->
[Bank Database]
The user sends requests (login, transaction,
inquiry).
The application processes these requests.
The bank database stores user data, account
details, and transaction records.
Level 1 DFD (Detailed View)
Processes:
1.User Authentication
Validates user credentials and grants
access.
2.Account Management
Displays account balance and transaction
history.
3.Fund Transfer
Handles the transfer of money between
accounts.
4.Bill Payment
Processes payments for registered bills.
5.Notification System
Sends confirmation alerts for transactions.
Data Stores:
User Database: Stores user profiles, login
credentials.
Account Database: Stores account details,
balances.
Transaction Database: Logs all transactions
and payments
Feasibility Study
The feasibility study helps determine the
practicality and viability of developing the Mobile
Banking Application. It examines different
aspects to ensure the project’s success before
investing significant time and resources.
1. Technical Feasibility
This aspect assesses whether the technology
and resources needed to develop the application
are available and sufficient. The project uses
widely available tools such as Android Studio,
Java/Kotlin, and databases like Firebase or
MySQL. The team possesses the technical skills
required for mobile app development, making
the project technically feasible.
2. Economic Feasibility
Economic feasibility analyzes the cost-benefit
ratio of the project. Since the project is
developed for academic purposes, it utilizes free
and open-source tools, incurring minimal costs.
The benefits gained in learning and skill
development outweigh the negligible expenses,
confirming economic feasibility.
4. Schedule Feasibility
This examines whether the project can be
completed within the allocated time frame. The
project is planned with clear milestones,
including analysis, design, development, testing,
and documentation phases, ensuring timely
completion within the academic schedule.
5. Legal Feasibility
Although the application is for academic use, it
respects user privacy and data security
principles. Commercial deployment would
require compliance with banking regulations and
data protection laws, which are considered for
future scalability.
User Login Flowchart
Login Interface
Allows users to securely log in using email
and password.
Includes buttons for login, registration, and
password recovery.
🔹 2. Registration Interface
Enables new users to create an account.
Inputs include: Name, Email, Mobile Number,
and Password.
Validates entries before storing them in the
database.
🔹 4. Fund Transfer Interface
Facilitates money transfer between users.
Inputs include: Receiver ID and Amount.
Ensures validation and displays confirmation
messages.
🔹 5. Transaction History Interface
Shows a list of previous transactions.
Includes date, amount, type (credit/debit),
and receiver/sender details.
🔹 6. Account Summary Interface
Displays current account balance and user
details.
Hardware and Software
Requirements
The minimum hardware specifications needed
for development and testing include an Intel
Core i3 processor (or equivalent), 4GB RAM, and
at least 100GB of HDD/SSD storage. However, for
optimal performance, an Intel Core i5/i7
processor, 8GB or more RAM, and a 256GB SSD
are recommended. A display resolution of at
least 1366x768 is required, but a Full HD
(1920x1080) screen is preferred for better
visibility. Reliable internet connectivity is
necessary for API integration, cloud services,
and real-time transactions. Additionally, a
smartphone with Android 7.0+ or iOS 12+ is
required for testing purposes, with the latest
versions being preferable for compatibility.
The Pocket Safe application requires a stable
operating system such as Windows 10/11,
macOS, or Linux. The development environment
includes Android Studio for Android applications
and Xcode for iOS applications. The primary
programming languages used are Java/Kotlin for
Android development, Swift for iOS
development, and JavaScript for web
functionalities. The backend is supported by
Node.js with Express.js, while Firebase
Firestore, MySQL, or SQLite handle database
management. Security measures include
SSL/TLS encryption and OWASP Mobile Security
tools. Additionally, Git and GitHub are used for
version control, and testing is carried out using
Android Emulator and Firebase Test Lab.
By meeting these hardware and software
requirements, Pocket Safe ensures a secure,
high-performance, and scalable mobile
banking experience
System Design
The system design of Pocket Safe is divided into
two main components:
1. High-Level Design (HLD)
This includes the overall architecture of the
mobile application:
Client Side (Mobile App):
o Developed using Android Studio
(Java/Kotlin).
o User Interface (UI) designed with XML.
o Handles user input and displays
processed information.
Backend Services:
o Firebase Authentication for secure
login/signup.
o Firebase Realtime Database / Firestore
for storing user data and transactions.
o APIs to handle banking operations like
fund transfers, balance checks, and
transaction history.
2. Low-Level Design (LLD)
This covers detailed internal modules and
interactions:
User Module:
o Login, Registration, Password Reset
Account Module:
o View Balance, Account Details
Transaction Module:
o Send/Receive Money, Transaction
History
Security Module:
o OTP Verification, Session Management
Admin Module (optional):
o Monitoring users and resolving disputes
Design Diagrams (if required):
Use Case Diagrams
Database Tables
The application uses Firebase or SQLite to store and manage data securely. Below are the
key database tables (or collections, if using Firebase Firestore) used in the system:
1. Users Table
Field Name Data Type Description
user_id String Unique ID for each user
name String Full name of the user
email String User's email address
phone_number String User's mobile number
password_hash String Encrypted password
created_at Timestamp Account creation date
2. Accounts Table
Field Name Data Type Description
account_id String Unique account number
user_id String Linked user ID (foreign key)
account_type String Type (e.g., Savings, Current)
balance Decimal Current account balance
3. Transactions Table
Field Name Data Type Description
transaction_id String Unique transaction ID
sender_id String User ID of sender
receiver_id String User ID of receiver
amount Decimal Amount transferred
transaction_type String Credit / Debit
timestamp Timestamp Date and time of the transaction
status String Success / Failed / Pending
4. Support Requests Table (Optional)
Field Name Data Type Description
request_id String Unique ID for the support ticket
user_id String User who raised the request
message Text Query or issue reported
Coding
The Pocket Safe mobile banking
application is developed in Java
using NetBeans IDE, with Swing for
the GUI and MySQL as the backend
database, connected via JDBC.
🔹 Key Functionalities & Code
Highlights:
User Registration: Inserts user
data into the database using
PreparedStatement.
User Login: Validates credentials
by querying the users table.
Check Balance: Retrieves account
balance from the accounts table.
Fund Transfer: Updates sender
and receiver balances and logs
the transaction with rollback
support using
con.setAutoCommit(false).
These core features ensure secure
and smooth banking operations
within the application.
Interfaces
The Pocket Safe application provides a user-friendly
interface developed using Java Swing in NetBeans
IDE. Each interface is designed for intuitive navigation
and ease of use for both customers and (optionally)
admins.
🔹 1. Login Interface
Fields for Email and Password
Buttons: Login, Register, Forgot Password
Validates user credentials with the database
🔹 2. Registration Interface
Input fields: Name, Email, Mobile Number,
Password
Submits data to the users table
Displays success/failure message
🔹 3. Dashboard Interface
Welcome screen after login
Displays account summary and recent
transactions
Buttons to navigate to fund transfer, transaction
history, or profile
🔹 4. Fund Transfer Interface
Input: Receiver ID, Amount
Initiates transfer after validation
Shows success/failure message
🔹 5. Transaction History Interface
Displays list of past transactions
Sorted by date and type (Credit/Debit)
🔹 6. Account Summary Interface
Shows current balance
Includes basic account details
🔹 7. Admin Interface (optional)
View registered users
Monitor transactions and handle issues
Testing
To ensure the Pocket Safe application functions
correctly and securely, various testing methods were
performed. The goal was to detect bugs, verify
functionalities, and validate system performance.
🔹 1. Unit Testing
Each module (e.g., login, registration, fund
transfer) was tested independently.
Tools Used: Manual testing within NetBeans
Result: All modules worked as expected when
tested with valid and invalid inputs.
🔹 2. Integration Testing
Verified interaction between modules such as
registration → login → dashboard → transaction.
Ensured proper data flow between UI and
database using JDBC.
🔹 3. Functional Testing
Tested all features against requirements:
o User registration and login
o View balance
o Send/receive money
o View transaction history
🔹 4. Validation Testing
Checked form validations (e.g., empty fields,
invalid email format, incorrect password).
Ensured alerts and error messages appear
appropriately.
🔹 5. Database Testing
Verified that data was being stored, updated, and
retrieved correctly from the MySQL database.
Checked relational integrity and rollback in case
of failed transactions.
Future Scope
The Pocket Safe application has been
designed to provide essential mobile
banking services. In the future, several
features and enhancements can be added to
improve its functionality, scalability, and
user experience:
🔹 1. UPI Integration
Implementing real-time UPI-based
payments for faster transactions.
🔹 2. Biometric Authentication
Adding fingerprint or facial recognition
to enhance security and simplify login.
🔹 3. Push Notifications
Real-time alerts for transactions, low
balances, and account activities.
🔹 4. Bill Payments and Recharge
Enabling utility bill payments, mobile
recharges, and subscriptions directly
from the app.
🔹 5. AI-Based Fraud Detection
Using AI/ML algorithms to detect
unusual activities and prevent fraud.
🔹 6. Multi-language Support
Expanding accessibility by offering the
app in multiple regional languages.
🔹 7. Cross-platform Compatibility
Developing versions for iOS and web to
reach a wider user base.
🔹 8. Investment and Loan Services
Allowing users to apply for loans, invest
in mutual funds, or view credit scores
within the app.
Conclusion
The Pocket Safe mobile banking
application has been developed with
the primary goal of offering a secure,
user-friendly, and efficient digital
platform for basic banking services
such as account management, fund
transfers, and transaction history
tracking.
Throughout the development
process, the team focused on
integrating essential functionalities
with a clean and intuitive interface
using Java (Swing) and MySQL,
developed in NetBeans IDE. The
application successfully
demonstrates key concepts of
software engineering, database
management, user interface design,
and real-time processing.
By implementing the core banking
features, the project highlights how
technology can be leveraged to
simplify financial transactions and
improve user experience. The system
has been tested thoroughly and
shows stable performance in its
current version.
This project has not only improved
our technical skills but also
enhanced our understanding of real-
world software development and
teamwork. With further
enhancements, Pocket Safe has the
potential to evolve into a full-fledged
digital banking solution.
Bibliography
The following sources were referred to
during the research, design, and
development of the Pocket Safe mobile
banking application:
1. Books & Study Material
o “Java: The Complete Reference”
by Herbert Schildt
o “Database System Concepts” by
Abraham Silberschatz
o Notes and materials from BCA
curriculum (Pt. Deen Dayal
Upadhyay Management College)
2. Websites & Online Platforms
o https://docs.oracle.com/javase/ –
Official Java documentation
o https://www.mysql.com/ – Official
MySQL documentation
o https://www.geeksforgeeks.org/ –
Java, JDBC, and database
tutorials
ohttps://www.w3schools.com/ –
SQL syntax and database basics
https://stackoverflow.com/ –
o
Technical support and community
queries
3. Tools & Technologies
o NetBeans IDE – For coding and
GUI development
MySQL Workbench – For
o
managing the backend database
o Java SE Development Kit (JDK) –
Core platform for application
development