# python-chatapp-django-vue-websocket
**Repository Path**: turing-wu/python-chatapp-django-vue-websocket
## Basic Information
- **Project Name**: python-chatapp-django-vue-websocket
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2025-03-15
- **Last Updated**: 2025-03-15
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# chatire
Real time Chat application built with Vue, Django, RabbitMQ and uWSGI WebSockets Django channels.

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:
- Part 1: [Introduction and Setup](https://danidee10.github.io/2018/01/01/realtime-django-1.html)
- Part 2: [Authentication and User Management](https://danidee10.github.io/2018/01/03/realtime-django-2.html)
- Part 3: [Build an API with django rest framework](https://danidee10.github.io/2018/01/07/realtime-django-3.html)
- Part 4 [Plug the Vue frontend to the django API](https://danidee10.github.io/2018/01/10/realtime-django-4.html)
- Part 5 [uWSGI WebSockets](https://danidee10.github.io/2018/01/13/realtime-django-5.html)
- Part 6 [Extras](https://danidee10.github.io/2018/03/12/real-time-django-6.html)
- Part 7 [Switching to Django channels](https://danidee10.github.io/2021/03/22/realtime-django-7.html)
## Running the code
### Vue
Navigate to the `chatire-frontend directory`:
```bash
cd chatire-frontend
```
Install the dependencies from npm:
```bash
npm install
```
Run the webpack dev server (starts on localhost:8080):
```bash
npm run dev
```
### Django
To get the Django server running:
Install the requirements from pip
```bash
pip install -r requirements.txt
```
Run django's development server (starts on localhost:8000):
```bash
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](https://www.rabbitmq.com/download.html) 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
```bash
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:
```bash
python manage.py runserver 8081
```