Have you heard of Apache Kafka? AWS Kinesis? Azure EventHubs?
There's no one true way to build software, so when we go to build or evolve a system we tend to either stick to patterns we haven't used yet (safe!) or try new things (we have to start somewhere!).
The intent of this project is to build just enough of a simulation that we can build exercises to try out different patterns for consuming events on something larger than a Hello World app but less dangerous than Production.
The simulation is coming along, but still needs some front-end pieces before we get into writing exercises and more detailed usage instructions.
Some sample exercises:
- Build a realtime warehouse shipping view
- Build a realtime revenue report
- Email alerts when a production order is complete
- Build an anonymized planning view customers could see
- Track (and present) aggregate production data
- And more...
- Download or
git clonethis repository - Follow the Setup below
- Run the simulation with exercise 1:
npm run all 1 - Open up Exercise 1, make your own project in the language of your choice, and get started!
- Run
docker-compose up - If you're on windows and using older docker on virtualbox: ...something...
- Open http://localhost:9000 to open the admin interface (use the env ip if this doesn't resolve)
- In admin: A. "Add Cluster", Kafka Version >= 0.9.0.1
Currently only supports a basic config, numbered scenarios in the future.
npm run all
- Run tests like a caveman:
npm test - Run tests like magic:
- Install wallaby
- Watch wallaby run like magic...
Note: Jest configs need to be present in /web/package.json and /package.json to llow local and wallaby tests to run