Посмотреть проект можно по ссылке
- О проекте
- Архив с кодом репозитория и скриншотами
- Документация
- Стек технологий
- Функционал
- Установка зависимостей
- Запуск
- Наполнение БД
- 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