How bhargavram114/fraud-detection-project works
This is an ATM fraud-detection streaming application. Its main workflow simulates transactions, sends them to Kafka, parses them in a Spark job, applies watermarked fraud rules, and writes alerts to Kafka and Parquet; malformed records go to a dead-letter topic. A separate development job prints alerts to the console. The production job also loads optional dormant-card reference data and exposes a health endpoint. The graph reflects the sampled code and README; unsampled deployment and configuration details are not inferred.
Main entry points: fraud_detection_prod.py Production stream job · fraud_detection.py Development stream job · fraud_rules.py Streaming rule wrappers · transaction_generator.py Transaction simulator
Components 15
Transaction ingestion
- Transaction simulator
producer/transaction_generator.py - Kafka transactions
Streaming processing
- Production stream job
jobs/fraud_detection_prod.py - Development stream job
jobs/fraud_detection.py - Transaction schema
jobs/schemas.py - Streaming rule wrappers
jobs/rules/fraud_rules.py - Fraud transforms
jobs/rules/transforms.py - Dormant-card reference
Alert outputs
- Kafka alerts
- Parquet alert archive
- Kafka dead-letter topic
- Console alert output
Operations
- Runtime configuration
config/app.yaml - Health endpoint
jobs/fraud_detection_prod.py
Other components
- Pipeline operator
Connections 18
- Transaction simulator → Kafka transactions: publishes transactions
producer/transaction_generator.py - Kafka transactions → Production stream job: streams input
README.md - Production stream job → Runtime configuration: loads settings
jobs/fraud_detection_prod.py - Production stream job → Transaction schema: parses records
jobs/fraud_detection_prod.py - Production stream job → Streaming rule wrappers: applies rules
jobs/fraud_detection_prod.py - Streaming rule wrappers → Fraud transforms: delegates transforms
jobs/rules/fraud_rules.py - Production stream job → Dormant-card reference: loads reference
jobs/fraud_detection_prod.py - Production stream job → Kafka alerts: writes alerts
jobs/fraud_detection_prod.py - Production stream job → Parquet alert archive: archives alerts
jobs/fraud_detection_prod.py - Production stream job → Kafka dead-letter topic: routes bad rows
jobs/fraud_detection_prod.py - Production stream job → Health endpoint: starts endpoint
jobs/fraud_detection_prod.py - Kafka transactions → Development stream job: streams input
jobs/fraud_detection.py - Development stream job → Transaction schema: parses records
jobs/fraud_detection.py - Development stream job → Streaming rule wrappers: applies rules
jobs/fraud_detection.py - Development stream job → Console alert output: prints alerts
jobs/fraud_detection.py - Pipeline operator → Transaction simulator: starts generator
README.md - Pipeline operator → Production stream job: starts production job
README.md - Pipeline operator → Development stream job: starts dev job
README.md