Credit Score Analysis Tool is a project developed for Swedbank in Sweden. The primary objective is to automate the credit score evaluation process by integrating data from various sources, including credit bureaus and banking transaction records. This tool provides real-time credit scoring, predictive analytics based on customer behavior, and detailed reporting features for bank staff. It is designed using a microservices architecture, ensuring scalability and efficient management of different service components.
- Action: A bank officer logs into the system through the User Interface. Only bank officers can access the application and serve users.
- Process:
- The User Management Service handles the login request, authenticating user credentials against the database.
- Upon successful authentication, an access token (using OAuth) is generated for secure sessions.
- For any API request, the access token is sent to the server for authorization.
- Action: The bank officer initiates a credit score check for a client.
- Process:
- The Data Collection Service gathers financial data from internal databases (account and loan histories) and external credit bureaus (third-party systems).
- This service validates and preprocesses the data (e.g., normalizing formats, removing duplicates) to prepare it for analysis.
- Action: Processed data is forwarded to the Credit Scoring Service.
- Process:
- The Credit Scoring Service applies a scoring model, which may include statistical algorithms and machine learning to evaluate credit risk based on historical data.
- The resulting credit score and detailed analytics are sent to the Report Service.
- Action: Generation of a credit report based on the calculated score.
- Process:
- The Report Service fetches the score and analysis from the Credit Scoring Service.
- It compiles a detailed credit report, which may include recommendations or flags for high-risk factors.
- The report is made available to the bank officer via the UI and can also be sent to other stakeholders via email using Java email service.
- All data transactions and user actions are logged and can be seen on Splunk (Logging Tool).
- All interactions between the client (browser) and the microservices go through the Spring Cloud Gateway, which routes requests, handles load balancing, and provides an additional layer of security.
- For real-time data updating operations, such as credit score calculation, Kafka is used.
To set up the Credit Score Tool locally, follow these steps:
-
Clone the Repository:
git clone https://github.com/yourusername/credit-score-tool.git
-
Navigate to the Project Directory:
cd credit-score-tool
-
Set Up the Database:
- Install MySQL and create a database for the project.
- Update the database configuration in the
application.properties
file.
-
Install Dependencies:
- Use Maven or Gradle to install project dependencies.
mvn clean install
or
gradle build
-
Run the Services:
- Start each microservice using your preferred method (IDE, command line, etc.).
- Ensure that all necessary services like Kafka, Redis, and Splunk are running.
-
Access the Application:
- Once all services are up, you can access the application via
http://localhost:8080
.
- Once all services are up, you can access the application via
To use the Credit Score Tool, follow these steps:
- Login: A bank officer logs into the system using their credentials.
- Initiate Credit Score Check: Select a client and initiate a credit score check.
- Review Reports: Access the generated credit report and analytics through the UI. Reports can also be sent via email to relevant stakeholders.
- Backend: Java
- Database: MySQL
- Cache: Redis
- Logging: Log4j2, Splunk
- Messaging: Kafka
- API Gateway: Spring Cloud Gateway
For any inquiries or support, please contact:
Parth Sharma
Email: parthsharma@csu.fullerton.edu