Build a Real Time Activity Stream on Cloud Foundry with Node.js, Redis and MongoDB 2.0 – Part III

by September 11, 2012

In Part II of this series, we covered the architecture needed for persisting the Activity Streams to MongoDB and fanning it out in real-time to all the clients using Redis PubSub.

Since then, some exciting new Node.js features for Cloud Foundry were launched. In addition, the MongoDB version on Cloud Foundry has been upgraded to 2.0.
In this blog post we will cover how to:

Use Mongoose-Auth to store basic user information, including information from Facebook, Twitter, and Github, and how we made this module with native dependencies work on Cloud Foundry
Use Mongo GridFS and ImageMagick to store user uploaded photos and profile pictures
Perform powerful stream filtering, thanks to new capabilities exposed in MongoDB 2.

Building a Real-Time Activity Stream on Cloud Foundry with Node.js, Redis and MongoDB–Part II

by June 5, 2012

In Part I of this series, we showed how to start from the node-express-boilerplate app for real-time messaging and integration with third parties and move towards building an Activity Streams Application via Cloud Foundry. The previous app only sent simple text messages between client and server, but an Activity Streams Application processes, aggregates and renders multiple types of activities. For this new version of the application, my requirements were to show the following:

User interactions with the app running on
Custom activities created by users on the app’s landing page
User activities from GitHub such as creating repositories or posting commits

For this reason, I decided to use Activity Strea.

Building a Real Time Activity Stream on Cloud Foundry with Node.js, Redis and MongoDB – Part I

by May 17, 2012

Cloud Foundry provides developers with several choices of frameworks, application infrastructure services and deployment clouds. This approach to providing a platform as a service enables the fast creation of useful cloud applications that take advantage of polyglot programming and multiple data services. As an example of how this enables us to be more productive, I was able to use Node.js, Redis, and MongoDB to create an Activity Streams application in a short time, despite the fact that I mainly develop Web Applications in Ruby. Based on the developer interest after a demo of this application at NodeSummit 2012 and MongoSF 2012,  I was inspired to do a 3 part blog series that fully details the creation, deployment, and scaling of this application on