Skip to content
forked from devind-team/dcis

Data collection information system

Notifications You must be signed in to change notification settings

pointer0592/dcis

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Проект сборов

Документация проекта.

Для разработчиков

Приложение состоит из двух сервисов:

  • Django сервер, реализующий GraphQL API (папка server)
  • SSR Nuxt клиент (папка client)

Для работы приложения должны быть запущены оба сервиса.

IDE

Рекомендованной средой разработки является PyCharm.

Обязательные плагины:

  • Vue.js
  • Pug
  • GraphQL

Рекомендованные плагины:

  • GitToolBox
  • Conventional Commit

Настройка Django сервера (папка server)

Для работы сервиса обязательно необходимы следующие зависимости:

Зависимость Версия
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".

После установки зависимостей необходимо:

  1. Создать базу данных PostgreSQL.

Имя базы данных по умолчанию - devind.

  1. Создать .env файл в папке server.

Создать файл можно путем копирования файла .env.example с новым названием .env.

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

  • Имя базы данных (ключ DB_APP_NAME)
  • Пользователь (ключ DB_APP_USER)
  • Пароль (ключ DB_APP_PASSWORD)

На Windows также необходимо удалить из созданного файла все комментарии, начинающиеся с символа #.

  1. Установить зависимости Python

Для установки зависимостей Python необходимо выполнить команду:

poetry install
  1. Убедиться в том, что Redis сервер запущен

На Linux это можно сделать следующей командой:

sudo service redis-server restart

На macOS необходимо выполнить следующую команду:

brew services start redis

На Windows необходимо зайти в диспетчер задач и запустить службу Redis, если она остановлена.

  1. Выполнить скрипт, заполняющий базу данных начальными данными

Сделать это можно следующей командой:

# 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

Для удобной работы с сервисом из PyCharm необходимо:

  1. Активировать Python окружение в терминале

Для активации окружения необходимо перейти File, Settings, Project: dcis, Python interpreter. Далее необходимо нажать на кнопку с шестеренкой, далее кнопка Add. В открывшемся диалоговом меню необходимо выбрать пункт Poetry Environment, далее Existing Environment. Pycharm должен автоматически определить путь к окружению, созданному с помощью команды poetry install. Далее необходимо нажать на кнопку Ok в обоих меню.

  1. Настроить Django

Для настройки Django необходимо перейти File, Settings, Languages & Frameworks, Django. Далее необходимо активировать пункт Enanle Django Support, выбрать папку server в качестве Django project root, а файл server/deving/settings.py в качестве Settings, затем нажать на кнопку Ок.

  1. Настроить конфигурацию

Настройка конфигурации осуществляется в правом верхнем углу возле кнопки Run. Необходимо выбрать или Add Configuration..., если ни одна конфигурация не создана, или Edit Configurations..., если ранее были созданы конфигурации. Далее необходимо нажать на кнопку + в левом верхнем углу, выбрать Django Server из списка, ввести имя конфигурации (например, "server") и нажать на кнопку Ok.

  1. Подключить базу данных для работы из PyCharm

Подключение базы данных осуществляется в правом верхнем углу. Необходимо нажать на кнопку Database, затем на кнопку +, далее выбрать DataSource, PostgreSQL. В появившемся окне необходимо подтвердить установку драйвера, если PyCharm её предлагает, затем заполнить поля в соответствии с данными для подключения из файла .env и нажать на кнопку Ok.

После описанных выше действий появляется возможность:

  1. Запускать команды без префикса poetry run.
  2. Пользоваться Python Console c настроенным и запущенным Django.
  3. Запускать сервис путем нажатия кнопки Run.
  4. Взаимодействовать с базой данных из PyCharm.

Настройка Nuxt клиента (папка client)

Для работы сервиса необходимы следующие зависимости:

Зависимость Версия
Node.js latest LTS
Yarn latest

После установки зависимостей необходимо:

  1. Создать .env файл в папке client.

Создать файл можно путем копирования файла .env.example с новым названием .env.

  1. Установить зависимости Node.js.

Для установки зависимостей Node.js необходимо перейти в папку client и выполнить команду:

yarn
  1. Создать символическую ссылку между клиентом и сервером.

Для возможности выгрузки файлов необходимо создать символическую ссылку на папку server/storage в папке client/static.

Для этого в Unix необходимо в корне проекта выполнить команду:

python3 init.py

В Windows необходимо открыть терминал от имени администратора и в корне проекта выполнить команду:

python init.py

Далее сервис может быть запущен из папки client следующей командой:

yarn run dev

Дополнительные настройки PyCharm

Для удобной работы с сервисом из PyCharm необходимо настроить конфигурацию.

Настройка конфигурации осуществляется в правом верхнем углу возле кнопки Run. Необходимо выбрать или Add Configuration..., если ни одна конфигурация не создана, или Edit Configurations..., если ранее были созданы конфигурации. Далее необходимо нажать на кнопку + в левом верхнем углу и выбрать npm из списка. Затем необходимо ввести имя конфигурации (например, "client"), выбрать в качестве файла package.json файла client/package.json, а в качестве Scripts команду dev. В конце необходимо нажать на кнопку Ок.

После настройки конфигурации появляется возможность запускать сервис путем нажатия кнопки Run.

About

Data collection information system

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Vue 49.3%
  • Python 27.4%
  • TypeScript 22.4%
  • JavaScript 0.5%
  • HTML 0.2%
  • Shell 0.1%
  • Other 0.1%