Skip to content

SmVAwrk/chatroom

Repository files navigation

API Чат-приложения

Данный интерфейс предоставляет следующие возможности:

  1. Регистрация пользователей с подтверждением по почте.

  2. Аутентификация пользователей.

    Типы аутентификации:

    • Basic Auth;
    • Token Auth;
    • JWT Auth;
    • OAuth 2 via GitHub;
    • Session Auth.

    Для аутентифицированных пользователей:

  3. Редактирование профиля пользователя, добавление пользователей в друзья и их удаление (при добавлении в друзья и подтверждении заявки приходит оповещение на почту).

  4. Создание, редактирование и удаление чат-комнат, приглашение в комнату других пользователей и их удаление (при приглашении в комнату приходит оповещение на почту).

  5. Подключение пользователей к комнатам и обмен сообщениями в режиме реального времени с возможностью просмотра всех ранних сообщений комнаты и отслеживания текущего онлайна пользователей.

Стек технологий:

  • Ubuntu 20
  • Python 3.8
  • PostgreSQL 12.6
  • Redis 6.2
  • Django 3.1/DRF 3.12
  • Django Channels 3.0
  • Celery 4.4 + Flower 0.9
  • Docker

Установка и запуск:

  1. Склонируйте репозиторий в требуемую директорию:

git clone https://github.com/SmVAwrk/chatroom

  1. Перейдите в корневую папку.

  2. У файлов *.env.default удалите расширение ".default".

  3. Для работы аутентификации через GitHub и отправки сообщений на почту необходимо в этом же файле установить некоторые значения переменных окружения. Данный шаг можно пропустить, но в этом случае упомянутого функционала не будет.

  4. Также, по желанию, в .env файлах вы можете задать свои данные для PostgreSQL и автоматического создания суперпользователя Django (DJANGO_SUPERUSER_EMAIL и DJANGO_SUPERUSER_PASSWORD).

  5. Создайте образы и запустите контейнеры БД в фоновом режиме:

docker-compose up -d db redis

  1. Создайте образы и запустите контейнеры приложений:

docker-compose up app celery flower

  1. API доступно на localhost:8080.

  2. Документация Swagger доступна на localhost:8080/swagger/.

  3. Flower доступен на localhost:5050.

Документация в формате json - swagger.json

About

Django/DRF Chat app API

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages