GOVERNMENT TECHNICAL INSTITUTE
PYTHON PROJECT PROPOSAL
This Photo by Unknown Author is licensed under CC BY-SA-NC
Name: Colleen Alphonso
Class: ODCS 1
Teacher’s Name: Mr. Victor Lawrence
Subject: Programming with Python
Project Background
In today’s ever-changing financial world, many individuals struggle to keep track of their
expenses effectively. This leads to disorganization, a lack of understanding about their spending
habits, and difficulties in budgeting. However, leveraging the simplicity and flexibility of
Python, I aim to develop an expense tracker and budgeting program to address this problem.
The expense tracker will offer a user-friendly interface for inputting and categorizing expenses.
Additionally, the program will allow users to budget categories to avoid overspending.
1. Expense Categorization Example:
Suppose a user spends $500 on groceries, $200 on dining out, and $100 on transportation
in a given month. With the expense tracker’s categorization feature, the user can easily
classify these expenses into relevant categories such as “Groceries”, “Dining” and
“Transportation”. This categorization provides valuable insights into where the user’s
money is being allocated, allowing for better budget planning.
2. Budgeting Capabilities Example:
Imagine a user sets a monthly budget of $600 for groceries. As they input their grocery
expenses into the tracker throughout the month, the program continuously monitors their
spending and compares it against the set budget limit. If the user approaches or exceeds
the budget limit, the program generates alerts or notifications, prompting the user to
reassess their spending habits and make adjustments accordingly.
Utilizing Python GUI libraries:
The project utilizes Python GUI libraries such as Tkinter or PyQt to design and create a user-
friendly interface. These libraries offer a variety of widgets and tools that facilitates the creation
of interactive and visually appealing interfaces, enhancing the overall user experience.
In conclusion, integrating these functionalities into the expense tracker and budgeting program,
users can gain greater control over their finances, make informed decisions, and work towards
achieving their financial goals.
Utilizing Data Structures:
The program will utilize several data structures for efficient management of expense related
information, such as dictionaries, lists and tuples, the program efficiently organizes expense
related information allowing for seamless tracking, categorization and budget management.
Project Objectives
1. User friendly interface:
The expense tracker will provide a user friendly interface where you can easily input and
categorize your expenses. This interface will be intuitive and visually appealing, making
it simple for the user to track their expenses effectively.
2. Expense categorization:
The program will allow you to categorize your expenses based on different categories
such as food, entertainment, transportation, etc. This feature will help you understand the
users spending habits and identify areas where they need to adjust their budget.
3. Budgeting Capabilities:
The program will enable the user to set budget limits for each expense category. This
way, they can establish spending limits and receive alerts if they exceed their set budget.
This will help in avoiding overspending.
Project Scope
Key Deliverables
1. User-Friendly Interface:
- Utilize a Python GUI (Graphical User Interface) library such as Tkinter or PyQt
to design and create the interface.
- Implement clear and intuitive navigation menus, buttons, and input fields for
users to easily input and categorize their expenses.
- Use visually appealing design elements such as colors, icons, and layout to
enhance the overall user experience.
2. Expense Categorization:
- Create a data structure (e.g., dictionary or list) to store expense data, including
categories.
- Develop a mechanism for users to select the category for each expense item.
3. Budgeting Capabilities:
- Design a budgeting feature within the program that allows users to set budget
limits for each expense category.
- Develop a mechanism to track expenses within each category and compare them
against the set budget limits.
- Configure alerts or notifications to notify users when they approach or exceed
their budget limits, prompting them to adjust their spending habits accordingly.
Points of measurement or review:
Monthly milestone evaluation to ensure project remains on track with timelines and
objectives
Any known issues or risk and how they will be handled:
Risk: Integrating budgeting feature might be complex
Handling: divide the development task into smaller pieces and focus on essential
functionalities first
Project exclusions:
Assumptions and plans for addressing uncertain information:
Assumption: User should already have basic knowledge of Python and have used expense
tracking software before.
Plan: Provide user documentation to help understand and navigate the application easily.
Constraints:
Fixed Timeframe of eight months to complete the project from the start date