Giter VIP home page Giter VIP logo

tornado-redis-chat's Introduction

Tornado-Redis-Chat

A mutli-room chat application based on Tornado and Redis

This is an example of a mutli-room chat application based on the asynchronous web framework Tornado. It uses Redis Pup/Sub feature as a message queue to distribute chat messages to multiple instances in a mutli-process setup. This way you can run this application in mutliple instances behind a load balancer like ninx. It uses brukva as asynchronous Redis client. Client-Server communication is based on websockets.

Note: Please note that this is just an example project for demonstration purpose only. It is little tested and missing important features like authenticated websockets, input validation and so on. It is intended to show how to build a scalable real-time web application with Tornado.

Example

You can try out a running demo of this application here: tornado-redis-chat.herokuapp.com

Requirements and Setup

First of all you need Redis:

sudo apt-get install redis-server

Next you need the following python packages:

sudo pip install tornado
sudo pip install git+https://github.com/evilkost/brukva.git

Finally clone this repository:

git clone https://github.com/nellessen/Tornado-Redis-Chat.git chat
cd chat

Run Application

You can run the application on a specific port like that:

python app.py --port=8888

Open localhost:8888 in your browser and see the result!

tornado-redis-chat's People

Watchers

James Cloos avatar Auda X avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.