Об этом проекте

Stowplan — это мобильное локальное приложение для отслеживания и реорганизации физического инвентаря в комнатах, шкафах, ящиках, коробках, контейнерах и других ёмкостях. Оно рассчитано на работу офлайн, используя IndexedDB как непосредственный источник истины и надёжный исходящий журнал для пакетной отправки и повторных попыток аутентифицированного резервного копирования на сервер. Участники подключённого рабочего пространства видят зафиксированные изменения в течение пяти секунд при нормальном соединении без опроса в режиме простоя. Приложение поддерживает первоначальную настройку на основе контейнеров, которая различает неподсчитанные, находящиеся в процессе, известные пустые и подсчитанные пространства. Захват предметов по названию включает количества по умолчанию, необязательные описания и единицы измерения, создание вложенных контейнеров и действие «отметить подсчитанным и далее», оптимизированное для использования на телефоне. Пользователи могут искать структурированный инвентарь сразу по всем пространствам, создавать объяснимые планы перемещений, учитывающие тепло, влажность, безопасность пищевых продуктов, размеры, группировку, доступ, расстояние и перемещения целых контейнеров, а также закреплять предметы или пространства, чтобы сохранить установленное размещение на месте. Функции массового редактирования включают загрузку инвентаря из CSV, который локально разбирает файлы, сопоставляет столбцы и назначения, предварительно показывает недопустимые строки и вместимость и фиксирует одно отменяемое атомарное изменение. Массовое редактирование инвентаря предварительно показывает категорию, теги, частоту использования и требования к размещению для выбранных записей, а затем сохраняет проверенные изменения и подтверждённое повторное открытие пространства как одно отменяемое действие. Редакторы предметов и пространств предоставляют структурированные атрибуты, условия, размеры, частичные перемещения, проверку архивирования/удаления, перетаскивание и эквивалентные сенсорные/клавиатурные элементы управления. История на уровне полей поддерживает выборочную отмену/повторное применение («plucking») и пакетную отмену/повтор без перезаписи более новых изменений того же поля. Заблокированная офлайн-работа остаётся доступной для проверки и экспорта; управляемое восстановление сравнивает значения на устройстве и онлайн, проверяет выбор полей в порядке очереди и сохраняет авторизованное защищённое воспроизведение. Повторное применение и сброс всей очереди остаются доступными. Функции безопасности включают публичный вход через Google, защищённый Managed Turnstile, Cloudflare Access как независимый периметр только для администраторов, короткие одноразовые гостевые URL-адреса, непрозрачные отзываемые сессии, ограниченное выделение публичных ресурсов, роли рабочего пространства и админ-панель с аудитом. Продакшен работает на Cloudflare Sites с управляемой Sites привязкой D1, при этом прямые Cloudflare Workers + D1, Node 24 + SQLite и контейнеры служат воспроизводимыми альтернативными корнями композиции. Репозиторий включает интерфейс Next.js, детерминированную доменную модель, клиентскую реплику IndexedDB, серверные службы персистентности/аутентификации/администрирования, адаптеры D1 и Node SQLite, упорядоченные надёжные миграции схемы, документацию VitePress, желаемое состояние Cloudflare Access/WAF/ограничения скорости, пересылающий ретранслятор живой совместной работы в режиме гибернации и автоматизацию сборки/дымовых тестов/развёртывания/сверки. Тесты охватывают доменные сценарии, синхронизацию, адаптеры, офлайн и аутентификацию. Stowplan лицензирован под AGPL-3.0-only. Сетевые операторы изменённых версий должны предоставлять соответствующий исходный код для работающей версии.