Back to Senior Level

Kafka Streams


Prerequisite

  • Apache Kafka 0.10+ with Kafka Streams
  • Confluent Schema Registry
  • Java 8+ or Scala
  • Docker Compose

Requirements

Build a Kafka Streams application that continuously computes the latest Top 5 movies based on box office sales. Ticket sales and their associated movies should be added to two distinct Kafka topics through an exposed REST API. A Kafka Streams application should then join the data in each topic and expose a REST API to query interactively.

  • Use the Kafka topics movie-feed and ticket-sales
  • The computed Top 5 movies should be maintained in a continuously updated state store
  • Create a script or daemon service that will automatically publish new ticket sales and movies using the REST API
  • Write a cURL statement that can be used to query the Top 5 movies from the REST API

Deliverable

  • A docker-compose.yml file that we can use to run the app locally
  • Unit and/or integration tests
  • A great README with instructions on how to run everything locally
  • A GitHub repo with read permissions given to GitHub users rafty8s,bsneider, omnipresent07, and barakstout (how to invite collaborators)