Технологический стек команды

Разработчикам

Обзор

Система состоит из следующих компонентов:

  • Интерфейс пользователя для работы с системой в браузере
  • Сервер приложений, обеспечивающий бизнес-логику
  • База данных, в которой хранятся все данные

Интерфейс пользователя

Пример интерфейса пользователя:

Интерфейс пользователя разработан на VUE framework  c использованием библиотеки компонентов Vuetify.
Это позволяет системе иметь современный интерфейс пользователя который эффективно работает в браузере.
Исходный код интерфейса открыт и доступен на https://github.com/openpim/web

Сервер приложений

Сервер приложений разработан на Node.js. Выбор Node.js был обусловлен популярностью языка javascript и тем, что на эта технология позволяет быстро создавать производительные и масштабируемые приложения.
Исходный код сервера приложений открыт и доступен на https://github.com/openpim/server.
Этот сервер предоставляет GraphQL API которое использует интерфейс пользователя. Также это API можно использовать для интеграции OpenPIM со сторонними системами.

База данных

В качестве базы данных используется PostgreSQL.
При этом, кроме стандартных возможностей реляционной базы данных мы также используем некоторые специфические возможности PostgreSQL, такие как:

  • JSONB - специальный типа данных, который позволяет работать с объектными данными в виде JSON.
  • ltree - специальный типа данных который, позволяет работать с древовидными структурами.

Минимальная поддерживаемая версия БД PostgreSQL - 14.

Развертывание и обновление системы

Система развертывается как docker container. Это позволяет запустить систему в различных операционных системах и различных
окружениях.

Вы можете запустить систему с помощью следующей команды:

docker run -d -p 80:80 -v [path to file storage]:/filestorage --env OPENPIM_DATABASE_ADDRESS=[database host] --env
OPENPIM_DATABASE_NAME=[database name] --env OPENPIM_DATABASE_USER=[database user] --env
OPENPIM_DATABASE_PASSWORD=[database password] openpim/russian:2.0

где:

[path to file storage] - путь к любому локальному каталогу, в котором система будет хранить загруженные изображения и файлы
[database host] - адрес сервера базы данных
[database name] - имя базы данных
[database user] - пользователь
[database password] - пароль

После этого вам нужно подождать несколько секунд, пока система запустится, и тогда она будет доступна через веб-браузер через порт 80. Например, если вы запустите систему на локальном компьютере, она будет доступна на http://localhost.

В системе будет настроен только один пользователь (со следующим именем пользователя/паролем): admin/admin.

Для обновления системы необходимо лишь обновить docker image и запустить новую версию.

Демо версия

- это полная версия системы с демонстрационной базой данных (такая же, как у нас в демо). Вы можете использовать эту опцию, чтобы поэкспериментировать с системой. В этой демонстрации вы найдете пример возможной конфигурации с загруженными данными товаров (включая изображения и файлы).

Вы можете запустить эту версию с помощью следующей команды (после установки docker):

docker run -d -p 80:80 openpim/demo:2.1

После этого вам нужно подождать несколько секунд, пока система запустится, и тогда она будет доступна через веб-браузер через порт 80. Например, если вы запустите систему на локальном компьютере, она будет доступна на http://localhost.

В системе будет настроено 2 пользователя (со следующим именем пользователя/паролем): admin/admin и demo/demo.

Мы не рекомендуем использовать эту версию для реальной работы, потому что каждый раз, когда вы запускаете ее, вы теряете все свои изменения. Используйте эту версию только для изучения системы.

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

Документация расскажет, как настроить систему
под конкретную компанию

Смотреть