https://github.com/dhedegaard/webchat
A simple long-polling based solution to chat in a browser, implemented in django using React for the frontend.
https://github.com/dhedegaard/webchat
django docker polling python react typescript webchat yarn
Last synced: 3 months ago
JSON representation
A simple long-polling based solution to chat in a browser, implemented in django using React for the frontend.
- Host: GitHub
- URL: https://github.com/dhedegaard/webchat
- Owner: dhedegaard
- Created: 2014-07-07T14:51:36.000Z (almost 12 years ago)
- Default Branch: master
- Last Pushed: 2025-07-22T15:41:38.000Z (11 months ago)
- Last Synced: 2025-07-22T17:36:27.988Z (11 months ago)
- Topics: django, docker, polling, python, react, typescript, webchat, yarn
- Language: Python
- Homepage:
- Size: 1.06 MB
- Stars: 7
- Watchers: 2
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Webchat #
[](https://travis-ci.org/dhedegaard/webchat)
[](https://coveralls.io/r/dhedegaard/webchat?branch=master)
[](https://requires.io/github/dhedegaard/webchat/requirements/?branch=master)
[](https://www.codacy.com/app/dhedegaard/webchat)
A simple Django app for doing webchat over HTTP, the frontend is implemented in React using Typescript, and uses the fetch API for long polling.
## For running the Django part of the project
Make sure you've got a recent python (3.4+, 2.7 not supported by Django 2.0+) installed, with `pip` and `virtualenv`
Usually for developing, I do something like:
```
$ virtualenv venv
$ source venv/bin/activate
(venv) $ pip install -r requirements.txt
(venv) $ python manage.py runserver
```
For production usage you'll wanna look into using uwsgi, gunicorn or a similar WSGI-based application server.
## For building and developing the typescript web app
Make sure you have a recent version of NodeJS installed, with npm and/or yarn.
For setting up the environment and installing the needed packages with yarn, feel free to substitue with npm:
```
$ cd webapp
$ yarn
````
For development there's a `watch` script, call it like:
```
$ yarn watch
```
For building a minified production bundle:
```
$ yarn start
```
The frontend uses a few polyfills for supporting IE10+, these include babel-polyfill for `Promise` and whatwg-fetch for `fetch`.