#BirdWatch
BirdWatch is a reactive web application for visualizing a stream of live Tweets. It came about as a playground for trying out different ways of solving the same problem, which is subscribing to the Twitter Streaming API from a server side application and then allowing a client-side single-page application to perform a live search, meaning that a search on historic tweets 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
-
Clojure application communicating with the client over Websockets. The client side application is written in ClojureScript using Om for rendering. Read more
Installation instructions are to 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. This one might still be useful as it covers building a ClojureScript client using Server-Sent Events.
An article about the all-Clojure version is currently in the works.
Copyright © 2014 Matthias Nehlsen. Distributed under the Apache License, Version 2.0. See separate LICENSE file.