BACK TO PROJECTS LIST
BACKEND · REST API

Finance Backend System

RESTful Spring Boot backend for finance management with JWT auth, role-based access, transactions, and dashboard analytics.

Java Spring Boot Spring Security JWT PostgreSQL JPA/Hibernate MapStruct Swagger Maven

What Is This Project?

The Finance Backend System is a RESTful Spring Boot application designed for end-to-end financial data management. It supports role-based workflows where Admins manage users and transactions, Analysts handle expense operations, and Viewers access dashboard insights.

The system is built using clean architecture with DTOs, MapStruct mappers, layered services, and JWT-based security. It ensures secure, scalable, and maintainable backend design.

It provides advanced features like pagination, filtering, soft delete, and user-wise financial analytics including income, expenses, and monthly trends.

JWT Security

Stateless authentication with role-based access control (ADMIN, ANALYST, VIEWER).

User Management

Admin-controlled user creation, role updates, and status management.

Transaction System

Full CRUD with filtering, pagination, and soft delete support.

Analytics Dashboard

Income, expense, category breakdown, and monthly financial insights.

Endpoints

Authentication APIs
PUBLIC
  • POST /login — JWT authentication
AUTH
User Controller (Admin)
ROLE: ADMIN
  • POST /users — Create user
  • GET /users — Get all users
  • GET /users/{id} — Get user
  • PUT /users/{id}/role — Update role
  • PUT /users/{id}/status — Update status
USER
Transaction Controller
ROLE: ADMIN, ANALYST
  • POST /transactions — Create
  • GET /transactions — Paginated fetch
  • GET /transactions/{id}
  • PUT /transactions/{id}
  • DELETE /transactions/{id} — Soft delete
  • GET /Filter by type & category
TXN
Dashboard Controller
ALL ROLES
  • GET /dashboard/summary — income/expense
  • GET /dashboard/category-wise
  • GET /dashboard/monthly-dashboard
DATA

Explore Project