Описание технической архитектуры программного обеспечения «DocsSklad»
Версия документа: 0.2
Дата подготовки: 2026-06-04
Дата утверждения: 2026-06-04
Правообладатель: ИП Рыбин Анатолий Сергеевич
Программное обеспечение: «DocsSklad»
Версия ПО: 1.0
1. Общая архитектура
«DocsSklad» является клиент-серверным веб-приложением, интегрированным с сервисом «МойСклад», DataSklad Vendor и подсистемой обработки загруженных документов.
Пользовательский интерфейс может открываться внутри «МоегоСклада» по context key и напрямую по адресу https://docs.datasklad.com/app с авторизацией по логину и паролю. Серверная часть обрабатывает авторизацию, загрузку файлов, распознавание, сопоставление данных, связь с API «МоегоСклада» и фоновые задачи.
2. Основные компоненты
2.1. Пользовательский интерфейс
Интерфейс предоставляет функции:
- загрузка документа поставщика;
- просмотр результата распознавания;
- сопоставление контрагента и номенклатуры;
- создание документа в «МоемСкладе»;
- просмотр статусов и ошибок.
2.2. Backend/API
Серверная часть реализует:
- обработку пользовательских запросов;
- авторизацию при открытии из «МоегоСклада» по context key;
- прямую авторизацию по логину и паролю;
- прием и обработку загруженных файлов;
- распознавание и нормализацию данных документа;
- взаимодействие с API «МоегоСклада»;
- фоновые задачи и повторную обработку временно неуспешных операций.
Основной стек: Python, FastAPI, SQLAlchemy, Alembic, PostgreSQL, Docker, Nuxt, Vue.
2.3. DataSklad Vendor
DataSklad Vendor используется как авторизационный центр, административная консоль и распределительный мост между «МоимСкладом», Vendor API «МоегоСклада» и решениями DataSklad.
2.4. База данных
База данных используется для хранения сведений об установках, состояниях аккаунтов, тарифах, настройках, технических статусах обработки и служебных данных, необходимых для работы ПО.
2.5. Обработка файлов
Загруженные файлы используются для распознавания и создания документов в «МоемСкладе». Проверочный контур должен использовать тестовые файлы без закрытых данных клиентов.
3. Внешние интеграции
ПО взаимодействует с:
- каталогом решений «МоегоСклада»;
- Vendor API «МоегоСклада»;
- API «МоегоСклада»;
- подсистемой обработки и распознавания документов.
4. Потоки данных
- Пользователь устанавливает «DocsSklad» в аккаунт «МоегоСклада».
- «МойСклад» отправляет vendor-запрос в DataSklad Vendor.
- Пользователь открывает интерфейс ПО.
- Пользователь загружает документ поставщика.
- ПО обрабатывает файл и извлекает данные.
- Пользователь проверяет и сопоставляет данные.
- ПО создает документ в «МоемСкладе» через API «МоегоСклада».
5. Размещение и инфраструктура
ПО размещается в Яндекс Облаке. Для разработки и эксплуатации используются отдельные контуры окружений. API поставляется в Docker-контейнерах и публикуется через инфраструктуру DataSklad.
6. Хранение исходного текста и объектного кода
Исходный текст ПО хранится в Git-репозиториях, доступ к которым ограничен правообладателем. Объектный код и контейнерные образы хранятся в закрытых инфраструктурных хранилищах, используемых для выпуска ПО.
Технические средства хранения исходного текста, объектного кода, контейнерных образов и сборки размещаются на серверах Яндекс Облака на территории Российской Федерации.
7. Безопасность данных
Секреты и параметры окружения не хранятся в публичных репозиториях и документации. Проверочный контур не должен содержать production-секреты, реальные пароли пользователей, закрытые документы клиентов и параметры основной инфраструктуры.
8. Зависимости и сторонние компоненты
Подробный перечень сторонних компонентов, версий, лицензий и назначения приведен в документе «Перечень сторонних компонентов».