Vibhav Cs
Vibhav Cs
COMPUTER SCIENCE
“PERSONAL EXPENSE TRACKER”
PROJECT DONE BY
NAME : VAIBHAV SUBHASH T
REGISTER NO :
CLASS : 12
CERTIFICATE
This is to certify that VAIBHAV SUBHASH T COMPUTER
SCIENCE student of class XII of NARAYANA E-TECHNO
SCHOOL, HULIMAVU, BANNERGHATTA ROAD
BANGALORE. has successfully completed the project entitled:
Date:
Place:
Institute Stamp
2|Page
Computer science project 2024 – 2025
Topic: Personal Expense Tracker
VAIBHAV SUBHASH T
Class XII
SUBJECT CODE: 083
3|Page
TABLEOFCONTENTS
01 ACKNOWLEDGEMENT 5
02 INTRODUCTION 6
04 PROPOSED SYSTEM 8
05 PROJECT REQUIREMENTS 9
09 FUTURE SCOPE 21
10 BIBLIOGRAPHY 22
4|Page
Acknowledgement
The success of any project is not solely the result of individual efforts but is also
significantly influenced by the encouragement and guidance of others. I would
like to take this opportunity to sincerely thank all those who have been
instrumental in the successful completion of this project.
I express deep sense of gratitude to Almighty God for giving me strength for the
successful completion of the project. I express my heartfelt gratitude to my
parents for constant encouragement while carrying out this project.
My sincere thanks to Ms. N.Sateeswari, a guide, mentor and above all a friend
who critically reviewed my project and helped in solving each and every problem,
occurred during implementation of the project.
The guidance and support received from all the members who contributed and
who are contributing to this project, was vital for the success of the project. I am
grateful for their constant support and help.
5|Page
INTRODUCTION
Overview of Financial Management Effective financial management is essential
for individuals and businesses to thrive in a complex economic environment.
Personal financial management involves the planning, organizing, and monitoring
of personal finances to meet long-term goals. For individuals, managing expenses
plays a crucial role in achieving financial goals, whether it's saving for retirement,
paying off debt, or simply maintaining financial stability. Tracking expenses,
however, can be a time-consuming and difficult task if done manually, particularly
when dealing with multiple income sources and expenditures.
Budgeting: Helps individuals identify where their money is going and adjust
spending to align with financial goals.
Savings & Investment: With a clear picture of monthly expenses, users can
allocate more funds to savings or investments.
6|Page
OBJECTIVES OF THE PROJECT
Objective of personal expense tracker can be
7|Page
PROPOSED SYSTEM
The proposed system for “personal expense tracker” is designed to help individuals
record, categorize, and analyze their spending habits to improve financial
awareness and achieve their financial goals.
Expense Entry: Allows users to input expenses with details such as category,
amount, and date.
Total Calculation: Calculates the total of all expenses to help users understand
their spending patterns.
Data Persistence: Saves expenses to a file and loads them when the program starts
again, ensuring data is not lost.
8|Page
PROJECT REQUIREMENTS
1. Hardware Requirements
The project can run on most standard computers with these basic
specifications:
Processor: Intel Core i3 or higher.
RAM: At least 4 GB of RAM (8 GB recommended for smoother
performance).
Storage: About 100 MB of free space for storing the game files and
database.
Display: A monitor with a resolution of 1024x768 or higher.
2. The project leverages Python and its built-in features for simplicity and
ease of use:
Python 3.x: Python is an ideal language for this project due to its
readability, ease of use, and support for file handling and basic data
structures.
File I/O: Expenses are stored in a text file (CSV format), allowing the
program to persist data across sessions without the need for a database.
Lists and Dictionaries: Expenses are stored in a list of dictionaries, where
each dictionary contains details about a specific expense (category,
amount, and date).
CLI (Command Line Interface): The program uses a simple CLI interface
for interaction, making it lightweight and easy to use without requiring
any graphical elements.
9|Page
SOURCE CODE
A. MainCode
Here is the Python code for the Personal Expense Tracker application:
def display_menu():
def is valid_date(date):
try:
# Check if the date is in the correct format (YYYY-MM-DD) year, month, day
= map(int, date.split('-'))
10 | P a g e
# Check for leap year (February has 29 days)
if is_leap_year(year):
days_in_month[1] = 29 # February has 29 days in a leap year
def add_expense(expenses):
while True:
try:
if is_valid_date(date):
11 | P a g e
break # Exit loop after valid input
except ValueError as e:
print(f"Error: {e}. Please try again.")
# Function to view all recorded expenses
def view_expenses(expenses):
if not expenses:
print("No expenses recorded yet.")
return
print("\nExpenses:")
for expense in expenses:
print(f"Date: {expense['date']}, Category: {expense['category']}, Amount:
{expense['amount']}")
# Function to calculate and display the total of all expenses
def view_total(expenses):
if not expenses:
return
12 | P a g e
for expense in expenses:
file.write(f"{expense['date']},{expense['category']},{expense['am
ount']}\n")
2. add_expense(): Collects details about an expense, validates the input, and adds it to
the expense list.
4. view_total(): Calculates and displays the total amount spent across all recorded
expenses.
5. load_expenses(): Loads previously saved expenses from a text file, allowing data
persistence.
13 | P a g e
6. save_expenses(): Saves the list of expenses to a text file for later retrieval.
The main program runs in a loop, allowing the user to add, view, and manage
expenses until they choose to exit.
14 | P a g e
SCREEN SHOTS OF THE CODE
SCREEN -1
15 | P a g e
SCREEN -2
16 | P a g e
SCREEN -3
17 | P a g e
CODE- OUTPUT
SCREEN -1
18 | P a g e
SCREEN -2
19 | P a g e
SCREEN - 3
20 | P a g e
FUTURE SCOPE
1. Extending to Multi-User Environment:
2. Enhanced Reporting:
4. Financial Integrations:
5. Personalization:
6. Cross-Platform:
21 | P a g e
BIBLIOGRAPHY
1. Text Book - Computer Science With Python-12th Std - Sumita Arora
2. Core Python Concepts:
22 | P a g e