From a6e6cc99435980e834a7b9087d3f0aec32be8b0f Mon Sep 17 00:00:00 2001 From: shop Date: Sun, 17 May 2026 11:41:32 +0300 Subject: [PATCH] =?UTF-8?q?chore:=20=D1=80=D0=B5=D0=BB=D0=B8=D0=B7=20v0.20?= =?UTF-8?q?.0=20=E2=80=94=20=D0=B0=D0=B4=D0=BC=D0=B8=D0=BD=D0=BA=D0=B0,=20?= =?UTF-8?q?=D0=BF=D1=80=D0=BE=D1=84=D0=B8=D0=BB=D1=8C,=20cookies,=20=D0=B1?= =?UTF-8?q?=D1=80=D0=BE=D0=BD=D0=B8,=20email?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Cursor --- .release-notes/v0.20.0.md | 29 ++++++++++++++++++++ CHANGELOG.md | 30 ++++++++++++++++++++ README.md | 14 ++++++---- docs/RELEASE-0.20.md | 58 +++++++++++++++++++++++++++++++++++++++ package.json | 2 +- 5 files changed, 126 insertions(+), 7 deletions(-) create mode 100644 .release-notes/v0.20.0.md create mode 100644 docs/RELEASE-0.20.md diff --git a/.release-notes/v0.20.0.md b/.release-notes/v0.20.0.md new file mode 100644 index 0000000..eb323a7 --- /dev/null +++ b/.release-notes/v0.20.0.md @@ -0,0 +1,29 @@ +## 0.20.0 + +Расширенный релиз: роли, админка, профиль, cookies, бронирование, email. + +### Новое + +- **Роли:** клиент (`customer`) и администратор (`admin`), вход `admin@site.com` +- **Админ-панель:** заказы, пользователи, товары, бронирования +- **Профиль:** просмотр, смена имени, email и пароля +- **Cookies:** согласие обязательно для входа и регистрации +- **Бронирование товаров** (48 ч) + письмо на email +- **Сброс пароля** по ссылке из письма (SMTP) +- **Wiki:** инструкции Docker и без Docker + +### Настройка email (.env) + +```env +SITE_URL=https://ваш-сайт +SMTP_HOST=... +SMTP_FROM=... +``` + +### Установка + +```bash +git checkout v0.20.0 +npm install --omit=dev +# или docker compose up -d --build +``` diff --git a/CHANGELOG.md b/CHANGELOG.md index 30e8826..0eccec5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,35 @@ # Changelog +## [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). diff --git a/README.md b/README.md index cd6da8d..dd480db 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,10 @@ # Shop -**v0.10.0** — интернет-магазин на **Node.js** и **PostgreSQL 17**. +**v0.20.0** — интернет-магазин на **Node.js** и **PostgreSQL 17**. Два способа установки: [Docker Compose](#docker-compose-рекомендуется-для-теста) | [без Docker (Ubuntu)](#postgresql-17-без-docker) -Подробности релиза: [CHANGELOG.md](CHANGELOG.md) · [docs/RELEASE-0.10.md](docs/RELEASE-0.10.md) +Подробности релиза: [CHANGELOG.md](CHANGELOG.md) · [docs/RELEASE-0.20.md](docs/RELEASE-0.20.md) **Wiki (установка):** https://git.evilfox.cc/test/shop10/wiki @@ -12,8 +12,10 @@ - Каталог товаров с категориями и поиском - Корзина и оформление заказа -- Регистрация и вход пользователей -- История заказов в личном кабинете +- Регистрация, вход, сброс пароля по email +- Личный кабинет: профиль, бронирования +- Роли клиент / администратор, админ-панель +- Согласие на cookies ## Требования @@ -382,12 +384,12 @@ scripts/ src/ ``` -## Релиз 0.10.0 +## Релиз 0.20.0 ```bash git clone shop cd shop -git checkout v0.10.0 +git checkout v0.20.0 ``` | Способ | Команда | diff --git a/docs/RELEASE-0.20.md b/docs/RELEASE-0.20.md new file mode 100644 index 0000000..b58855a --- /dev/null +++ b/docs/RELEASE-0.20.md @@ -0,0 +1,58 @@ +# Релиз 0.20.0 + +## Что нового относительно 0.10.0 + +| Функция | Описание | +|---------|----------| +| Админ-панель | `/admin` — статистика, заказы, пользователи, товары, брони | +| Роли | `customer`, `admin` | +| Профиль | `/account` — имя, email, пароль | +| Cookies | Баннер согласия, блок входа без принятия | +| Бронирование | Кнопка на товаре, вкладка в кабинете | +| Сброс пароля | `/forgot-password` → письмо → новый пароль | + +## Быстрый старт + +### Docker + +```bash +git checkout v0.20.0 +cp .env.docker.example .env +# SESSION_SECRET, при необходимости SMTP и SITE_URL +docker compose up -d --build +``` + +### Ubuntu + +```bash +git checkout v0.20.0 +bash scripts/setup-postgres-ubuntu.sh +cp .env.example .env +npm install --omit=dev +systemctl restart shop +``` + +## Администратор по умолчанию + +- Email: `admin@site.com` +- Пароль: `admin` (смените в production) + +## SMTP (письма) + +Обязательно для production-сброса пароля. Без SMTP ссылка выводится в лог сервера. + +```env +SITE_URL=https://shop.example.com +SMTP_HOST=smtp.example.com +SMTP_PORT=587 +SMTP_USER=... +SMTP_PASS=... +SMTP_FROM=shop@example.com +``` + +## Gitea Release + +```bash +export GITEA_TOKEN=... +bash scripts/publish-gitea-release.sh 0.20.0 +``` diff --git a/package.json b/package.json index 9172e38..6fcd634 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "shop", - "version": "0.10.0", + "version": "0.20.0", "description": "Интернет-магазин на Node.js с PostgreSQL 17", "main": "src/server.js", "scripts": {