Mobile MiniProject

Download as pdf or txt
Download as pdf or txt
You are on page 1of 13

MINI PROJECT REPORT

On

“Banking Application Using Flutter”

A Report Submitted for a mini project for Cyber Security and Digital Forensics
in 1st Semester of Final Year Computer Engineering

Academic Year 2024-25


Submitted by-

SR NO. NAME ROLL NO.

1. Mrinal Salunkhe B213030

2. Rashmi Sarvade B213031

3. Amruta Shinde B213038

Zeal Education Society’s

Zeal College of Engineering & Research Narhe,

Pune-411041.

1
Zeal Education Society’s

Zeal College of Engineering & Research Department of

Computer Engineering

CERTIFICATE

This is to certify that Mini project entitled “Banking Application Using Flutter” are Bonafide students
of this institute and the work has been carried out by them under the supervision of Prof. K. M. Bhosale.
This work is approved for the partial fulfillment of the requirements of Savitribai Phule Pune University
for the award of a Fourth Year Engineering (Computer Engineering) degree. It is certified that all
corrections and suggestions indicated for the internal assignment have been incorporated in the report.
The mini project report has been approved as it satisfies the academic requirements for the project
work prescribed for the Bachelor of Engineering Degree.

Prof. K. M. Bhosale Prof. A. V. Mote


Project Guide H. O. D

2
ACKNOWLEDGEMENT

I take this opportunity to thank our project guide Prof. K. M. Bhosale and Head of
Department Prof. A. V. Mote for their valuable guidance and for providing all the
necessary facilities, which were indispensable in the completion of this project report. I am
also thankful to all the staff members of the Computer Engineering Department for their
valuable time, support, comments, suggestions and persuasion. I would also like to thank
the institute for providing the required facilities, Internet access and important books.

3
INDEX

Sr. CONTENT Page

No. No.

1. Abstract 05

2. Introduction 06

3. Problem Statement 07

4. Objective and Outcome 07

5. Implementation 08-17

6. Conclusion 18

4
ABSTRACT

This project presents the development of a banking application using Flutter, designed to facilitate user-
friendly account management and fund transactions. The application allows users to create new customer
accounts and deposit money seamlessly through an intuitive interface. By employing a bottom navigation
bar, users can easily switch between the account creation and deposit functionalities. The app provides
real-time feedback via SnackBar notifications, ensuring users are informed of their actions' success or
failure. This project not only demonstrates the practical application of mobile development using Flutter
but also emphasizes the importance of user experience in financial applications.

5
INTRODUCTION

In today's digital age, mobile applications have revolutionized the way we manage our finances, making
banking services more accessible and efficient. This project focuses on creating a banking application
using Flutter, a modern UI toolkit for building natively compiled applications for mobile, web, and
desktop from a single codebase. The goal is to develop an application that provides essential banking
functionalities, including account creation and money deposit, while ensuring a seamless and intuitive
user experience.
The application is designed to address the growing demand for user-friendly banking solutions, especially
among young users who prefer mobile platforms for managing their financial transactions. By leveraging
Flutter's rich set of pre-built widgets and powerful features, the project aims to create a responsive and
visually appealing interface that enhances user engagement.
Key features of the application include the ability to create new customer accounts by entering basic
information such as name and account number. Once an account is established, users can navigate to the
deposit screen, where they can input the amount they wish to deposit into their accounts. The inclusion
of a bottom navigation bar allows for easy switching between functionalities, thereby improving the
overall usability of the app.
Furthermore, the project emphasizes real-time feedback mechanisms, such as SnackBar notifications, to
inform users of successful or failed transactions. This enhances the user experience by providing
immediate responses to their actions, making the banking process more interactive and transparent.
Overall, this project exemplifies the potential of mobile applications in transforming traditional banking
practices into efficient digital solution.

6
PROBLEM STATEMENT

Mini Project: Create an application for Bank using spinner, intent


a) Form 1: Create a new account for customer
b) Form 2: Deposit money in customer account.
c) Link both forms, after completing of first form the user should be directed to the second form.
d) Provide different menu options

