Инновационная архитектура InventoryMod: складской учёт на нескольких платформах
Николай, разработчик InventoryMod, представил новую систему управления складом, ориентированную на малый бизнес и интернет-магазины. Отличительной особенностью проекта является его уникальная архитектура, позволяющая развертывать приложение из одной кодовой базы на TypeScript сразу на четыре различные платформы. Система обеспечивает эффективный складской учёт, предоставляя пользователям гибкость в выборе среды использования.
Универсальность и распределение данных
Ключевым аспектом InventoryMod является его способность функционировать как расширение Chrome, мобильное приложение и SaaS-решение. Данные по умолчанию хранятся локально в SQLite непосредственно на устройстве пользователя. Примечательно, что каждый тип платформы использует свою реализацию базы данных: SQLite-WASM для браузера, нативный SQLite для мобильных устройств и HTTP-сервер для SaaS-версии. Это обеспечивает максимальную производительность и надежность в каждой среде.
Эффективность разработки и бизнес-логика
Разработчики InventoryMod сумели реализовать бизнес-логику единожды, используя реальный код, что значительно сокращает время и ресурсы на разработку. В статье также затрагиваются технические детали, такие как вывод API-контракта из query-модулей, переход с IndexedDB и особенности работы с транзакциями в Capacitor. Такой подход позволяет избежать дублирования логики и гарантирует согласованность функций на всех поддерживаемых платформах.
Очень интересно, как InventoryMod удается поддерживать такую высокую производительность при использовании разных реализаций SQLite на каждой платформе. Особенно любопытно про SQLite-WASM в браузере – насколько это масштабируемо для больших объемов данных? И как синхронизируются данные между локальным хранилищем и SaaS-версией, если пользователь переключается между ними? Было бы здорово узнать побольше о внутреннем механизме синхронизации.