Skip to content

Shivam-2310/personal-finance-manager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Personal Finance Manager

A comprehensive Spring Boot application for managing personal finances, tracking expenses, setting savings goals, and generating financial reports.

Features

User Management

  • Secure user registration and authentication using JWT
  • User profile management
  • Password encryption using BCrypt

Transaction Management

  • Track income and expenses
  • Categorize transactions
  • View transaction history
  • Update and delete transactions
  • Real-time balance tracking

Savings Goals

  • Set personalized savings targets
  • Track progress towards financial goals
  • Monitor goal achievements
  • Category-specific goal tracking
  • Progress visualization

Financial Reports

  • Monthly spending analysis
  • Category-wise expense breakdown
  • Visual representations using charts
  • Daily spending trends
  • Income vs. expense comparisons

Technical Stack

Component Technology
Backend Spring Boot 3.4.1
Security Spring Security, JWT
Database H2 Database
Build Tool Maven
Charts JFreeChart
API Documentation Swagger/OpenAPI

Getting Started

Clone the Repository

git clone https://github.com/yourusername/personal-finance-manager.git

Navigate to the Project Directory

cd personal-finance-manager

Build the Project

./mvnw clean install

Run the Application

./mvnw spring-boot:run

The application will start on: http://localhost:8080

API Endpoints

User Management

  • POST /api/users/register - Register new user
  • POST /api/users/login - User login
  • GET /api/users/profile - Get user profile

Transactions

  • POST /api/transactions/{userId} - Add new transaction
  • GET /api/transactions/{userId} - Get user transactions
  • PUT /api/transactions/{transactionId} - Update transaction
  • DELETE /api/transactions/{transactionId} - Delete transaction

Savings Goals

  • POST /api/savings-goals/{userId} - Create savings goal
  • GET /api/savings-goals/{userId} - Get user's savings goals
  • GET /api/savings-goals/{goalId}/progress - Get goal progress

Reports

  • GET /api/reports/monthly/{userId}/charts/spending-category - Get category-wise spending chart
  • GET /api/reports/monthly/{userId}/charts/spending-trend - Get spending trend chart

Security

The application implements comprehensive security measures:

  • JWT-based authentication
  • Password encryption
  • Secure endpoints
  • CORS configuration
  • Session management

Development

Prerequisites

  • Java 17 or higher
  • Maven 3.6 or higher
  • IDE (IntelliJ IDEA recommended)

Configuration

Modify application properties in src/main/resources/application.properties

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages