/anti-fraud-system-java

This project demonstrates (in a simplified form) the principles of anti-fraud systems in the financial sector.

Primary LanguageJava

Anti-Fraud System

This is the *Anti fraud system project I made myself.

Learning outcomes Create a RESTfull web service using SpringBoot, learn the basics of user authentication and authorization. Get to know the fundamentals of fraud detection and rule-based systems.

This project demonstrates (in a simplified form) the principles of anti-fraud systems in the financial sector. For this project, we will work on a system with an expanded role model, a set of REST endpoints responsible for interacting with users, and an internal transaction validation logic based on a set of heuristic rules.

Transaction Feedback →
Transaction Validity ↓
ALLOWED MANUAL_PROCESSING PROHIBITED
ALLOWED Exception ↓ max ALLOWED

↓ max ALLOWED

↓ max MANUAL

MANUAL_PROCESSING ↑ max ALLOWED Exception ↓ max MANUAL
PROHIBITED

↑ max ALLOWED

↑ max MANUAL

↑ max MANUAL Exception

The formula for increasing the limit:

new_limit = 0.8 * current_limit + 0.2 * value_from_transaction

The formula for decreasing the limit:

new_limit = 0.8 * current_limit - 0.2 * value_from_transaction

Role model

Anonymous MERCHANT ADMINISTRATOR SUPPORT
POST /api/auth/user + + + +
DELETE /api/auth/user - - + -
GET /api/auth/list - - + +
POST /api/antifraud/transaction - + - -
/api/antifraud/suspicious-ip - - - +
/api/antifraud/stolencard - - - +
GET /api/antifraud/history - - - +
PUT /api/antifraud/transaction - - - +



Here's the link to the project: https://hyperskill.org/projects/232

Check out my profile: https://hyperskill.org/profile/344529437