Finance-Data-Processing-and-Access-Control-Backend

Finance Data Processing & Access Control Backend

Overview

This project is a backend system for a finance dashboard that manages financial transactions, user roles, and access control.

It demonstrates clean backend architecture, API design, business logic implementation, and role-based authorization.


GitHub Repository

https://github.com/chandu207-cmd/Finance-Data-Processing-and-Access-Control-Backend

đź“„ API Documentation (Swagger UI)

http://localhost:8081/swagger-ui/index.html

Note: The API runs locally. Please follow the setup instructions below to access Swagger UI.


Features

User & Role Management

Transaction Management

Dashboard Summary

Returns structured JSON:

{ “totalIncome”: number, “totalExpense”: number, “balance”: number }

Access Control

Validation & Error Handling


Tech Stack


How to Run

  1. Clone the repository:
git clone https://github.com/chandu207-cmd/Finance-Data-Processing-and-Access-Control-Backend.git
  1. Open in Eclipse / IntelliJ

  2. Run:

FinanceBackendApplication.java
  1. Server runs on:
http://localhost:8081

API Testing (Postman or Swagger UI)

Headers (Required for most APIs)

Key: role
Value: ADMIN / ANALYST / VIEWER

Create Transaction (ADMIN)

POST /transactions

Body:

{
  "amount": 1000,
  "type": "income",
  "category": "salary",
  "date": "2026-04-06",
  "notes": "Monthly salary"
}

Get All Transactions

GET /transactions


Update Transaction (ADMIN)

PUT /transactions/{id}


Delete Transaction (ADMIN)

DELETE /transactions/{id}


Filter by Category

GET /transactions/category/{category}


Dashboard Summary

GET /transactions/summary


Project Structure

controller → API layer  
service → business logic  
repository → database access  
model → entities  
dto → data transfer objects  
exception → global error handling  

Assumptions


Future Improvements


Author

Chandu Misanapu