Enterprise Finance Management System is a full-stack web application designed to manage company financial transactions efficiently.
It allows administrators to manage all transactions and users, while regular users can view their completed transactions through a secure role-based dashboard.
The system supports file uploads (invoices, receipts, CSV reports), JWT-based authentication, and role-based authorization.
- Stateless authentication using JWT
- Role-based endpoint protection
- Store JWT tokens in HTTPOnly cookies for XSS protection
- Password hashing with BCrypt
- File validation (type + size restriction)
- Protected admin routes
- Moniter the Enterprise transactions on Analytics page
- View Pending transactions along with overdues
- Get alerts for transactions with due less than a month
- Upload supporting files or reciepts (PDF, CSV, JPG, PNG)
- Download uploaded transaction files
- Create new users for other Enterprise Employees
- Change passwords for security
- View and Manage all transactions
- Login with user credentials
- View only completed transactions
- Secure dashboard access
- React.js
- React Router DOM
- Axios
- Bootstrap CSS
- Spring Boot
- Spring Security
- Spring Data JPA (Hibernate)
- JWT (io.jsonwebtoken)
- MySQL Database
- Maven
- Eclipse IDE
project-root/
│
├── frontend/ → React Application
│
├── backend/ → Spring Boot Application
│
└── README.md
- Open Eclipse
- Click File → Import
- Select Existing Maven Project
- Browse and select the
backendfolder - Click Finish
- Open MySQL Workbench
- Connect using your MySQL credentials
- Create a database:
CREATE DATABASE enterprise_finance;Navigate to:
backend/src/main/resources/
You will see:
common_application.properties
application.properties
Open application.properties and update with your MySQL credentials and then,
Save the file.
Right-click the backend project
→ Run As → Spring Boot App
Backend will start on:
http://localhost:8081
Navigate to frontend folder:
cd frontendnpm installIf required, install manually:
npm install react-router-dom axios bootstrapnpm run devFrontend will run on:
http://localhost:5173
- Start MySQL (Workbench)
- Run Backend (Port 8081)
- Run Frontend (Port 3000)
- Login and use the system