Skip to content

38_SY_FamilyExpenseTracker#87

Open
mansiwanjale wants to merge 1 commit into
loopccoew:mainfrom
mansiwanjale:patch-2
Open

38_SY_FamilyExpenseTracker#87
mansiwanjale wants to merge 1 commit into
loopccoew:mainfrom
mansiwanjale:patch-2

Conversation

@mansiwanjale

Copy link
Copy Markdown

SY_38_FinTech_FamilyExpenseTracker created

@mansiwanjale mansiwanjale changed the title Create FamilyExpenseTracker.java 38_SY_FamilyExpenseTracker Apr 18, 2025
@mansiwanjale

Copy link
Copy Markdown
Author

Team 38 - Family Expense Tracker

Team Members:

Swati Kumbhar
Shrutika Nalawade
Tejal Khot
Mansi Wanjale


Project Description

Family Expense Tracker* is a console-based Java application designed to help families collaboratively manage their income and expenses. It supports multiple users with role-based access (admin and members), category-wise budgeting, debt settlement, and visual trend analysis.


Features:

  • Admin Features:

    • Register users and add them to the family
    • Assign category-wise monthly budgets
    • Track family-wide income and spending
    • Settle debts optimally
  • Member Features:

    • Add monthly income
    • Add and split expenses
    • View personal dashboards and alerts
    • Filter and analyze personal expenses
  • Universal Features:

    • Dynamic budget alerts (80%, 90%, 100%)
    • ASCII-based bar charts for monthly trends
    • Category suggestion using prefix search (Trie)
    • Debt Graph + Min Cash Flow for settlement

Data Structures Used:

  • HashMap – Users, family members, categories
  • ArrayList – Storing expense records
  • TreeMap – Category trie for search
  • PriorityQueue – Budget alerts
  • HashMap<String, HashMap<String, Double>> – Debt graph for optimal settlement

Time Complexities (Key Operations):

  • Login/Register: O(1)
  • Expense Filtering: O(n)
  • Debt Settlement (Greedy): O(n log n)
  • Monthly Trends: O(n)

How to Run:

  1. Compile the code:
    javac FamilyExpenseTracker.java
    
  2. Run the program:

java FamilyExpenseTracker

  1. Follow the menu prompts to register, login, manage expenses, and view dashboards.

#####################

  1. Video Link for explanation
    https://drive.google.com/drive/folders/1WpqsUansLsl-nOPyMVvaoMptio9r9tbb?usp=sharing

Notes:

Java 17+ is recommended

Project is console-based for now, but can be extended to JavaFX UI

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant