adityabohra007 / django-chatbox

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Django Chatter

image

image

image

Re-usable Django chat application for Django developers.

Full docs here: Django Chatter Docs

Chat is a crucial aspect of many web apps at present. However, Django's package repository does not have well-maintained reusable chat packages that Django developers can integrate into their platforms.

Django Chatter is an attempt to change that. This is an open-source fully reusable chat application that has mechanisms to support group chats in place.

The HTML front-end for this app is built with Flexbox, making it responsive to numerous viewports.

[More work to be done] Added to that, it can also possibly be used as a REST API, since all the views generate standard JSON responses that need to be parsed by the websockets present in the front-end of the app using this package.

This app makes use of Django Channels 2 and uses Redis as the message broker.

To run Django Chatter properly, you'll require python>=3.5 and Redis. Note: For development, we are currently using redis-5.0.3, built from source on Ubuntu machines.

The core mechanisms of Chatter follow the instructions provided in the Django Channels tutorial section, with some added modifications and theming.

Installation

Tests haven't been setup for this package yet. I built this app before I knew what good test practices were like. So, tests welcome!

Usage Notes

  • Chatter, as of right now, provides a very minimal interface for users to chat with other users.For starters, while group chatting is supported on the model layer, the corresponding templates and front-end logic have not yet been setup.
  • If you're using chatter as a package in your own app, you have to make sure that you handle user authentication in your app. Chatter, by default, provides views that require user authentication. If you're developing Chatter on the other hand, the usage will vary a bit. The notes for that can be found in the Get Involved section.

Running list of features to add

  • Add a "Create Group" option for users on the templates
  • Add 'Seen by user x' functionality

About

License:MIT License


Languages

Language:Python 60.5%Language:JavaScript 20.4%Language:HTML 11.5%Language:CSS 7.1%Language:Shell 0.5%