Python Mini Project
Python Mini Project
A PROJECT REPORT
Submitted by
Anshu - 23BCS11333
Bachelor of Engineering
IN
Chandigarh University
October 2024
1
BONAFIDE CERTIFICATE
2
DEPARTMENT OF
COMPUTER SCIENCE & ENGINEERING
TABLE OF CONTENTS
1. Introduction 4
2. Literature Review 5
3. Methodology 6
3
DEPARTMENT OF
COMPUTER SCIENCE & ENGINEERING
Introduction
Managing personal finances is an essential skill that can influence one's overall well-being and
future stability. As financial complexity grows, there is an increasing need for tools that help
individuals track their income, expenses, and budgets efficiently. In this project, we developed
a Personal Finance Tracker, a simple Python-based application to help users manage their
finances by recording transactions and providing insightful summaries.
Project Objective
The primary objective of the Personal Finance Tracker is to offer a lightweight, easy-to-use
system where users can:
4
DEPARTMENT OF
COMPUTER SCIENCE & ENGINEERING
Literature Review
• Mint: One of the most popular financial tools, Mint provides a wide range of features,
including budgeting, bill tracking, and credit score monitoring. However, its complexity
can overwhelm users looking for a simple solution.
• YNAB: Known for its unique budgeting philosophy, YNAB teaches users how to
allocate every dollar they earn. Despite its effectiveness, YNAB’s learning curve can
be steep, especially for those who want quick tracking rather than detailed budget
planning.
• PocketGuard: This tool focuses on simplicity, helping users track expenses and
showing how much disposable income they have. However, it lacks extensive
customization features for categorizing expenses.
5
DEPARTMENT OF
COMPUTER SCIENCE & ENGINEERING
Methodology
The Personal Finance Tracker is developed using Python and a basic data structure approach,
focusing on usability and extensibility. The following steps outline the development process:
1. Requirements Gathering
We identified core requirements for the application, which include:
2. Design
The system design was kept simple to enhance user experience:
3. Implementation
The system was implemented using Python. Key features include:
4. Testing
Various test cases were used to ensure the correct functionality of the tracker. We checked: -
• Input validation.
• Accurate summary calculations.
• Grouping transactions correctly by category.
6
DEPARTMENT OF
COMPUTER SCIENCE & ENGINEERING
Source Code
CODE: -
import datetime
transactions = []
if date is None:
date = datetime.date.today()
transactions.append({
'amount': amount,
'category': category,
'date': date
})
def view_summary():
7
DEPARTMENT OF
COMPUTER SCIENCE & ENGINEERING
print("\nTransaction Details:")
for t in transactions:
def view_by_category():
categories = {}
for t in transactions:
cat = t['category']
if cat not in categories:
categories[cat] = 0
categories[cat] += t['amount']
print("\nCategory Breakdown:")
print(f"{cat}: ₹{total:.2f}")
def main():
while True:
print("\nOptions:")
8
DEPARTMENT OF
COMPUTER SCIENCE & ENGINEERING
if choice == '1':
amount = float(input("Enter amount (use negative for expenses): "))
add_transaction(amount, category)
view_summary()
view_by_category()
elif choice == '4':
print("Exiting...")
break
else:
if __name__ == "__main__":
main()
9
DEPARTMENT OF
COMPUTER SCIENCE & ENGINEERING
OUPUT
10
DEPARTMENT OF
COMPUTER SCIENCE & ENGINEERING
Outcomes
The system was tested with various scenarios, and it performed as expected, providing accurate
summaries and categorizations of financial data.
Future Scope
The Personal Finance Tracker is a foundational tool that can be expanded in various ways.
Future developments could include:
11
DEPARTMENT OF
COMPUTER SCIENCE & ENGINEERING
Challenges
1. Ensuring Accurate Data Entry – Handling incorrect or incomplete data from users,
such as invalid dates or negative amounts.
3. Efficient Data Handling for Large Datasets – As the number of transactions grows,
ensuring the application doesn't slow down and can process large datasets efficiently.
4. Expense Classification Complexity – Designing a system that can classify expenses
correctly, especially when input descriptions are ambiguous or vary.
5. Managing Recurring Transactions – Automating the tracking of recurring expenses
or incomes without user intervention while still allowing for modifications.
6. Data Security and Privacy – Safeguarding personal financial data through encryption
and secure storage methods, especially if sensitive details are involved.
10. Testing and Debugging Financial Calculations – Ensuring that all calculations,
like total savings or expense summaries, are accurate across different edge cases and
inputs
11. API Integration – Facing challenges with integrating third-party APIs for features
like automatic transaction fetching or currency conversion.
12. Maintaining Cross-Platform Consistency – Ensuring that the tracker runs smoothly
across different platforms or devices (desktop, mobile), if required.
12
DEPARTMENT OF
COMPUTER SCIENCE & ENGINEERING
Conclusion
Additionally, as users increasingly rely on digital tools for managing their finances, the
demand for more sophisticated features—such as real-time updates, personalized insights,
and multi-device accessibility—continues to grow. A successful personal finance tracker
should not only meet these evolving needs but also offer a seamless and intuitive experience
to keep users engaged over the long term. Addressing these challenges thoughtfully can
transform the project into a valuable tool that enhances financial awareness and promotes
better money management habits.
13
DEPARTMENT OF
COMPUTER SCIENCE & ENGINEERING
References
1. Grable, J. E., & Joo, S. H. (2020). "Journal of Financial Literacy: A Review of Personal
Finance Tools."
8. Cooper, J., & Ross, P. (2021). "Modern Financial Tools: An Overview." Tech Finance
Publications.
14