This Unit Tested Strongly Typed Spark Scala application is a sort of a simulation of a production application usually used in a financial services sector.
The idea is:
- Read declined credit/debit card transactions from a Kafka topic
- Read customer data from MySQL table (not complete yet)
- Read rules table from MySQL table (not complete yet)
- Enrich the transaction data with all required columns
- Perform some analysis like total declines per decline_code
- Write results to MySQL table, Kafka topic, or console based on the account_type
This is useful if you want to take some near real time actions on the declines. Example: You can send a notification to the customer's card mobile app informing him of the reason for the decline.