Посмотреть проект можно по ссылке
- О проекте
- Архив с кодом репозитория и скриншотами
- Документация
- Стек технологий
- Функционал
- Установка зависимостей
- Запуск
- Наполнение БД
- Telegram бот
- Тесты и покрытие
- Авторы проекта
MVP CRM-системы для Амбассадоров Яндекс Практикума.
Документация сгенерирована автоматически при помощи drf-spectacular.
- Реализован базовый функционал CRM приложения.
- Настроена интеграция с Yandex Forms.
- Добавлена возможность наполнения бд через xlsx файл.
- Настроен websocket для push уведомлений.
- Подключен прототип telegram бота.
- Реализована рассылка через email и telegram.
- Для рассылки подкючен celery, также есть возможность отложенной отправки.
Помимо всего прочего для удобства ведения дальнейшей разработки мы использовали аннотацию типов и докстринги. Для поддержания работоспособности кода покрыли его тестами, использовав библиотеку pytest. Для удобства развертывания настроили docker compose и прикрутили CI/CD.
- Склонируйте репозиторий на локальную машину и перейдите в него:
git clone https://github.com/BittWizards/backend.git
cd backend- Создайте .env файл:
touch .env-
Заполните по примеру своими значениями: скопируйте этот файл
В терминале 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Примечание. Для запуска на сервере достаточно настроить файл .env и запустить файл docker-compose.production.yml
- Запустите контейнеры с проектом следующей командой (используйте флаг -d для запуска в фоновом режиме):
docker compose upНа сервере:
docker compose -f docker-compose.production.yml upВ терминале Linux могут потребоваться права суперпользователя:
sudo docker compose -f docker-compose.production.yml up- Для доступа в админ-зону:
Логин: admin@admin.com
Пароль: admin
Для импорта начальных данных воспользуйтесь командой:
docker compose exec backend python manage.py xml_importПосле запуска проект можно будет посмотреть по ссылке.
Посмотреть документацию: Swagger
Реализован небольшой функционал чат бота. Добавлено веб приложение для бота.
Для прослушивания уведомлений от telegram api используется webhook.
Чтобы установить вебхук для вашего домена воспользуетесь следующей командой:
docker compose exec backend python manage.py telegram_webhook -sПокрытие составляет 84 процента.
Запустите тесты в терминале из текущей папки:
docker compose exec backend run -m pytest