Skip to main content

A Django app for chat conversations

Project description

Django Vestlus

vestlus is a django chat app with support for private and public channels.

PyPI - License PyPI - Version PyPI - Python Version PyPI - Downloads Github - Issues

Dependencies

Use of vestlus requires:

  • django-polymorphic: used to handle inheritance between message models.
  • django-crispy-forms: used for better formatting of forms in templates.
  • django-restframework: used to provide REST api support.
  • django-haystack: used to handle searching across channels and messages.

Those apps will need to be installed in the INSTALLED_APPS tuple of your django project.

Models

The app is split into three main models:

  • channel: channels allow for group conversations. Any message sent to a channel is visible to every member of the channel. Channels can be either public or private.
  • membership: memberships allow users to join, leave, and administer channels. Owners and admins can manage channel memberships.
  • message: all messages are private (self to self); private (shared with somebody else); or

Installation

  1. Add vestlus to your INSTALLED_APPS setting like this::
    INSTALLED_APPS = [
        # other apps...
        'vestlus',
    ]

Alternatively, you can also add this app like so::

    INSTALLED_APPS = [
        # other apps...
        'vestlus.apps.VestlusConfig',
    ]
  1. Include the polls URLconf in your project urls.py like this::
    path('chat/', include('vestlus.urls', namespace='vestlus')),

2.1. Optionally, you can also add the api endpoints in your project urls.py like so::

    path('api/', include('vestlus.api', namespace='vestlus_api')),
  1. Run python manage.py migrate to create the app models.

  2. Start the development server and visit http://127.0.0.1:8000/admin/ to start a add chat groups and messages (you'll need the Admin app enabled).

  3. Visit http://127.0.0.1:8000/chat/ to use the app. You should have the following urls added to your url schemes::

    http://127.0.0.1:8000/chat/
    http://127.0.0.1:8000/chat/channels/
    http://127.0.0.1:8000/chat/channels/new/
    http://127.0.0.1:8000/chat/channels/<slug:slug>
    http://127.0.0.1:8000/chat/channels/<slug:channel>/messages/<slug:slug>/delete
    http://127.0.0.1:8000/chat/channels/<slug:slug>/delete
    http://127.0.0.1:8000/chat/channels/<slug:slug>/messages/new/
    http://127.0.0.1:8000/chat/memberships/
    http://127.0.0.1:8000/chat/memberships/<slug:slug>
    http://127.0.0.1:8000/chat/memberships/<slug:slug>/new/
    http://127.0.0.1:8000/chat/messages/
    http://127.0.0.1:8000/chat/messages/<slug:slug>
    http://127.0.0.1:8000/chat/messages/<slug:slug>/delete

5.1. If you've included the api urls as well, you can visit the endpoints by visiting::

    http://127.0.0.1:8000/api/channels
    http://127.0.0.1:8000/api/channels/<pk>
    http://127.0.0.1:8000/api/channels/<uuid>
    http://127.0.0.1:8000/api/channels/<pk>/messages
    http://127.0.0.1:8000/api/channels/<uuid>/messages
    http://127.0.0.1:8000/api/channels/me
    http://127.0.0.1:8000/api/group-messages
    http://127.0.0.1:8000/api/group-messages/<pk>
    http://127.0.0.1:8000/api/memberships
    http://127.0.0.1:8000/api/memberships/<uuid>
    http://127.0.0.1:8000/api/messages
    http://127.0.0.1:8000/api/messages/<pk>
    http://127.0.0.1:8000/api/messages/notes

License

vestlus is BSD-Licensed.


Built with django-clite.

Developed and maintained by Leo Neto

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for django-vestlus, version 0.1.4
Filename, size File type Python version Upload date Hashes
Filename, size django_vestlus-0.1.4-py3-none-any.whl (66.8 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size django-vestlus-0.1.4.tar.gz (31.8 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page