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

Capstone Finance Tracker

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)
42 views8 pages

Capstone Finance Tracker

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

💰

🔥 Personal Finance Tracker 🔥


A personal finance tracker is a software application that helps users keep track of their
income, expenses, and savings. It allows users to categorize their expenses, set up a
budget, track investments, and generate reports on their financial situation. With a
personal finance tracker, users can gain better control over their finances and make
informed decisions to achieve their financial goals.

🎯 Product Backlog
Following User Stories are categorized with the perspective of experienced developer;
to you easy might be difficult or difficult might be easy. Consider difficulty as per your
discretion i.e. You are free to change, difficulty level; given level is just a guide line.
You need to implement any 10 to complete this project.
😝 Easy, 🙂 Moderate, 🙃 Difficult
Sr User Story Level

As a user, I want to be able to create an account on the


1 application, so that I can track my income, expenses, and 😝
savings.

🔥 Personal Finance Tracker 🔥 1


Sr User Story Level

As a user, I want to be able to enter my income sources


2 into the application, so that I can track my total income 😝
over time.

3
As a user, I want to be able to enter my expenses into the
application, so that I can track where my money is going.
😝
As a user, I want to be able to categorize my expenses on

4
the application, so that I can see how much I'm spending
on different categories like groceries, rent, and
😝
entertainment.
As a user, I want to be able to set up a budget on the
5 application, so that I can track my spending against my 😝
budgeted amounts.

As a user, I want to be able to view my expenses and


6 income in a visual format like tables, so that I can easily 🙂
understand my financial situation.

As a user, I want to be able to set savings goals on the


7 application, so that I can track my progress towards those 🙂
goals.
As a user, I want to be able to link my bank accounts and
credit cards to the application, so that my transactions are
8 automatically imported and tracked. Just Add bank details 🙂
and credit card details, actual communication is not
required.
As a user, I want to be able to receive alerts and
9 notifications from the application, so that I can stay on top 🙂
of my finances.

10
As a user, I want to be able to set reminders on the
application, so that I can stay on top of bills and payments.
🙂
As a user, I want to be able to generate reports on my

11
finances, such as income statements and balance sheets,
so that I can get a comprehensive view of my financial
🙃
situation.
As a user, I want to be able to track my investments on the
12 application, so that I can see how they're performing over 🙃
time.

🔥 Personal Finance Tracker 🔥 2


Sr User Story Level

As a user, I want to be able to set up recurring expenses


13 on the application, so that I can track them over time 🙃
without having to manually enter them each time.
As a user, I want to be able to customize the categories
14 and labels used on the application, so that I can tailor it to 🙃
my specific financial needs.

As a user, I want to be able to export my financial data


15 from the application, so that I can use it in other 🙃
applications and software tools.

⚠ Hints given below are for understanding purpose only, you


might need to add/modify certain things, or you might need to do
every thing from scratch. Do not consider hints as final/polished
requirements, use your logic before you work on it. Hints might be
useless to you. Again remember, hints are just guidelines, use it
for understanding purpose only.

🎯 Hint for Database Structure


Users Table

Column Name Data Type Description

user_id INTEGER Primary key

username VARCHAR(255) Unique username

email VARCHAR(255) User's email address

password VARCHAR(255) Hashed password

Income Table

Column Name Data Type Description

income_id INTEGER Primary key

user_id INTEGER Foreign key referencing Users.user_id

source VARCHAR(255) Source of income

amount DECIMAL Amount of income

🔥 Personal Finance Tracker 🔥 3


date DATE Date of income

Expense Table

Column Name Data Type Description

expense_id INTEGER Primary key

user_id INTEGER Foreign key referencing Users.user_id

category_id INTEGER Foreign key referencing Category.category_id

merchant VARCHAR(255) Name of merchant

amount DECIMAL Amount of expense

date DATE Date of expense

Category Table

Column Name Data Type Description

category_id INTEGER Primary key

user_id INTEGER Foreign key referencing Users.user_id

name VARCHAR(255) Name of category

Budget Table

Column Name Data Type Description

budget_id INTEGER Primary key

user_id INTEGER Foreign key referencing Users.user_id

category_id INTEGER Foreign key referencing Category.category_id

amount DECIMAL Budgeted amount for the category

Savings Table

Column Name Data Type Description

savings_id INTEGER Primary key

user_id INTEGER Foreign key referencing Users.user_id

goal VARCHAR(255) Name of savings goal

target_amount DECIMAL Target amount for the goal

