This a demo project for showcasing Akka Streams in Scala. The name "Reactive Tweets" comes from the equal named Quickstart Guide. It is extended to load with more Sources, Flows and Sinks to get more practical hands-on experience.
To make the exploration more interesting I implemented a Twitter Client to load real-time Twitter data.
In order to experiment with Akka Streams on your own you can simply clone this project.
git clone https://github.com/janikdotzel/reactive-tweets.gitThese files are the ones you should look up and modify:
- Stream Components: Building blocks for your Stream. Modify the existing ones or create your own.
- Main: Creation of runnable graphs & Running the app
In order to use the request data from the official Twitter API you need to get a Bearer Token. Please visit https://developer.twitter.com for more information.
After you got your Bearer Token you need to add it to your environment variables.
export BEARER_TOKEN=<PERSONAL BEARER TOKEN>There are currently 3 tasks which you can solve on your own. To get started with each task, checkout the respective git tag.
git checkout task-1
git checkout task-2
git checkout task-3
git checkout solution
- Akka Documentation of Reactive Tweets: https://doc.akka.io/docs/akka/current/stream/stream-quickstart.html#reactive-tweets
- Official Twitter API V2: https://developer.twitter.com/en/docs/twitter-api
- Akka Stream Operators: https://doc.akka.io/docs/akka/current/stream/operators/index.html
- Twitter Authentication explained: https://developer.twitter.com/en/docs/authentication/oauth-2-0/bearer-tokens