BirdWatch is a reactive web application for visualizing a stream of live tweets. It started out as a playground for trying out different ways of solving the same problem. There is a server-side application which subscribes to the Twitter Streaming API and then allows a client-side single-page application to perform a live search, meaning that a search on historic tweets up until now will be performed and then updated as new tweets matching the same search are retrieved.
On the server side, there are currently two different implementations:
Play Framework (Scala) application with communication over Server-Sent Events and multiple clients: AngularJS, ReactJS and ClojureScript/Om. Note that the ClojureScript/Om client is not actively maintained as the Clojure development has moved to the application below. Read more
Installation instructions can be found with the respective implementations.
There are a couple of blog posts covering this application. The best starting point for the Play application is the BirdWatch Explained article covering both the server side and the initial client using AngularJS. The BirdWatch: AngularJS vs. ReactJS article covers the ReactJS client. This article builds on the previous one. Then there is the BirdWatch with ClojureScript and Om explained article. This one may still be useful as it covers how to build a ClojureScript client using Server-Sent Events.
A series of articles about the all-Clojure version is currently in the works. Check out matthiasnehlsen.com and subscribe to the newsletter if you want to stay up to date.
YourKit is kindly supporting open source projects with its full-featured Java Profiler. YourKit, LLC is the creator of innovative and intelligent tools for profiling Java and .NET applications. Take a look at YourKit's leading software products: YourKit Java Profiler and YourKit .NET Profiler.
Copyright © 2014 Matthias Nehlsen. Distributed under the GNU GENERAL PUBLIC LICENSE, Version 3. See separate LICENSE file.