Kathford International College of Engineering and Management
Balkumari, Lalitpur, Nepal
Project Report
on
Smart Financial Decision Support System (SFDSS)
Submitted To:
Department of Information Technology
Kathford International College of Engineering and Management
In partial fulfillment of the requirement for the Bachelor Degree in Computer
Science and Information Technology
Submitted By:
Biraj Maharjan (28476/078)
January 2025
ABSTRACT
Personal financial management often suffers from excessive data volume and a lack of
actionable insight, leaving users overwhelmed by raw transaction history. To address this,
the Smart Financial Decision Support System (SFDSS) was developed as an intelligent,
multi-tier platform that transitions from simple record-keeping to proactive financial
guidance. The system integrates a [Link] frontend, a Spring Boot backend, and a
MongoDB NoSQL database to ensure a highly responsive and scalable data-driven
experience. A distinctive feature of SFDSS is its specialized Knowledge-Driven Decision
Support System (DSS), which utilizes Fuzzy Logic to model the inherent subjectivity and
uncertainty in financial assessments, such as defining "high" spending or "adequate"
savings. By applying Mamdani-style inference to income and expense ratios, the system
generates a human-like "Financial Health Score" and prescriptive recommendations.
SFDSS demonstrates the effective synergy of advanced database management and
intelligent decision support, providing users with a data-driven path toward long-term
financial [Link] a scalable software solution that addresses real-world organizational
challenges.
Keywords: Decision Support System (DSS), Fuzzy Logic, MongoDB, NoSQL,
Financial Analytics, Spring Boot, Power BI, Prescriptive Analytics, Personal Finance
Management.
i
TABLE OF CONTENTS
ABSTRACT.......................................................................................................................... i
LIST OF FIGURES ........................................................................................................... iii
INTRODUCTION ............................................................................................................... 1
PROBLEM STATEMENT .................................................................................................. 2
OBJECTIVES ...................................................................................................................... 2
SYSTEM ANALYSIS ......................................................................................................... 3
Requirement Analysis: ..................................................................................................... 3
SYSTEM DESIGN .............................................................................................................. 4
SYSTEM OVERVIEW ................................................................................................... 4
SYSTEM ARCHITECTURE .......................................................................................... 5
Project Workflow using Activity Diagram ...................................................................... 6
Class Diagram .................................................................................................................. 7
IMPLEMENTATION DETAILS ........................................................................................ 8
CONCLUSION .................................................................................................................. 10
APPENDICES ................................................................................................................... 11
ii
LIST OF FIGURES
Figure 1 Use Case Diagram of SFDSS ............................................................................. 3
Figure 2 System Overview Diagram of SFDSS ............................................................... 5
Figure 3 activity Diagram of SFDSS ................................................................................ 6
Figure 4 Class Diagram of SFDSS .................................................................................... 7
iii
INTRODUCTION
Personal financial management has evolved from simple manual ledger entries to complex
digital tracking. However, most modern applications focus primarily on data entry and
basic summarization, leaving the burden of analysis and decision-making on the user.
Managing large volumes of transaction data—including various categories of income and
expenses requires robust database solutions that can handle semi-structured data and
provide quick retrieval.
A Decision Support System (DSS) is a computerized program used to support
determinations, judgments, and courses of action in an organization or a business. In the
context of personal finance, a DSS can process historical data to help users understand their
spending patterns and predict future financial risks. Unlike traditional systems, a DSS
provides tailored advice rather than just raw numbers.
Financial decisions are often influenced by multiple conflicting factors and uncertainty. For
instance, determining whether a spending level is "high" depends on the relative income
and savings of the individual. Traditional "hard" logic (Boolean if-else) often fails to
capture these nuances. Intelligent systems, particularly those using fuzzy logic, are
necessary to model human-like reasoning and provide more realistic and flexible financial
guidance.
1
PROBLEM STATEMENT
Although many expense tracking applications are widely used, users still face significant
challenges in effectively managing their personal finances. Analyzing large volumes of
transaction data over extended periods can be overwhelming, while most existing systems
focus only on presenting past financial information rather than offering intelligent,
actionable recommendations. Moreover, subjective financial concepts such as low savings
or risky spending vary from user to user, and rigid threshold-based approaches fail to handle
this uncertainty and provide personalized decision support.
OBJECTIVES
• Implement a knowledge-driven DSS that processes user data to provide meaningful
financial health indicators.
• Utilize MongoDB to store and manage semi-structured financial data efficiently,
leveraging its horizontal scalability and flexible schema.
• Use fuzzy logic to model the uncertainty in financial ratios and generate human-
like classifications (e.g., Low, Medium, High risk)
2
SYSTEM ANALYSIS
Requirement Analysis:
The following Use Case diagram shows the functional requirements of this project.
Figure 1 Use Case Diagram of SFDSS
3
SYSTEM DESIGN
SYSTEM OVERVIEW
The SFDSS is a multi-tier application composed of a user-facing dashboard, a management
backend, and an intelligent logic engine. The system allows users to securely register, log
in, and record their financial transactions. Once data is entered, the DSS engine analyzes
the aggregate data (total income vs. total expenses) to compute a financial health score.
Major System Modules:
1. Authentication Module: Handles user registration and secure login.
2. Transaction Management: Allows users to add, update, and delete income/expense
records.
3. DSS Analytics Engine: A microservice that applies fuzzy logic to calculate health scores
and risk levels.
User Interaction Flow:
1. User enters transaction data via the [Link] frontend.
2. The Spring Boot backend persists the data in MongoDB.
3. The user requests a financial health check.
4. The backend aggregates transaction data and sends it to the Fuzzy Logic service.
5. The service returns a health score and recommendations, which are displayed on the
dashboard.
4
SYSTEM ARCHITECTURE
The SFDSS follows a microservices-inspired architecture to ensure modularity and ease of
maintenance. The architecture of system is as follows:
- Frontend ([Link]): Provides a modern, responsive React-based interface. It handles
client-side routing and state management.
- Backend (Spring Boot): Acts as the central orchestrator, providing RESTful APIs for the
frontend and interacting with the database and DSS service.
- Database (MongoDB): A NoSQL database used for its flexibility in handling transaction
documents without a fixed schema.
- DSS and Fuzzy Logic Module (Python/FastAPI): A specialized service using the `scikit-
fuzzy` library to perform mathematical fuzzy inference.
Figure 2 System Overview Diagram of SFDSS
5
Project Workflow using Activity Diagram
Figure 3 activity Diagram of SFDSS
6
Class Diagram
Figure 4 Class Diagram of SFDSS
7
IMPLEMENTATION DETAILS
Frontend Implementation ([Link])
The frontend is built with [Link], utilizing Tailwind CSS for styling and Lucide-React for
iconography.
- Dashboard: A comprehensive view showing the Health Score, recent transactions, and a
summary of total income/expenses.
- Forms: Validated input forms for manual entry of transactions.
- State Management: React hooks (useState, useEffect) are used to manage local state and
interact with the backend API.
Backend Implementation (Spring Boot)
The backend follows the standard Spring Boot architecture:
- Controller Layer:Defines endpoints such as `TransactionController` for CRUD and
`DssController` for recommendations.
- Service Layer: Contains business logic, such as aggregating transaction data before
sending it to the DSS engine.
- Repository Layer: Uses `Spring Data MongoDB` to interact with the NoSQL database.
- DSS Client: A RestTemplate-based client that communicates with the Python FastAPI
microservice.
Decision Support System
The SFDSS is classified as a Knowledge-Driven DSS. it utilizes a set of predefined rules
and mathematical models to provide recommendations.
8
Rule-Based Decision Making:
The system uses a set of "If-Then" rules to map financial ratios to risk levels. These rules
are stored within the DSS engine logic.
Sample Decision Rules:
- Rule 1: IF Expense Ratio is **High** AND Savings Ratio is Poor THEN Risk is High
(Recommend immediate spending cuts).
- Rule 2:IF Expense Ratio is Low AND Savings Ratio is Good THEN Risk is Low
(Recommend investment options).
- Rule 3: IF Expense Ratio is Medium AND Savings Ratio is Average THEN Risk is
Medium (Recommend monitoring non-essential spending).
This rule-based approach ensures that the advice given is consistent and based on sound
financial principles (e.g., the 50/30/20 rule).
Fuzzy Logic Implementation
Fuzzy logic is the cornerstone of the SFDSS's intelligence. It allows the system to deal with
the "gray areas" of financial data.
In Boolean logic, an expense ratio of 0.49 might be "Low" while 0.51 is "High". This abrupt
change does not reflect reality. Fuzzy logic allows a value to have degrees of membership
in multiple sets simultaneously (e.g., a ratio can be 20% "Medium" and 80% "High").
Input Variables:
1. Expense Ratio: (Expenses / Income).
2. Savings Ratio: (Savings / Income).
Membership Levels:
9
- Expense Ratio: Low (0 - 0.5), Medium (0.3 - 0.7), High (0.5 - 1.0).
- Savings Ratio: Poor (0 - 0.2), Average (0.1 - 0.3), Good (0.2 - 1.0).
CONCLUSION
The SFDSS project successfully demonstrates the integration of an Advanced Database
Management System (MongoDB) with a Decision Support System (Fuzzy Logic Engine).
The system provides more than just data tracking; it offers intelligent, personalized
financial guidance. The use of NoSQL technology ensured that the system could handle
flexible data models, while the DSS provided a significant value-add for the end user.
10
APPENDICES
11
12