Objective: The outcome of this project is a functional mobile banking application that allows users
to:

● Create new customer accounts.

● Deposit money into existing accounts.

● Navigate between different forms using a bottom navigation bar.

● Receive feedback through SnackBar messages for successful or unsuccessful operations.

Outcome: To develop a user-friendly banking application in Flutter that facilitates seamless account
creation, money deposits, intuitive navigation, and real-time user feedback through visual
notifications.

7
IMPLEMENTATION

// lib/create_account_screen.dart
import 'package:flutter/material.dart';
import 'deposit_screen.dart';

class CreateAccountScreen extends StatefulWidget {


@override
_CreateAccountScreenState createState() => _CreateAccountScreenState();
}

class _CreateAccountScreenState extends State<CreateAccountScreen> {


final TextEditingController nameController = TextEditingController();
final TextEditingController accountNumberController = TextEditingController();

@override
void dispose() {
nameController.dispose();
accountNumberController.dispose();
super.dispose();
}

void createAccount() {
String name = nameController.text;
String accountNumber = accountNumberController.text;

if (name.isNotEmpty && accountNumber.isNotEmpty) {


Navigator.push(
context,
MaterialPageRoute(
builder: (context) => DepositScreen(accountNumber: accountNumber),
),
);
} else {
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(content: Text('Please fill all fields')),
);
}
}

@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text('Create Account')),
body: Padding(
8
padding: const EdgeInsets.all(16.0),
child: Column(
children: [
TextField(
controller: nameController,
decoration: InputDecoration(labelText: 'Enter Name'),
),
TextField(
controller: accountNumberController,
decoration: InputDecoration(labelText: 'Enter Account Number'),
keyboardType: TextInputType.number,
),
SizedBox(height: 20),
ElevatedButton(
onPressed: createAccount,
child: Text('Create Account'),
),
],
),
),
);
}
}

// lib/deposit_screen.dart
import 'package:flutter/material.dart';

class DepositScreen extends StatefulWidget {


final String accountNumber;

DepositScreen({required this.accountNumber});

@override
_DepositScreenState createState() => _DepositScreenState();
}

class _DepositScreenState extends State<DepositScreen> {


final TextEditingController amountController = TextEditingController();

@override
void dispose() {
amountController.dispose();
super.dispose();
}

void depositMoney() {
String amount = amountController.text;

9
if (amount.isNotEmpty) {
ScaffoldMessenger.of(context).showSnackBar(

SnackBar(content: Text('Successfully deposited \$${amount} to account ${widget.accountNumber}')),


);
amountController.clear();
} else {
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(content: Text('Please enter an amount')),
);
}
}

@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text('Deposit Money')),
body: Padding(
padding: const EdgeInsets.all(16.0),
child: Column(
children: [
TextField(
controller: amountController,
decoration: InputDecoration(labelText: 'Enter Amount'),
keyboardType: TextInputType.number,
),
SizedBox(height: 20),
ElevatedButton(
onPressed: depositMoney,
child: Text('Deposit Money'),
),
],
),
),
);
}
}

// lib/main.dart
import 'package:flutter/material.dart';
import 'create_account_screen.dart';

void main() {
runApp(MyBankApp());
}

class MyBankApp extends StatelessWidget {


10
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Bank App',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: CreateAccountScreen(),
);
}
}

11
12
CONCLUSION

This project successfully demonstrates the development of a mobile banking application using
Flutter, focusing on user-friendly account creation and money deposit functionalities. By leveraging
Flutter’s cross-platform capabilities, the application provides a seamless experience with intuitive
navigation and real-time feedback. The use of a bottom navigation bar enhances usability, allowing
users to switch between account management and transactions effortlessly. This project highlights
the importance of mobile banking applications in today's digital landscape, offering a practical and
efficient solution for managing financial transactions. Future enhancements could include additional
features such as balance inquiry, withdrawal, and transaction history.

13

You might also like