A Django app for chat conversations
vestlus is a django chat app with support for private and public channels.
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.
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
- Add vestlus to your
INSTALLED_APPSsetting like this::
INSTALLED_APPS = [ # other apps... 'vestlus', ]
Alternatively, you can also add this app like so::
INSTALLED_APPS = [ # other apps... 'vestlus.apps.VestlusConfig', ]
- 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')),
python manage.py migrateto create the app models.
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).
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
vestlus is BSD-Licensed.
Built with django-clite.
Developed and maintained by Leo Neto
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Hashes for django_vestlus-0.1.4-py3-none-any.whl