0% found this document useful (0 votes)
17 views8 pages

Report On FinPy

FinPy is a console-based banking application designed to simplify essential banking tasks such as balance checks, fund transfers, and customer support access. It features a user-friendly interface with secure login, static balances, and a menu-driven navigation system, allowing users to perform multiple operations seamlessly. While it serves as an educational tool for beginners in Python programming, it has limitations such as static balances and a lack of dynamic transaction tracking.

Uploaded by

physics12yogi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
17 views8 pages

Report On FinPy

FinPy is a console-based banking application designed to simplify essential banking tasks such as balance checks, fund transfers, and customer support access. It features a user-friendly interface with secure login, static balances, and a menu-driven navigation system, allowing users to perform multiple operations seamlessly. While it serves as an educational tool for beginners in Python programming, it has limitations such as static balances and a lack of dynamic transaction tracking.

Uploaded by

physics12yogi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

Report on FinPy – Personal Finance

Tracking System
Yogi G Malvankar|6712|SYBSc

Problem Statement: Managing basic banking tasks like balance checks,


fund transfers, and accessing customer support is often time-consuming
and complex for everyday users. There is a need for a simple, secure, and
user-friendly system to handle essential banking operations efficiently.

Solution: FinPy – A Basic Console-Based Banking Application Using


Python

FinPy Application provides a compact, secure, and user-friendly solution


that:

 Ensures only valid users can access account operations.


 Displays real-time (static in this version) balances.
 Provides transfer functionality with necessary validations.
 Gives access to customer service details immediately.
 Offers a repetitive menu for seamless multi-operation use without
restarting the application.

LOGIN AND AUTHENTICATION

The first part of the FinPy code is dedicated to login and authentication.
Upon launching the program, the user is greeted and asked to enter their
six-digit account number and a four-digit PIN. These details are collected as
input from the user, and the PIN is converted into an integer for further
validation. A conditional check ensures that the account number consists of
exactly six digits and the PIN exactly four digits. If either condition fails, the
system immediately terminates the program with an “INVALID!” message,
enhancing the security of the login process by preventing further
unauthorized access. If the credentials meet the length requirements, the
user is welcomed into the system and proceeds to the main menu.
INPUT CODE

OUTPUT

MAIN MENU NAVIGATION


Following authentication, the system initializes two static balances: one for
the savings account, set at 5000rs, and another for the current account,
set at 3000rs.

Once logged in, the user is directed to the main menu, which operates
within an infinite loop to ensure continuous access to banking services until
the user chooses to exit. The menu presents five primary options: Check
Balance, Transaction History, Transfer Money, Customer Care, and Exit. By
entering the corresponding number, users can navigate through these
options, and the system responds accordingly by executing the relevant
block of code associated with their choice. This looped design ensures that
after completing any action, the user is brought back to the menu, creating
an uninterrupted and seamless user experience
INPUT CODE

Balance Enquiry
The first option in the menu is Balance Enquiry, where the user is asked to
select between their current and savings accounts. Based on their selection,
the system displays the respective static balance. This function allows users
to quickly view their available funds, albeit from the fixed amounts
established at the start of the program. After displaying the balance, the
system automatically redirects the user back to the main menu.
Transaction History
The second option, Transaction History, presents the user with a static
message that outlines the general structure of recent transactions, including
columns for date, time, type of transaction, amount, and account number.
However, this is purely illustrative, as the code does not track actual
transactions or dynamically populate the history with real data from the
user’s activities. This placeholder serves as a conceptual demonstration of
what a transaction history might look like in a full-fledged banking
application.
Money transfer
In the third option, the user can perform a money transfer through IMPS.
Here, the user selects whether the transfer is to themselves or another
recipient, and which account type—savings or current—they wish to use.
The system then requests critical transfer details, including IFSC code,
account number, amount, and PIN verification. An inner check ensures that
the entered PIN matches the initial login PIN and that the necessary fields
are not empty. Additionally, the system checks whether the transfer amount
exceeds the balances of the respective accounts. If the PIN verification fails
or the balance is insufficient, the system alerts the user with appropriate
error messages. If the inputs are valid, the system simulates the deduction
of funds from the chosen account. However, this deduction is only displayed
and not reflected in the actual stored balance, due to the static nature of the
balance variables. Furthermore, there is a logical flaw in the balance
checking condition that may inadvertently block valid transactions if the
amount is acceptable in one account but exceeds the other, since it checks
both balances regardless of the selected account.
Customer Care support
The fourth menu option offers Customer Care support. When selected, the
system provides the user with customer service information, notifying them
that assistance will be available shortly and offering a toll-free number for
immediate help. This section simulates the kind of support communication
a banking application might include, ensuring users know how to seek
assistance if needed.

Finally, the fifth option allows the user to exit the application safely. Upon
selection, the system displays a farewell message and uses the break
statement to terminate the infinite loop, thus closing the program. This
controlled exit helps ensure that the session concludes properly, preventing
the program from running indefinitely.

Invalid menu selections are also handled gracefully. If the user inputs a
number outside the range of 1 to 5, the system alerts them of the invalid
choice and prompts them to enter a valid option. This helps maintain the
stability of the program and prevents it from crashing due to unexpected
inputs, though additional validation could further enhance this aspect.
Strengths of the Code:
The FinPy system demonstrates a well-structured, menu-driven interface
that is easy to navigate. Its authentication step is simple yet effective,
requiring specific formats for account numbers and PINs to prevent
unauthorized use. The program design effectively utilizes a loop to keep the
main menu accessible after each action, contributing to a smooth user
experience. With static balances and placeholder transaction history, the
system is straightforward to understand, making it a useful educational tool
for beginners learning about banking systems and fundamental Python
programming techniques.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy