Skip to content
@BittWizards

BittWizards

MVP CRM-системы для Амбассадоров Яндекс Практикума.

Посмотреть проект можно по ссылке

Оглавление

  1. О проекте
  2. Авторы проекта
  3. Стек технологий
  4. Функционал
  5. Установка зависимостей
  6. Запуск
  7. Наполнение БД
  8. Telegram бот

О проекте

MVP CRM-системы для Амбассадоров Яндекс Практикума.

Авторы проекта

Команда:

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

Typescript Javascript Redux React CSS3 SASS HTML5 MUI React Hook Form

Python Django DRF Celery Redis PostgreSQL Gunicorn drf-spectacular django-channels

Swagger Docker DockerCompose Nginx Certbot GitHub GitHub Actions

Функционал

  1. Реализован базовый функционал CRM приложения.
  2. Настроена интеграция с Яндекс Forms.
  3. Настроена интеграция с Яндекс ID.
  4. Подключен прототип telegram бота.
  5. Реализована рассылка через email и telegram.

Установка зависимостей для полного разворачивания проекта

  1. Создайте и перейдите в директорию проекта:
mkdir forms
cd forms/
  1. Скачайте и добавьте файл docker-compose.production.yml в директорию.

  2. Cоздайте файл .env:

nano .env

Добавьте следующие строки и подставьте свои значения:

# postgres
POSTGRES_DB=DB                           # название db
POSTGRES_USER=USER                       # имя пользователя для db
POSTGRES_PASSWORD=PASSWORD               # пароль пользователя для db
DB_HOST=db                               # если поменять, то тогда нужно поменять название сервиса в docker-compose.production.yml
DB_PORT=5432                             # это порт для доступа к db

# django
SECRET_KEY=SECRET_KEY                    # SECRET_KEY в настройках django
DEBUG=False                              # режим debug (True или False)
ALLOWED_HOSTS=127.0.0.1 backend          # ваши адреса через пробел (пример:localhost 127.0.0.1 xxxx.com)

# certbot
GET_CERTS=False                          # True для получения сертификатов (обязательно укажите email в CERTBOT_EMAIL
CERTBOT_EMAIL=[email protected]        # Email для регистрации certbot
DOMAIN=exemple.com                       # Домен на котором вы разворачиваете

# tg bot
BOT_TOKEN=telegram_bot_token             # Токен телеграм бота, если вы планируете его использовать

# yandex ID
YANDEX_ID_CLIENT_SECRET=secret           # Client secret в приложении yandex ID

# mail
USE_SMTP=False                           # использовать ли настоящий сервис по отправке почты, иначе сообщения будут сохранятся внутри контейнера (папка sent_emails)
EMAIL_HOST=EMAIL_HOST                    # домен вашего email service
EMAIL_PORT=EMAIL_PORT                    # порт для подключения к серверу почты
EMAIL_HOST_USER=EMAIL_HOST_USER          # email с которого будет осуществлятся рассылка
EMAIL_HOST_PASSWORD=EMAIL_HOST_PASSWORD  # пароль для доступа со стороны стороннего приложения
EMAIL_USE_TLS=False                      # использовать TLS (True или False)
EMAIL_USE_SSL=True                       # использовать SSL (True или False)

# frontend
VITE_REACT_APP_BASE_URL='https://youradress.com'       # url для API запросов (можно не указывать, если используете docker-compose.production.yml)
VITE_REACT_APP_CLIENT_ID='ClientID'                    # идентификатор приложения для получения OAuth токена
VITE_REACT_APP_CURRENT_URL='https://youradress.com'    # url для приложения яндекс ID
  1. Установить docker

В терминале linux это можно сделать так:

  sudo apt update
  sudo apt install curl
  curl -fSL https://get.docker.com -o get-docker.sh
  sudo sh ./get-docker.sh
  sudo apt install docker-compose-plugin

Запуск

  1. Запустите контейнеры с проектом следующей командой (используйте флаг -d для запуска в фоновом режиме):
docker compose -f docker-compose.production.yml up

В терминале Linux могут потребоваться права суперпользователя:

sudo docker compose -f docker-compose.production.yml up
  1. Для доступа в админ-зону:

Логин: [email protected]

Пароль: admin

Наполнение БД

Для импорта начальных данных воспользуйтесь командой:

docker compose exec backend python manage.py xml_import

После запуска проект можно будет посмотреть по ссылке.

Посмотреть документацию: Swagger

Telegram bot

Реализован небольшой функционал чат бота. Добавлено веб приложение для бота.

Для прослушивания уведомлений от telegram api используется webhook.

Чтобы установить вебхук для вашего домена воспользуетесь следующей командой:

docker compose exec backend python manage.py telegram_webhook -s

Оглавление

Popular repositories Loading

  1. frontend frontend Public

    TypeScript 1

  2. backend backend Public

    MVP CRM-системы для Амбассадоров Яндекс Практикума

    Python 1

  3. .github .github Public

Repositories

Showing 3 of 3 repositories
  • backend Public

    MVP CRM-системы для Амбассадоров Яндекс Практикума

    BittWizards/backend’s past year of commit activity
    Python 0 1 2 1 Updated Oct 7, 2024
  • frontend Public
    BittWizards/frontend’s past year of commit activity
    TypeScript 0 1 0 1 Updated May 3, 2024
  • .github Public
    BittWizards/.github’s past year of commit activity
    0 0 0 0 Updated Apr 15, 2024

Top languages

Loading…

Most used topics

Loading…