Realtime API Demos – Overview List

Check out all these realtime demos on Realtime Hub and other sites:

  1. Todo List – Django/React
  2. Leaderboard – RethinkDB, Django, React
  3. Headline – Django
  4. Chat App – Django Eventstream

Todo List – Django/React

This demo is a live version of TodoMVC, using HTTP long-polling for updates.  It demonstrates a realtime permutation of a ‘todo’ app.

pushpin fanout django react todo app

 

Leaderboard – RethinkDB, Django, React

RethinkDB is a modern NoSQL database that makes it easy to build realtime web services. One of its standout features is called Changefeeds. Applications can query tables for ongoing changes, and RethinkDB will push any changes to applications as they happen. The Changefeeds feature is interesting for many reasons:

  • You don’t need a separate message queue to wake up workers that operate on new data.
  • Database writes made from anywhere will propagate out as changes. Use the RethinkDB dashboard to muck with data? Run a migration script? Listeners will hear about it.
  • Filtering/squashing of change events within RethinkDB. In many cases it may be easier to filter events using ReQL than using a message queue and filtering workers.

This makes RethinkDB a compelling part of a realtime web service stack. In this article, we’ll describe how to use RethinkDB to implement a leaderboard API with realtime updates. Emphasis on API. Unlike other leaderboard examples you may have seen elsewhere, the focus here will be to create a clean API definition and use RethinkDB as part of the implementation. If you’re not sure what it means for an API to have realtime capabilities, check out this guide.

rethinkdb fanout pushpin realtime api example app

Read the rest of the article here.

 

Headline – Django

Django is an awesome framework for building web services using the Python language. However, it is not well-suited for handling long-lived connections, which are needed for realtime data push. In this article we’ll explain how to pair Django with Fanout Cloud to reach realtime nirvana.

How it works

The Fanout Cloud gives web services realtime superpowers. The architecture is similar to a traditional caching CDN, except that Fanout Cloud is designed for pushing data rather than caching. Django applications can run behind Fanout Cloud to easily support realtime behaviors such as WebSockets, HTTP streaming, and HTTP long-polling.

djfanout

The django-grip library is used to communicate with Fanout Cloud. “GRIP” is the name of Fanout’s open protocol for communication between Fanout Cloud and the backend application.

Read the rest of the article here,

 

Chat App – Django Eventstream

A simple chatroom built with Django with updates that are sent using HTTP streaming.

Resources

GitHub Repo

Live App


Comments

There are no comments yet

Leave a comment