Skip to content

eliiza/challenge-fraud-detection

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 

Repository files navigation

Eliiza Fraud Detection Challenge

Intro

In this challenge you're given data containing some credit card transactions.

Challenge

Because the data is streaming through a Kafka topic, the challenge consists in tapping into that topic, consuming the credit card transactions and identifying the credit card numbers subject to potential fraud when the sum of expenses within any span of 24 hours exceeds $100.00.

How to solve the challenge

For this challenge you can use any language you like. You will most probably use a Scala, Python, Java or JavaScript (Node.js) Kafka client; we have no preference at all. We provide a docker-compose.yml file containing images with a Kafka environment (1 ZooKeeper, 1 Kafka broker and a Schema Registry), so you can run Kafka locally with the following specs:

  • bootstrap server: localhost:9092
  • credit card transactions topic name: au.com.eliiza.cctransactions.avro
  • Schema Registry URL: http://localhost:8081

Note that the topic contains data in Avro format, serialised with Confluent's Wire Format. To inspect the schema for the credit card transactions topic, head to the following Schema Registry endpoint: http://localhost:8081/subjects/au.com.eliiza.cctransactions.avro-value/versions/latest/schema.

Tips:

  • By using a deserialiser from Confluent (there are some available here), you don't need to bother with the wire format's details, and can read an event value straight into a GenericRecord or a SpecificRecord.
  • The Kafka Streams library offers Sliding Windows to help process the above topic, if you fancy that library.

Starting the Kafka environment with Docker Compose

First of all, install Docker Compose for your system. Then:

$ git clone https://github.com/eliiza/challenge-fraud-detection.git myrepo
$ cd myrepo
$ docker-compose up

After all the images are downloaded and Kafka is up and running, you should start seeing our service producing credit card transactions (and other events into topics not needed by this challenge). Once you solve the challenge, send us your code and the set of credit cards presenting potential fraud.

Good luck!!!

About

Data Engineering challenge using Kafka

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published