Intelli Wealth is a modular personal finance engine built with Spring Boot. It provides a comprehensive set of RESTful APIs to track wealth, manage liabilities, calculate financial health metrics, and generate AI-driven insights via the custom Fynix engine.
This repository hosts the backend core, focusing on domain-driven design and a clean "Package-by-Feature" architecture.
Current Status: 🚧 Active Development. (Security layers and Frontend integration are planned for future updates).
The application exposes a fully documented REST API via Swagger UI.
The backend is divided into distinct functional domains as seen in the API interface:
- Fynix AI: Intelligent financial chat and summary generation.
- Wealth Management: Net worth aggregation, Asset tracking, and Debt management.
- Protection: Insurance policy tracking and Contingency (Emergency Fund) planning.
- Core Finance: Budgeting, Goals, Transactions, and Subscriptions.
- Financial Chatbot:
FinancialChatControllerhandles context-aware queries about user data. - Smart Summaries: Automated extraction of key financial metrics and recommendations.
- Prompt Engineering: Custom
FynixPromptBuilderandAiJsonExtractorfor structured AI responses.
- Insurance Engine: Manages Life, Health, and General insurance with specific attributes (frequency, premium, coverage).
- Contingency Planning: Specialized logic to calculate financial survival capability in months based on liquid assets.
- Asset & Debt Tracking: Dedicated controllers for managing Assets (
Real Estate,Gold,Mutual Funds) and Liabilities. - Net Worth Engine: Real-time calculation service that aggregates data from Asset and Debt repositories.
- Attribute Rules: Dynamic validation rules for different asset/debt categories.
- Smart Budgeting: Compare actual spending against defined budgets.
- Goal Tracking: Monitor progress toward specific financial targets (e.g., "Buy a House").
- Subscription Manager: Tracks recurring payments to identify fixed monthly costs.
| Component | Technology |
|---|---|
| Language | Java 21 |
| Framework | Spring Boot 3.x |
| Database | PostgreSQL |
| AI Integration | Custom AI Service / Ollama (Local) |
| Documentation | Swagger / OpenAPI 3.0 |
| Build Tool | Maven |
| Architecture | Modular Monolith (Package-by-Feature) |
The project adopts a Package-by-Feature (vertical slicing) architecture, where each feature encapsulates its controllers, services, repositories, DTOs, and domain logic. This design ensures high cohesion, clear boundaries, and scalable growth as the application evolves.
src
└── main
└── java
└── com.example.intelliwealth
│
├── config
│ ├── AIConfig.java
│ ├── CurrencySerializer.java
│ ├── SwaggerConfig.java
│ └── WebConfig.java
│
├── exception
│ ├── ApiError.java
│ ├── GlobalExceptionHandler.java
│ └── GoalNotFoundException.java
│
├── core
│ ├── budget
│ │ ├── Budget.java
│ │ ├── BudgetController.java
│ │ ├── BudgetService.java
│ │ ├── BudgetRepository.java
│ │ ├── BudgetMapper.java
│ │ ├── BudgetRequestDTO.java
│ │ ├── BudgetResponseDTO.java
│ │ └── BudgetSummaryDTO.java
│ │
│ ├── goal
│ │ ├── Goal.java
│ │ ├── GoalController.java
│ │ ├── GoalService.java
│ │ ├── GoalRepository.java
│ │ ├── GoalRequestDTO.java
│ │ ├── AddFundsRequestDTO.java
│ │ ├── GoalResponseDTO.java
│ │ └── GoalStatsResponseDTO.java
│ │
│ ├── subscription
│ │ ├── Subscription.java
│ │ ├── SubscriptionController.java
│ │ ├── SubscriptionService.java
│ │ ├── SubscriptionRepository.java
│ │ ├── SubscriptionMapper.java
│ │ ├── SubscriptionRequestDTO.java
│ │ └── SubscriptionResponseDTO.java
│ │
│ └── transaction
│ ├── Transaction.java
│ ├── TransactionController.java
│ ├── TransactionService.java
│ ├── TransactionsRepository.java
│ ├── TransactionMapper.java
│ ├── TransactionRequestDTO.java
│ └── TransactionResponseDTO.java
│
├── fynix
│ ├── controller
│ ├── dto
│ ├── model
│ ├── repository
│ ├── service
│ └── util
│
├── protection
│ ├── contingency
│ │ ├── ContingencyController.java
│ │ ├── ContingencyService.java
│ │ └── ContingencyReportDTO.java
│ │
│ └── insurance
│ ├── controller
│ ├── service
│ ├── repository
│ ├── dto
│ ├── mapper
│ ├── domain
│ └── validation
│
└── wealth
├── asset
│ ├── controller
│ ├── service
│ ├── repository
│ ├── dto
│ ├── mapper
│ ├── domain
│ ├── validation
│ └── exception
│
├── debt
│ ├── controller
│ ├── service
│ ├── repository
│ ├── dto
│ ├── mapper
│ ├── domain
│ ├── validation
│ └── exception
│
└── networth
├── NetWorthController.java
├── NetWorthService.java
└── NetWorthResponseDTO.java
