Skip to content

CRM-envoys/backend

Repository files navigation

example workflow Code style: black

python version django version djangorestframework version

Оглавление:

О проекте:

CRM-система для Амбассадоров Яндекс Практикума - это пространство для комьюнити менеджера сообщества амбассадоров, в котором можно получать уведомления, делать рассылки и смотреть аналитику. 

Запуск приложения

Клонирование реппозитория

git clone git@github.com:CRM-for-Yandex-ambassadors/backend.git

Перейдите в папку с проектом backend, установите и запустите виртуальное окружение.

cd backend
python -m venv venv
  • Если у вас Linux/MacOS

    source venv/bin/activate
    
  • Если у вас windows

    source venv/Scripts/activate
    

Установка зависимостей

pip install -r requirements.txt

Применяем миграции:

python manage.py migrate

Создаем суперпользователя:

python manage.py createsuperuser

Запуск приложения на локальном сервере

Перейдите в папку crm_backend

cd crm_backend
  • Если у вас windows
    python manage.py runserver
  • Если у вас Linux/MacOS
    python3 manage.py runserver

Запуск тестов

python manage.py test

Для проверки процента покрытия тестами вам необходимо установить библиотеку coverage и выполнить команды:

pip install coverage
coverage run -m unittest discover
coverage report -m

Установка pre-commit hooks

Для того, чтобы при каждом коммите выполнялись pre-commit проверки, необходимо:

  • Установить pre-commit
  • Установить pre-commit hooks

Установка pre-commit

Модуль pre-commit уже добавлен в requirements и должен установиться автоматически с виртуальным окружением.

Проверить установлен ли pre-commit можно командой (при активированном виртуальном окружении):

pre-commit --version
>> pre-commit 3.3.3

Если этого не произошло, то необходимо установить pre-commit:

pip install pre-commit

Установка hooks

Установка хуков:

pre-commit install --all

Установка хука для commitizen

pre-commit install --hook-type commit-msg

В дальнейшем, при выполнении команды git commit будут выполняться проверки, перечисленные в файле .pre-commit-config.yaml.

Если не видно, какая именно ошибка мешает выполнить commit, можно запустить хуки вручную командой:

pre-commit run --all-files

Работа с commitizen

Чтобы сгенерировать установленный git-commit, запустите в вашем терминале

cz commit

или сочетание клавиш

cz c

Используемые технологии

  • Python 3.11
  • Django 4.2
  • Django Rest Framework 3.14.0

Авторы

Swagger

Swagger

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •