Personal Project

Finace Manager

Role

Full Stack Developer

Year

2025

Tech Stack

Spring Boot

Project Overview

A robust, full-stack financial management application designed to provide comprehensive control over personal and shared finances. The system manages core financial transactions (Income/Expense), categorized budgeting, and complex multi-user access for collaborative financial management.

Backend
Java Spring Boot MySQL
Frontend
JavaScript HTML/CSS Bootstrap Chart.js
Integration
PayHere Sandbox

Key Features & Technical Highlights

Role-Based Access Control (RBAC)

Secure multi-user environments via the SharedAccountUser entity, enforcing distinct roles (Owner, Admin, Member) to control account management and transaction access.

Advanced Reporting Engine

Generates real-time financial summaries and professional-quality, customized PDF reports using Thymeleaf for templating, OpenHTMLToPDF for reliable conversion, and JFreeChart for backend-generated visual charts embedded via Base64 data URIs.

Asynchronous Processing

Utilizes the @EnableAsync mechanism to execute resource-intensive tasks, such as email invitation sending, in a separate thread—preventing UI freeze and ensuring a highly responsive user experience.

Structured Architecture

Implemented a clear layered architecture in Spring Boot, separating concerns into Controller, Service, and Repository layers for high maintainability and testability.

Real-Time Notifications

Delivers instant updates through WebSocket connections, providing users with live notifications for critical financial events. Complemented by email notifications using spring-boot-starter-mail for important alerts and account activity summaries.

Email Integration

Seamless email delivery system powered by spring-boot-starter-mail, sending automated notifications for account invitations, transaction alerts, budget thresholds, and comprehensive financial reports directly to users' inboxes.

Project Screenshots