# Changelog ## [1.0.0] — 2026-05-17 Первый мажорный релиз после **v0.20.0**: безопасность, лояльность, акции на товары, удобная установка и обновление с сервера. ### Безопасность и вход - **Passkey (WebAuthn):** привязка в профиле, вход без пароля - **Один администратор:** только email из `ADMIN_EMAIL`; остальные регистрируются как `customer` - Документация только под **PostgreSQL 17** (SQLite убран из описаний) ### Магазин и маркетинг - **Промокоды:** процент или фиксированная скидка, мин. сумма, лимит использований, таймер до конца акции в корзине - **Баллы лояльности:** списание при оплате, начисление с заказа - **Цена со скидкой на товар:** `sale_price_cents`, дата окончания акции; в каталоге — зачёркнутая старая цена и бейдж - **Уведомление о поступлении:** подписка при нулевом остатке, email при пополнении склада ### Админ-панель - Товары: цена, цена со скидкой, срок акции, остаток - Промокоды: создание и редактирование - **Обновление с Git:** `/admin/system` — `git pull`, `npm install`, перезапуск `shop` (с подтверждением) - Улучшенный UI: SVG-иконки, наглядные цены со скидкой ### Установка и эксплуатация - Интерактивный **`scripts/install.sh`** (Docker или Ubuntu, админ, БД, SMTP) - **`SHOP_ROOT`**, **`git-sync.sh`**, **`server-update.sh`** — обновление без detached HEAD - **`install-shop-service.sh`**, **`wait-postgres.sh`**, освобождение порта 3000 - Wiki: [Server-Operations](wiki/Server-Operations.md), универсальное развёртывание ### Исправления - Пути `include` иконок в EJS (Internal Server Error после UI-обновления) - Быстрое развёртывание Ubuntu: PGDG PostgreSQL 17, корректный каталог репозитория [1.0.0]: https://git.evilfox.cc/test/shop10/releases/tag/v1.0.0 ## [0.20.0] — 2026-05-17 ### Роли и администрирование - Роли `customer` и `admin`, админ-панель `/admin` - Администратор по умолчанию: `admin@site.com` (создаётся при старте) - Управление заказами, пользователями, товарами, бронированиями ### Личный кабинет - Просмотр профиля, смена имени, email (с подтверждением пароля), пароля ### Cookies - Баннер согласия; без принятия недоступны вход, регистрация, кабинет, оформление заказа - Политика: `/cookies/policy` ### Бронирование и почта - Бронирование товара на 48 часов, уведомление на email - Сброс пароля: `/forgot-password`, ссылка в письме (nodemailer + SMTP) - Переменные: `SITE_URL`, `SMTP_*` ### Документация - Wiki: установка Docker и без Docker - Скрипт `scripts/publish-gitea-release.sh` [0.20.0]: https://git.evilfox.cc/test/shop10/releases/tag/v0.20.0 ## [0.10.0] — 2026-05-17 Первый стабильный релиз с PostgreSQL 17. Два способа развёртывания: **Docker Compose** и **без Docker** (Ubuntu + systemd). ### Возможности - Каталог, корзина, регистрация, заказы - PostgreSQL 17 (схема, сессии в БД) - Caddy: HTTPS и reverse proxy (на хосте или в Docker) - Health-check: `GET /health` ### Docker Compose - `docker compose up -d --build` — app + postgres - `docker compose --profile proxy` — опционально Caddy - `docker-compose.dev.yml` — только БД для локальной разработки ### Без Docker (production) - Ubuntu: Node.js 20, PostgreSQL 17, systemd (`deploy/shop.service`) - Скрипты: `setup-postgres-ubuntu.sh`, `fix-db-connection.sh`, `server-update.sh`, `diagnose-502.sh` ### Исправления - `seed.js` больше не вызывает `process.exit` при старте сервера (502 от Caddy) - Ожидание PostgreSQL в `shop.service` перед запуском Node [0.10.0]: https://git.evilfox.cc/test/shop10/releases/tag/v0.10.0