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.

Source Distribution

django-vestlus-0.1.2.tar.gz (31.6 kB view hashes)

Uploaded Source

Built Distribution

django_vestlus-0.1.2-py3-none-any.whl (66.4 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page