-
Склонировать репозиторий и перейти в его папку
git clone git@gitlab.com:multiscreen/vhs.git cd vhs
-
Провести подготовку файла с переменными среды. Пример этих переменных описан в файле
.env.example
, поэтому нужно произвести его копию в файл.env
. Затем отредактировать копию в соответствии с параметрами своей системы (подробнее в разделе "Переменные среды")cp .env.example .env # редактируем .env
-
Создать виртуальное окружение и активировать его
virtualenv --python=python3 venv source venv/bin/activate
-
Установить зависимости
pip install -r requirements.txt
-
Активировать переменные среды
source .env
-
Выполнить миграцию базы данных
python migrate.py
-
Выполнить действия по установки инструментов для frontend
-
Запустить приложение
python run.py
Проверка кода на соответствие стандарту PEP-8 выполняется следующим образом:
pycodestyle web --max-line-length=120 --ignore=E402 --show-source --show-pep8
Запуск юнит-тестов производится с помощью:
nose2 web -C
Перед снятием WIP статуса с Merge Request удостоверьтесь, что все тесты пройдены без ошибок.
Запросы на слияние с ошибками в CI будут отклонены.
Среди переменных среды важна DATABASE_URL
, содержимое которой определяет местонахождение и параметры доступа к базе данных приложения. Проект поддерживает два типа СУБД: SQLite и PostgreSQL.
Чтобы использовать SQLite нужно указать полный абсолютный путь до файла с БД. Например, файл БД располагается в /tmp/db.sqlite
. Тогда необходимо записать в переменную следующий URI:
export DATABASE_URL=sqlite:////tmp/db.sqlite
При использовании СУБД PostgreSQL формат переменной будет следующий:
export DATABASE_URL=postgres://username:password@host:port/datbase_name
-
Установить NodeJS (LST version): https://nodejs.org/en/download/
-
Установить
yarn
: https://yarnpkg.com/en/docs/install -
Установить зависимости:
yarn
-
Запустить сборщик (использовать один из двух способов):
-
единоразовая сборка - команду надо запускать после каждого изменения в файлах frontend:
yarn build
-
автоматическая сборка - команда запускается один раз, и после каждого изменения файлах frontend сборка будет выполняться автоматически:
yarn watch
-