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.
|
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