Personal Project
Finace Manager
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.
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











