Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Mohak-Nagaraju/AI_Expense_Tracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

AI Expense Tracker

A smart budgeting application that leverages AI to help users track expenses, categorize spending, and receive personalized financial insights.

πŸš€ Features

  • AI-Powered Categorization: Automatically categorizes expenses based on descriptions
  • Smart Budget Analysis: Get personalized insights about your spending habits
  • Interactive Dashboard: Visualize your spending with dynamic charts
  • Budget Recommendations: Receive category-based budget recommendations
  • Local Storage: Remembers your budget between sessions
  • Responsive Design: Works on desktop and mobile devices

Screenshots

Dashboard View

Dashboard

Expenses Added

The main dashboard displays your current budget, expense input form, and list of recent expenses.

Expense Analysis

Expense Analysis

Expense Analysis

The analysis section provides a visual breakdown of your spending categories, remaining budget, and personalized insights.

πŸ’» Tech Stack

  • Frontend: HTML, CSS, JavaScript, Chart.js
  • Backend: Java with Spring Boot
  • AI Components:
    • Expense category prediction service
    • Budget recommendation engine
    • Spending analysis algorithms

Getting Started

Prerequisites

  • JDK 11 or higher
  • Maven 3.6+ or Gradle 7+
  • Node.js and npm (optional, for frontend development)

Installation and Setup

  1. Clone the repository

    git clone https://github.com/Mohak-Nagaraju/AI_Expense_Tracker.git
    cd AI_Expense_Tracker
  2. Build the project

    mvn clean install
    # or with Gradle
    ./gradlew build
  3. Run the application

    mvn spring-boot:run
    # or with Gradle
    ./gradlew bootRun
  4. Open your browser and navigate to http://localhost:8080

Usage Guide

Setting Your Budget

  1. Enter your monthly budget amount in the "Set Your Budget" card
  2. Click "Set Budget" to save it

Adding Expenses

  1. Enter the expense amount and description
  2. The AI will automatically suggest a category based on your description
  3. You can override the AI category if needed by expanding the "Override AI Category" dropdown
  4. Click "Add Expense" to save

Analyzing Your Spending

  1. After adding expenses, click "Analyze My Spending"
  2. View your expense breakdown in a visual chart
  3. Review AI-generated insights about your spending habits
  4. Check the budget recommendations for each category

πŸ“‹ How It Works

✨ AI Categorization

The application uses pattern recognition to categorize expenses. It analyzes the description of each expense and matches keywords to appropriate categories such as:

  • Food (restaurant, lunch, dinner)
  • Transportation (gas, uber, train)
  • Entertainment (movie, netflix)
  • And more

Budget Recommendations

Budget recommendations are calculated using:

  • The 50/30/20 budgeting rule as a baseline
  • Your actual spending patterns
  • Category-specific adjustments

Spending Analysis

The AI analysis engine provides insights by:

  • Comparing your spending to your budget
  • Identifying high-spending categories
  • Suggesting areas for potential savings
  • Recommending budget allocations

Project Structure

β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ main/
β”‚   β”‚   β”œβ”€β”€ java/com/expensetracker/
β”‚   β”‚   β”‚   β”œβ”€β”€ controller/      # REST API endpoints
β”‚   β”‚   β”‚   β”œβ”€β”€ model/           # Data models
β”‚   β”‚   β”‚   β”œβ”€β”€ service/         # Business logic
β”‚   β”‚   β”‚   └── ExpenseTrackerApplication.java
β”‚   β”‚   └── resources/
β”‚   β”‚       β”œβ”€β”€ static/          # Frontend files
β”‚   β”‚       β”‚   β”œβ”€β”€ index.html
β”‚   β”‚       β”‚   β”œβ”€β”€ script.js
β”‚   β”‚       β”‚   └── styles.css
β”‚   β”‚       └── application.properties
β”‚   └── test/                    # Test files
β”œβ”€β”€ pom.xml                      # Maven configuration
└── README.md                    # Project documentation

Customization

Adding New Categories

To add new expense categories:

  1. Update the index.html file to include new options in the category dropdown
  2. Add new category patterns in ExpenseCategoryPredictionService.java
  3. Add corresponding CSS styles for the new categories in styles.css

Modifying Budget Recommendation Rules

The budget allocation rules can be adjusted in BudgetRecommendationService.java by modifying the recommendedAllocation map.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Acknowledgments

  • Chart.js for visualization components
  • Spring Boot framework
  • Poppins font from Google Fonts

Contact

Developed by - Mohak Nagaraju | Portfolio

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors