release: v1.0.0 — changelog и документация после v0.20

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
shop
2026-05-17 14:28:32 +03:00
parent 69dfd2a93a
commit af2901152d
6 changed files with 140 additions and 6 deletions
+42
View File
@@ -0,0 +1,42 @@
## 1.0.0
Стабильный релиз **1.0** — всё новое после **v0.20.0**.
### Магазин
- Промокоды (%, фикс. сумма), баллы лояльности, таймер акции в корзине
- Акционная цена на товаре: старая цена зачёркнута, новая цена и % скидки
- Подписка «сообщить о поступлении» + email при появлении на складе
### Вход и админ
- Passkey (WebAuthn) в профиле и на странице входа
- Один админ — только `ADMIN_EMAIL` в `.env`
- Админка: цены/скидки на товарах, промокоды, **обновление с Git** (`/admin/system`)
- Иконки и улучшенное отображение цен
### Сервер
- `scripts/install.sh` — интерактивная установка
- `SHOP_ROOT`, `server-update.sh`, `git-sync.sh`, systemd-скрипты
- Wiki: Server-Operations, Troubleshooting
### Обновление с 0.20
```bash
export SHOP_ROOT=/opt/shop/shop10 # ваш каталог
git fetch origin && git checkout main && git pull
bash "$SHOP_ROOT/scripts/server-update.sh"
```
Или после настройки sudo: **Админ → Обновление →** ввести `update`.
### Новые переменные (.env)
```env
SHOP_ROOT=/opt/shop
ADMIN_EMAIL=admin@site.com
# Обновление из админки (опционально):
ADMIN_UPDATE_ENABLED=1
ADMIN_UPDATE_USE_SUDO=1
```
+38
View File
@@ -1,5 +1,43 @@
# 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
### Роли и администрирование
+7 -4
View File
@@ -1,10 +1,10 @@
# Shop
**v0.20.0** — интернет-магазин на **Node.js** и **PostgreSQL 17**.
**v1.0.0** — интернет-магазин на **Node.js** и **PostgreSQL 17**.
Два способа установки: [Docker Compose](#docker-compose-рекомендуется-для-теста) | [без Docker (Ubuntu)](#postgresql-17-без-docker)
Подробности релиза: [CHANGELOG.md](CHANGELOG.md) · [docs/RELEASE-0.20.md](docs/RELEASE-0.20.md)
Подробности релиза: [CHANGELOG.md](CHANGELOG.md) · [docs/RELEASE-1.0.md](docs/RELEASE-1.0.md) · [что нового после 0.20](docs/RELEASE-1.0.md#что-нового-после-020)
**Сервер (установка, обновление, ошибки):** [wiki/Server-Operations.md](wiki/Server-Operations.md) · [wiki/Troubleshooting.md](wiki/Troubleshooting.md)
@@ -361,19 +361,22 @@ scripts/
src/
```
## Релиз 0.20.0
## Релиз 1.0.0
```bash
git clone <URL-вашего-репозитория> /opt/shop
cd /opt/shop
git checkout v0.20.0
git checkout v1.0.0
```
| Способ | Команда |
|--------|---------|
| Интерактивно | `bash scripts/install.sh` |
| Docker | `docker compose up -d --build` |
| Без Docker | `bash scripts/setup-postgres-ubuntu.sh``systemctl start shop` |
Обновление с **0.20**: `bash "$SHOP_ROOT/scripts/server-update.sh"` или **Админ → Обновление**.
## Репозиторий
```bash
+51
View File
@@ -0,0 +1,51 @@
# Релиз 1.0.0
Мажорный релиз после **v0.20.0**. Кратко: passkey, лояльность и промокоды, акционные цены, уведомления о поступлении, обновление из админки, установщик `install.sh`.
## Что нового после 0.20
| Область | Изменения |
|---------|-----------|
| Вход | Passkey (WebAuthn), один админ (`ADMIN_EMAIL`) |
| Цены | Скидка на товар, промокоды, баллы лояльности |
| Склад | Подписка на email при поступлении товара |
| Админка | Цены/скидки, промокоды, **/admin/system** — обновление с Git |
| UI | Иконки, зачёркнутая старая цена, бейдж «−N%» |
| Deploy | `install.sh`, `SHOP_ROOT`, `git-sync`, wiki Server-Operations |
## Быстрый старт
### Новая установка
```bash
git clone <URL-репозитория> /opt/shop
cd /opt/shop
git checkout v1.0.0
bash scripts/install.sh
```
### Обновление с v0.20.0
```bash
export SHOP_ROOT=/opt/shop # или /opt/shop/shop10
cd "$SHOP_ROOT"
git fetch origin && git checkout main && git pull origin main
bash "$SHOP_ROOT/scripts/server-update.sh"
```
## Админ: обновление без SSH
1. В `.env`: `SHOP_ROOT`, `ADMIN_UPDATE_ENABLED=1`
2. Sudoers для `www-data` на `scripts/admin-web-update.sh` (см. `/admin/system`)
3. Админ → **Обновление** → проверить Git → ввести `update`
## Тег и Release в Gitea
```bash
git tag -a v1.0.0 -m "Release 1.0.0"
git push origin v1.0.0
export GITEA_TOKEN=...
bash scripts/publish-gitea-release.sh 1.0.0
```
Полный список: [CHANGELOG.md](../CHANGELOG.md)
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "shop",
"version": "0.20.0",
"version": "1.0.0",
"description": "Интернет-магазин на Node.js с PostgreSQL 17",
"main": "src/server.js",
"scripts": {
+1 -1
View File
@@ -1,6 +1,6 @@
# Shop — документация
Интернет-магазин на **Node.js** и **PostgreSQL 17**.
Интернет-магазин на **Node.js** и **PostgreSQL 17**. Текущий релиз: **v1.0.0** (см. [CHANGELOG](../CHANGELOG.md), [RELEASE-1.0](../docs/RELEASE-1.0.md)).
## Способы установки