Сервис обмена мгновенными сообщениями
Сервис представляет собой приложение для общения с любым пользователем в режиме реального времени. Для начала общения необходимо зарегистрироваться и перейти в раздел Chats (чаты). Обратите внимание, что при регистрации необходимо указать ваш telegram аккаунт. Это нужно для того, чтобы вы могли общаться с нашим ботом, где вы сможите подписаться на уведомление о новых сообщениях, если вы не онлайн.
Сервис мгновенных сообщений разворачивается с помощью запуска нескольких взаимосвязанных контейнеров:
web: само приложение с логикой работы, эндпоинтами и методами взаимодействия с базой данных, а так же телеграм бот и очередь задач на celery.postgres: СУБД PostgreSQL, где хранится вся информация о пользователях и сообщениях.nginx: Nginx обеспечивает централизованную маршрутизацию, балансировку нагрузки и работу со статическими файлами.
-
Клонирование репозитория:
Для установки необходимо клонировать репозиторий с помощью следующей команды:
git clone https://github.com/DmitriiViktorov/InstantMessages.git
-
Создание .env файла
После клонирования репозитория в корневой директории проекта необходимо создать .env файл и указать там следующие типы настроек:
-
POSTGRES_USER=< ваше имя пользователя >
-
POSTGRES_PASSWORD=< ваш пароль для этого пользователя >
-
POSTGRES_DB=< название базы данных >
-
POSTGRES_HOST=db
-
POSTGRES_PORT=5432
-
AUTH_SECRET=<ваша_строка_для_шифрования_данных_аутентификации> (пример: 'mVFJwu9PpL2s?a1yviK0eIHMtc5!,k_bfgh6Br.YEx8GZRSD7jMbsoWEXfgJz05_RqCKinZSP6eLDNvhmG2YHA9-?p!ryjkdITu8')
-
PASSWORD_RESET=<ваша_строка_для_шифрования_токенов_сброса_пароля> (привер: '5lbiPzhV_74TeEyw0nuAKWmZFJv?xO!pMXaRSH6,IBG3j1L8cU')
-
BOT_TOKEN=<ваш_телеграм_бот_токен> (как зарегистрировать свой телеграм-бот: https://t.me/botfather)
-
-
Запуск сервиса
После перехода в корневую директорию проекта запустите сервис с помощью Docker Compose:
docker-compose up --build
-
Доступ к приложению
После успешного запуска сервис будет доступен по адресу http://localhost.
После запуска сервиса им сразу можно пользоваться по прямому назначению. После регистрации пользователь увидит страницу своего профиля, на которой будет ссылка на телеграм бот InstantMessages, где он сможет подписаться на получение уведомлений. Перейдя в раздел Chats пользователь выбирает другого пользователя для начала общения и переходит в чат с ним.
API данного приложения документировано с использованием OpenAPI. Для ознакомления с документацией API, перейдя по следующей ссылке:
В случае возникновения вопросов, комментариев, замечаний по работе приложения вы можете связаться со мной:
- Email: viktorovokrl@gmail.com
- Github: https://github.com/DmitriiViktorov/twitter
- Telegram: https://t.me/ViktorovDV
