Описание технической архитектуры программного обеспечения «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. Потоки данных
- Пользователь устанавливает «LensSklad» в аккаунт «МоегоСклада».
- «МойСклад» отправляет vendor-запрос в DataSklad Vendor.
- Пользователь открывает интерфейс ПО.
- Пользователь указывает параметры целевой PostgreSQL-базы.
- Пользователь выбирает сущности для выгрузки.
- ПО получает данные через API «МоегоСклада».
- ПО создает или обновляет данные в целевой PostgreSQL-базе.
5. Размещение и инфраструктура
ПО размещается в Яндекс Облаке. Для разработки и эксплуатации используются отдельные контуры окружений. API поставляется в Docker-контейнерах и публикуется через инфраструктуру DataSklad.
6. Хранение исходного текста и объектного кода
Исходный текст ПО хранится в Git-репозиториях, доступ к которым ограничен правообладателем. Объектный код и контейнерные образы хранятся в закрытых инфраструктурных хранилищах, используемых для выпуска ПО.
Технические средства хранения исходного текста, объектного кода, контейнерных образов и сборки размещаются на серверах Яндекс Облака на территории Российской Федерации.
7. Безопасность данных
Секреты и параметры окружения не хранятся в публичных репозиториях и документации. Проверочный контур не должен содержать production-секреты, реальные пароли пользователей, закрытые данные клиентов и параметры основной инфраструктуры.
8. Зависимости и сторонние компоненты
Подробный перечень сторонних компонентов, версий, лицензий и назначения приведен в документе «Перечень сторонних компонентов».