/Chatire

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

Primary LanguageJavaScript

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!