Об этом проекте
Stash — это самодостаточная система учёта домашнего инвентаря для одной семьи, которая рассматривает предметы прежде всего как вещи, помеченные штрихкодом/QR-кодом. В отличие от инструментов для рецептов или планирования питания, она фокусируется на быстрых потоках пополнения/потребления, отслеживании низких остатков и сроков годности, печатных этикетках и опциональной автоматизации через исходящие вебхуки.
Ключевые возможности:
- Непрерывное сканирование камеры в режимах Пополнение (+1) и Потребление (−1) с подсказками форматов, повышенным разрешением, автофокусом, звуковым сигналом, тактильной отдачей и переключателем вспышки для слабой освещённости. Неизвестные штрихкоды автоматически создают новый предмет и открывают быструю форму для указания локации и порога.
- Единая модель предмета и штрихкода, поддерживающая UPC/EAN, внутренние QR-коды (deep-linking к предмету), коды сопряжения Matter и ручные серийные номера. Одной кнопкой печати отправляется только выбранная символика штрихкода, что важно, когда у предмета несколько кодов.
- Режим актива для отдельных физических устройств: отслеживание состояния, ввод серийного номера штрихкодом и журнал истории обслуживания; активы исключены из логики списка покупок и низкого остатка.
- Вложенные локации и категории отображаются в виде древовидной структуры с отступами, поиск, фильтры, сортировка, пагинация и запоминание последнего использованного фильтра/сортировки. Массовые операции позволяют перемещать или удалять выбранные предметы одновременно.
- Детали предмета включают количество, порог низкого остатка, сроки годности/гарантии, цену с валютой по умолчанию, редактирование имени/единицы_inline, вложения и журналы корректировок/обслуживания.
- Файловые вложения для чеков, руководств, гарантий и фотографий. Любое изображение может стать репрезентативной аватаркой предмета; загрузки автоматически уменьшаются.
- Панель управления с подсветкой общей стоимости инвентаря, предметов с низким остатком, близких к истечению срока, недавно добавленных предметов, а также чеклист настройки локаций, уведомлений и публичного URL.
- Список покупок, формируемый из предметов с низким остатком или вручную добавленных записей, с примечаниями и чекбоксом покупки; предметы автоматически исчезают, когда запас превышает порог.
- Опциональные подключаемые поиски товаров (Open Food Facts, UPCItemDB, Naver Shopping) при каждом сканировании либо полная отключение.
- Импорт/экспорт CSV, включая значения штрихкодов, для массового ввода и обмена со spreadsheets.
- Печать этикеток в виде одиночного PNG или PDF-листа A4 с поиском в палитре; поддерживается корейская типографика через встроенный поднабор Noto Sans KR.
- Web Push уведомления об истечении срока/гарантии и еженедельная сводка низкого остатка.
- Мягкое удаление с тостом отмены, восстановлением и автоматическойpurge через 30 дней.
- OWA-приложение, дружественное к офлайну: закэшированное app shell, закэшированные ответы предметов и очередь сканирования офлайн, синхронизируемая при появлении соединения.
- Исходящий вебхук инвентаря для принтеров или автоматизаций Home Assistant, с видимыми в настройках последними отказами доставки и опциональной проверкой подписи HMAC-SHA256.
- Многопользовательские семейные аккаунты с ролями админ/общий, первоначальная настройка админа, одноразовый сброс пароля админа, выход везде, резервное копирование/восстановление и i18n ko/en с светлой/тёмной темой.
Не входит в охват: рецепты/планирование питания, многомодовость на одну семью внутри одного процесса.
Доступно развёртывание через Docker Compose или Installer Proxmox LXC в один клик. Локальная разработка использует PostgreSQL, миграции Prisma и отдельные API/web dev-серверы. Образы публикуются в GitHub Container Registry, а заметки по production покрывают subpath serving, health checking и управление секретами.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.