Приложение состоит из двух сервисов:
- Django сервер, реализующий GraphQL API (папка
server
) - SSR Nuxt клиент (папка
client
)
Для работы приложения должны быть запущены оба сервиса.
Рекомендованной средой разработки является PyCharm.
Обязательные плагины:
- Vue.js
- Pug
- GraphQL
Рекомендованные плагины:
- GitToolBox
- Conventional Commit
Для работы сервиса обязательно необходимы следующие зависимости:
Зависимость | Версия |
---|---|
Python | 3.10 |
Poetry | latest |
PostgreSQL | latest |
Redis | latest |
Для Windows Redis официально не поддерживается, поэтому необходимо или установить WSL, как это описано на сайте Redis, или воспользоваться неофициальном портом.
В исключительных сценариях, для преобразования docx в pdf может потребоваться установленный LibreOffice. Для запуска таких сценариев из Windows рекомендуется запускать Django сервер в WSL с установленным LibreOffice.
Здесь и далее все команды
должны выполняться из папки server
, для перехода необходимо выполнить команду:
cd server
Префикс poetry run
для всех команд может быть опущен
при активированном виртуальном окружении в терминале.
Активация окружения описана в секции "Дополнительные настройки PyCharm".
После установки зависимостей необходимо:
- Создать базу данных PostgreSQL.
Имя базы данных по умолчанию - devind
.
- Создать
.env
файл в папкеserver
.
Создать файл можно путем копирования файла .env.example
с новым названием .env
.
При необходимости в файле нужно поменять данные для подключения к базе данных:
- Имя базы данных (ключ
DB_APP_NAME
) - Пользователь (ключ
DB_APP_USER
) - Пароль (ключ
DB_APP_PASSWORD
)
На Windows также необходимо удалить из созданного файла все комментарии, начинающиеся с символа #
.
- Установить зависимости Python
Для установки зависимостей Python необходимо выполнить команду:
poetry install
- Убедиться в том, что Redis сервер запущен
На Linux это можно сделать следующей командой:
sudo service redis-server restart
На macOS необходимо выполнить следующую команду:
brew services start redis
На Windows необходимо зайти в диспетчер задач и запустить службу Redis
,
если она остановлена.
- Выполнить скрипт, заполняющий базу данных начальными данными
Сделать это можно следующей командой:
# Unix
poetry run python3 manage.py fs
# Windows
poetry run python manage.py fs
Далее сервис может быть запущен следующей командой:
# Unix
poetry run python3 manage.py runserver
# Windows
poetry run python manage.py runserver
Для удобной работы с сервисом из PyCharm необходимо:
- Активировать Python окружение в терминале
Для активации окружения необходимо перейти File
, Settings
, Project: dcis
, Python interpreter
.
Далее необходимо нажать на кнопку с шестеренкой, далее кнопка Add
.
В открывшемся диалоговом меню необходимо выбрать пункт Poetry Environment
, далее Existing Environment
.
Pycharm должен автоматически определить путь к окружению, созданному с помощью команды poetry install
.
Далее необходимо нажать на кнопку Ok
в обоих меню.
- Настроить Django
Для настройки Django необходимо перейти File
, Settings
, Languages & Frameworks
, Django
.
Далее необходимо активировать пункт Enanle Django Support
,
выбрать папку server
в качестве Django project root
,
а файл server/deving/settings.py
в качестве Settings
, затем нажать на кнопку Ок
.
- Настроить конфигурацию
Настройка конфигурации осуществляется в правом верхнем углу возле кнопки Run
.
Необходимо выбрать или Add Configuration...
, если ни одна конфигурация не создана,
или Edit Configurations...
, если ранее были созданы конфигурации.
Далее необходимо нажать на кнопку +
в левом верхнем углу,
выбрать Django Server
из списка, ввести имя конфигурации (например, "server")
и нажать на кнопку Ok
.
- Подключить базу данных для работы из PyCharm
Подключение базы данных осуществляется в правом верхнем углу.
Необходимо нажать на кнопку Database
, затем на кнопку +
, далее выбрать DataSource
, PostgreSQL
.
В появившемся окне необходимо подтвердить установку драйвера, если PyCharm её предлагает, затем заполнить поля
в соответствии с данными для подключения из файла .env
и нажать на кнопку Ok
.
После описанных выше действий появляется возможность:
- Запускать команды без префикса
poetry run
. - Пользоваться
Python Console
c настроенным и запущенным Django. - Запускать сервис путем нажатия кнопки
Run
. - Взаимодействовать с базой данных из PyCharm.
Для работы сервиса необходимы следующие зависимости:
Зависимость | Версия |
---|---|
Node.js | latest LTS |
Yarn | latest |
После установки зависимостей необходимо:
- Создать
.env
файл в папкеclient
.
Создать файл можно путем копирования файла .env.example
с новым названием .env
.
- Установить зависимости Node.js.
Для установки зависимостей Node.js необходимо перейти в папку client
и выполнить команду:
yarn
- Создать символическую ссылку между клиентом и сервером.
Для возможности выгрузки файлов необходимо создать символическую ссылку
на папку server/storage
в папке client/static
.
Для этого в Unix необходимо в корне проекта выполнить команду:
python3 init.py
В Windows необходимо открыть терминал от имени администратора и в корне проекта выполнить команду:
python init.py
Далее сервис может быть запущен из папки client
следующей командой:
yarn run dev
Для удобной работы с сервисом из PyCharm необходимо настроить конфигурацию.
Настройка конфигурации осуществляется в правом верхнем углу возле кнопки Run
.
Необходимо выбрать или Add Configuration...
, если ни одна конфигурация не создана,
или Edit Configurations...
, если ранее были созданы конфигурации.
Далее необходимо нажать на кнопку +
в левом верхнем углу и
выбрать npm
из списка.
Затем необходимо ввести имя конфигурации (например, "client"),
выбрать в качестве файла package.json
файла client/package.json
,
а в качестве Scripts
команду dev
. В конце необходимо нажать на кнопку Ок
.
После настройки конфигурации появляется возможность запускать сервис путем нажатия кнопки Run
.