Chatire icon indicating copy to clipboard operation
Chatire copied to clipboard

:speech_balloon: Real time Chat application built with Vue, Django, RabbitMQ and uWSGI WebSockets.

chatire

Real time Chat application built with Vue, Django, RabbitMQ and ~~uWSGI WebSockets~~ Django channels.

chatire gif demo

This repo contains the code for my tutorial Realtime django: Build a Chat application with Django, RabbitMQ and Vue.js

The tutorial is split into several parts:

Running the code

Vue

Navigate to the chatire-frontend directory:

cd chatire-frontend

Install the dependencies from npm:

npm install

Run the webpack dev server (starts on localhost:8080):

npm run dev

Django

To get the Django server running:

Install the requirements from pip

pip install -r requirements.txt

Run django's development server (starts on localhost:8000):

python manage.py runserver

RabbitMQ

Chatire uses RabbitMQ to bridge the django application and the ~~uWSGI WebSocket server~~. The installation process varies. Check the docs on how you can install it for your platform.

WebSocket server

~~Chatire uses uWSGI as it's websocket server, if you've already installed the requirements from requirements.txt if should already be installed.~~

~~You can start it with~~

uwsgi --http :8081 --gevent 100 --module websocket --gevent-monkey-patch --master

~~This starts uwsgi with 100 gevent (greenlet) threads. You can increase it if you want to.~~

You can start the channels local server with:

python manage.py runserver 8081

Acknowledgements

Thanks to @inhit for the Logo!