current_amount DECIMAL Current amount saved for the goal

🔥 Personal Finance Tracker 🔥 4


Investment Table

Column Name Data Type Description

investment_id INTEGER Primary key

user_id INTEGER Foreign key referencing Users.user_id

name VARCHAR(255) Name of investment

type VARCHAR(255) Type of investment

value DECIMAL Current value of investment

date DATE Date of investment

Transaction Table

Column Name Data Type Description

transaction_id INTEGER Primary key

user_id INTEGER Foreign key referencing Users.user_id

type ENUM('income', 'expense') Type of transaction (income or expense)

category_id INTEGER Foreign key referencing Category.category_id

merchant VARCHAR(255) Name of merchant

amount DECIMAL Amount of transaction

date DATE Date of transaction

🎯 Hints REST API


POST /api/users: Create a new user account

GET /api/users/{user_id}: Retrieve user information

PUT /api/users/{user_id}: Update user information

DELETE /api/users/{user_id}: Delete user account

POST /api/income: Add new income

GET /api/income: Retrieve all income for a user

GET /api/income/{income_id}: Retrieve income by ID

PUT /api/income/{income_id}: Update income by ID

🔥 Personal Finance Tracker 🔥 5


DELETE /api/income/{income_id}: Delete income by ID

POST /api/expenses: Add new expense

GET /api/expenses: Retrieve all expenses for a user

GET /api/expenses/{expense_id}: Retrieve expense by ID

PUT /api/expenses/{expense_id}: Update expense by ID

DELETE /api/expenses/{expense_id}: Delete expense by ID

GET /api/categories: Retrieve all categories for a user

POST /api/categories: Add new category

PUT /api/categories/{category_id}: Update category by ID

DELETE /api/categories/{category_id}: Delete category by ID

POST /api/budgets: Add new budget item

GET /api/budgets: Retrieve all budget items for a user

GET /api/budgets/{budget_id}: Retrieve budget item by ID

PUT /api/budgets/{budget_id}: Update budget item by ID

DELETE /api/budgets/{budget_id}: Delete budget item by ID

POST /api/savings: Add new savings goal

GET /api/savings: Retrieve all savings goals for a user

GET /api/savings/{savings_id}: Retrieve savings goal by ID

PUT /api/savings/{savings_id}: Update savings goal by ID

DELETE /api/savings/{savings_id}: Delete savings goal by ID

POST /api/investments: Add new investment

GET /api/investments: Retrieve all investments for a user

GET /api/investments/{investment_id}: Retrieve investment by ID

PUT /api/investments/{investment_id}: Update investment by ID

DELETE /api/investments/{investment_id}: Delete investment by ID

🔥 Personal Finance Tracker 🔥 6


🎯 Hints for Screens
1. Sign up/login screen: This screen will allow users to create a new account or log
into an existing one.

2. Dashboard screen displaying an overview of finances: This screen will provide


users with an overview of their finances, including their income, expenses, budget
progress, and savings goals.

3. Income entry screen: This screen will allow users to add their sources of income,
such as their salary or freelance earnings.

4. Expense entry screen with options for categorization: This screen will allow users to
add their expenses and categorize them, such as groceries, rent, and
entertainment.

5. Budget setup screen: This screen will allow users to set up a budget by setting
limits for different expense categories.

6. Budget tracking screen: This screen will show users their progress towards their
budget goals and highlight areas where they may be overspending.

7. Savings goal setup screen: This screen will allow users to set up savings goals,
such as for a vacation or a down payment on a house.

8. Savings goal tracking screen: This screen will show users their progress towards
their savings goals and suggest ways to reach them faster.

9. Investments tracking screen: This screen will allow users to track the performance
of their investments over time.

10. Transaction import screen for linking bank accounts and credit cards: This screen
will allow users to link their bank accounts and credit cards to the app to
automatically import transactions.

11. Alert/notification settings screen: This screen will allow users to set up alerts and
notifications for things like upcoming bills or overspending in a particular category.

12. Report generation screen: This screen will allow users to generate reports on their
finances, such as income statements or balance sheets.

13. Recurring expenses setup screen: This screen will allow users to set up recurring
expenses, such as rent or subscriptions.

🔥 Personal Finance Tracker 🔥 7


14. Reminders setup screen: This screen will allow users to set up reminders for things
like bill payments or savings contributions.

15. Settings screen for customizing categories and labels: This screen will allow users
to customize the categories and labels used in the app to match their specific
needs.

🔥 Personal Finance Tracker 🔥 8

You might also like