Skip to content

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

💰 Expense Tracker

A full-stack personal finance management web application that helps users track their income, expenses, and total transactions, complete with interactive graphs (line, bar, pie). Built using Java Spring Boot, MySQL, and HTML/CSS/JavaScript for a seamless and efficient user experience.


📸 Screenshots

screenshots screenshots screenshots screenshots screenshots
screenshots screenshots screenshots screenshots screenshots

🎥 Demo Video

📌 Features

  • ✍️ Add, update, and delete income and expense transactions
  • 📊 Real-time graphical representation (Line, Bar, Pie) using Chart.js
  • 💸 Monthly, Weekly, and Yearly financial summaries
  • 📁 Category-wise transaction grouping
  • 📅 Filter data by month and year
  • 🔐 Backend powered by Spring Boot (REST API)
  • 🗃️ Data persisted using MySQL
  • 🎨 Clean and responsive UI using HTML, CSS, and JavaScript

🔧 Tech Stack

Layer Technology
Backend Java, Spring Boot, Spring MVC
Database MySQL
Frontend HTML, CSS, JavaScript, Chart.js
Build Tool Maven
IDE IntelliJ / VS Code
Versioning Git & GitHub

🧠 Entity Relationship Diagram (ERD)

Tables:

  • transactions
  • categories

Relationships:

  • A transaction belongs to a category
  • A category can have many transactions
categories
-----------
id (PK)
name
created_at
updated_at

transactions
-------------
id (PK)
amount
type (INCOME/EXPENSE)
date
category_id (FK)

📊 Flowchart

graph TD
    A[User Input] --> B[Spring Boot API]
    B --> C[MySQL Database]
    C --> D[Fetch Aggregates]
    D --> E[Chart.js Visualization]

Loading

📦 Installation & Running

Prerequisites

  • Java 17+
  • Maven or Gradle
  • MySQL Server

Steps

# Clone the repository
git clone https://github.com/vishal-1809/expense-tracker.git
cd expense-tracker

# Configure MySQL Database
# Create a database named `expensetracker_db`

# Run the application
./mvnw spring-boot:run  # or use your IDE to run the Spring Boot app

# Access it at:
http://localhost:8080


🔐 Environment Configuration

Update your application.properties file with your MySQL credentials and other required Spring Boot settings:

# Database configuration
spring.datasource.url=jdbc:mysql://localhost:3306/expensetracker_db
spring.datasource.username=your_mysql_username
spring.datasource.password=your_mysql_password


# Server port (optional)
server.port=8080


📫 Contact

For questions or suggestions, feel free to reach out:


About

This is a web-based Expense Tracker built using Spring Boot for the backend and HTML, CSS, and JavaScript for the frontend. It uses MySQL for persistent data storage, allowing users to add, view, and manage their daily expenses. The application provides a user-friendly interface, secure data handling, and efficient tracking of financial records.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages