up
Технологический стек системы
Обзор
Система состоит из следующих компонентов:
  • Интерфейса пользователя, который позволяет взаимодействовать с системой и работать в ней. Он работает внутри веб браузера.
  • Сервера приложений, который обрабатывает всю бизнес логику и с которым взаимодействует интерфейс пользователя
  • Базы данных, которая хранит все данные и с которой взаимодействует сервер приложений
Интерфейс пользователя
Пример интерфейса пользователя:
Интерфейс пользователя разработан на 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 image и запустить новую версию.