Bus Tracker is an application that lets you monitor Warsaw's public transportation vehicles while you are waiting on a stop.
To run the backend side of the app use
docker-compose up
The frontend (services/app/index.html) can be accessed by web browser.
Just type the name of your stop into the input box and after a few seconds you will see vehicles moving on a map.
There are four components.
ztm-hookis a simple Python script that polls ZTM API and writes vehicles' location data to the topicztm-inputrun by Kafkakafka-streamis a Java application using Kafka Streams that reads messages fromztm-input, augments them with vehicles' speed and bearing and finally writes to theztm-outputtopictrackeris a Go based server side application providing two REST API endpoints to the data collected fromztm-outputappis basic client side JavaScript application showing vehicles on the map