Перейти к основному содержимому

Описание технической архитектуры программного обеспечения «LensSklad»

Версия документа: 0.2
Дата подготовки: 2026-06-04
Дата утверждения: 2026-06-04
Правообладатель: ИП Рыбин Анатолий Сергеевич
Программное обеспечение: «LensSklad»
Версия ПО: 1.0

1. Общая архитектура

«LensSklad» является клиент-серверным веб-приложением, интегрированным с сервисом «МойСклад», DataSklad Vendor и PostgreSQL-базой данных пользователя.

Пользовательский интерфейс может открываться внутри «МоегоСклада» по context key и напрямую по адресу https://lens.datasklad.com/app с авторизацией по логину и паролю. Серверная часть обрабатывает авторизацию, настройки подключения, синхронизацию выбранных сущностей, связь с API «МоегоСклада» и фоновые задачи.

2. Основные компоненты

2.1. Пользовательский интерфейс

Интерфейс предоставляет функции:

  • подключение аккаунта «МоегоСклада»;
  • настройка целевой PostgreSQL-базы;
  • выбор сущностей для выгрузки;
  • запуск или контроль синхронизации;
  • просмотр статусов и ошибок.

2.2. Backend/API

Серверная часть реализует:

  • обработку пользовательских запросов;
  • авторизацию при открытии из «МоегоСклада» по context key;
  • прямую авторизацию по логину и паролю;
  • получение данных через API «МоегоСклада»;
  • передачу данных в целевую PostgreSQL-базу;
  • фоновые задачи и повторную обработку временно неуспешных операций.

Основной стек: Python, FastAPI, SQLAlchemy, Alembic, PostgreSQL, Docker, Nuxt, Vue.

2.3. DataSklad Vendor

DataSklad Vendor используется как авторизационный центр, административная консоль и распределительный мост между «МоимСкладом», Vendor API «МоегоСклада» и решениями DataSklad.

2.4. База данных DataSklad

Внутренняя база данных используется для хранения сведений об установках, состояниях аккаунтов, тарифах, настройках и технических статусах обработки.

2.5. Целевая база данных пользователя

Целевая PostgreSQL-база данных принадлежит или контролируется пользователем. В нее передаются данные, выбранные пользователем для выгрузки из «МоегоСклада».

3. Внешние интеграции

ПО взаимодействует с:

  • каталогом решений «МоегоСклада»;
  • Vendor API «МоегоСклада»;
  • API «МоегоСклада»;
  • PostgreSQL-базой данных пользователя.

4. Потоки данных

  1. Пользователь устанавливает «LensSklad» в аккаунт «МоегоСклада».
  2. «МойСклад» отправляет vendor-запрос в DataSklad Vendor.
  3. Пользователь открывает интерфейс ПО.
  4. Пользователь указывает параметры целевой PostgreSQL-базы.
  5. Пользователь выбирает сущности для выгрузки.
  6. ПО получает данные через API «МоегоСклада».
  7. ПО создает или обновляет данные в целевой PostgreSQL-базе.

5. Размещение и инфраструктура

ПО размещается в Яндекс Облаке. Для разработки и эксплуатации используются отдельные контуры окружений. API поставляется в Docker-контейнерах и публикуется через инфраструктуру DataSklad.

6. Хранение исходного текста и объектного кода

Исходный текст ПО хранится в Git-репозиториях, доступ к которым ограничен правообладателем. Объектный код и контейнерные образы хранятся в закрытых инфраструктурных хранилищах, используемых для выпуска ПО.

Технические средства хранения исходного текста, объектного кода, контейнерных образов и сборки размещаются на серверах Яндекс Облака на территории Российской Федерации.

7. Безопасность данных

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

8. Зависимости и сторонние компоненты

Подробный перечень сторонних компонентов, версий, лицензий и назначения приведен в документе «Перечень сторонних компонентов».