0% found this document useful (0 votes)
21 views16 pages

Mobile Comp Mini

Uploaded by

rishusingh1514
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)
21 views16 pages

Mobile Comp Mini

Uploaded by

rishusingh1514
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/ 16

MINI PROJECT REPORT

On

“ Banking Application Using Flutter ”

A Report Submitted for a mini project for Mobile Computing in 1st Semester of
Final Year Computer Engineering

Academic Year 2024-25


Submitted by-

SR NAME ROLL NO.


NO.
1. Dipraj Suhas Vasav B213060

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 Mr. Dipraj Suhas Vasav is Bonafide student of this institute and
the work has been carried out by him under the supervision of Prof. Komal Bhosale and
it is approved for the partial fulfillment of the requirement of Savitribai Phule Pune
University, for the award of Fourth Year Engineering (Computer Engineering).It is
certified that all corrections/suggestions indicated for internal assignment have been
incorporated in the report. The Mini project report has been approved as it satisfies the
academic requirements in respect of project work prescribed for the Bachelor of
Engineering Degree.

Prof. Komal Bhosale Prof. A. V. Mote


Project Guide H. O. D

2
ACKNOWLEDGEMENT

I take this opportunity to thank our project guide Prof. Komal 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-14

6. Conclusion 15

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 solutions.

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 and Code

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

class CreateAccountScreen extends StatefulWidget {


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

class _CreateAccountScreenState extends State<CreateAccountScreen>


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

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

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


// Navigate to Deposit screen after creating the account
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => DepositScreen(accountNumber: accountNumber),
),
);
} else {
// Show an error message
ScaffoldMessenger.of(context).showSnackBar( SnackBar(c
ontent: Text('Please fill all fields')),
);
}
}

@override
Widget build(BuildContext context) {
return Scaffold(
8
appBar: AppBar(title: Text('Create Account')),
body: Padding(
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( onPresse
d: 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();

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

if (amount.isNotEmpty) {
// Show a success message
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(content: Text('Successfully deposited \$${amount} to account
${widget.accountNumber}')),
);
amountController.clear();
} else {
// Show an error message
ScaffoldMessenger.of(context).showSnackBar( SnackBar(c
ontent: 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'),
),
],
),
),
);
}
}
10
// lib/main.dart
import 'package:flutter/material.dart';
import 'create_account_screen.dart';
import 'deposit_screen.dart';

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

class MyBankApp extends StatefulWidget {


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

class _MyBankAppState extends State<MyBankApp>


{ int _selectedIndex = 0;

final List<Widget> _screens = [


CreateAccountScreen(),
DepositScreen(accountNumber: '12345'), // Dummy account number for
demo
];

void _onItemTapped(int index)


{ setState(() {
_selectedIndex = index;
});
}

@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Bank App',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: Scaffold(
appBar: AppBar(title: Text('Bank Application')),
body: _screens[_selectedIndex],
bottomNavigationBar:
BottomNavigationBar( items: const
11
<BottomNavigationBarItem>[

12
BottomNavigationBarItem( icon
: Icon(Icons.person_add),
label: 'Create Account',
),
BottomNavigationBarItem(
icon: Icon(Icons.attach_money),
label: 'Deposit Money',
),
],
currentIndex: _selectedIndex,
onTap: _onItemTapped,
),
),
);
}
}

13
14
15
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.

16

You might also like