forked from admin/runners-calendar
docs: document compact race filters release
This commit is contained in:
36
CHANGELOG.md
36
CHANGELOG.md
@@ -5,25 +5,15 @@
|
|||||||
Дата означает дату попадания изменения в `main`; она не заменяет дату production-деплоя.
|
Дата означает дату попадания изменения в `main`; она не заменяет дату production-деплоя.
|
||||||
Планируемые версии не вносятся сюда до выпуска — они находятся в [docs/product-backlog.md](docs/product-backlog.md).
|
Планируемые версии не вносятся сюда до выпуска — они находятся в [docs/product-backlog.md](docs/product-backlog.md).
|
||||||
|
|
||||||
## В работе
|
## Backend
|
||||||
|
|
||||||
### Backend 1.6.0
|
### [1.6.0] — 2026-07-13
|
||||||
|
|
||||||
#### Added
|
#### Added
|
||||||
|
|
||||||
- Управление паролем и сессиями: проверка текущего пароля, список активных сессий, отзыв выбранной или всех остальных сессий.
|
- Управление паролем и сессиями: проверка текущего пароля, список активных сессий, отзыв выбранной или всех остальных сессий.
|
||||||
- Фильтрация стартов по статусу, периоду и дистанции; backfill и обновление автоматически получаемых обложек.
|
- Фильтрация стартов по статусу, периоду и дистанции; backfill и обновление автоматически получаемых обложек.
|
||||||
|
|
||||||
### Frontend 0.9.0
|
|
||||||
|
|
||||||
#### Added
|
|
||||||
|
|
||||||
- Экран «Аккаунт»: подтверждённый email, смена пароля и управление другими активными сессиями.
|
|
||||||
- На дашборде появились фильтруемые «Последние старты» с пагинацией и переходом в старт, ссылки из карточек рекордов и интерактивный график прогресса.
|
|
||||||
- Поиск, фильтры, сортировка и экспорт истории; график прогресса переведён на AG Charts.
|
|
||||||
|
|
||||||
## Backend
|
|
||||||
|
|
||||||
### [1.4.2] — 2026-07-12
|
### [1.4.2] — 2026-07-12
|
||||||
|
|
||||||
#### Changed
|
#### Changed
|
||||||
@@ -93,6 +83,28 @@
|
|||||||
|
|
||||||
## Frontend
|
## Frontend
|
||||||
|
|
||||||
|
### [0.10.0] — 2026-08-13
|
||||||
|
|
||||||
|
#### Changed
|
||||||
|
|
||||||
|
- Основные фильтры календаря оставлены в hero-блоке, а расширенные фильтры перенесены в компактную раскрываемую панель со счётчиком активных условий.
|
||||||
|
|
||||||
|
#### Fixed
|
||||||
|
|
||||||
|
- В конфигурацию TypeScript для Vite добавлены DOM-типы.
|
||||||
|
|
||||||
|
### [0.9.3] — 2026-07-14
|
||||||
|
|
||||||
|
#### Added
|
||||||
|
|
||||||
|
- Экран «Аккаунт»: подтверждённый email, смена пароля и управление другими активными сессиями.
|
||||||
|
- На дашборде появились фильтруемые «Последние старты» с пагинацией и переходом в старт, ссылки из карточек рекордов и интерактивный график прогресса.
|
||||||
|
- Поиск, фильтры, сортировка и экспорт истории; график прогресса переведён на AG Charts.
|
||||||
|
|
||||||
|
#### Fixed
|
||||||
|
|
||||||
|
- Упрощён обзор календаря стартов и зарегистрированы модули AG Charts.
|
||||||
|
|
||||||
### [0.7.1] — 2026-07-12
|
### [0.7.1] — 2026-07-12
|
||||||
|
|
||||||
#### Changed
|
#### Changed
|
||||||
|
|||||||
20
README.md
20
README.md
@@ -4,15 +4,15 @@
|
|||||||
|
|
||||||
## Переменные окружения
|
## Переменные окружения
|
||||||
|
|
||||||
Один шаблон для локальной разработки и для Docker-стека: `**[.env.example](.env.example)`** → скопируйте в `**.env**` в корне репозитория.
|
Один шаблон для локальной разработки и Docker-стека: [.env.example](.env.example) → скопируйте в `.env` в корне репозитория.
|
||||||
|
|
||||||
Там же перечислены `**DB_HOST**`, `**DB_PORT**`, `**DB_NAME**`, `**DB_USER**`, `**DB_PASSWORD**` (подключение бэкенда к БД), `**PORT**` / `**API_PORT**` и `**CORS_ORIGIN**`.
|
Там же перечислены `DB_HOST`, `DB_PORT`, `DB_NAME`, `DB_USER`, `DB_PASSWORD` (подключение бэкенда к БД), `PORT` / `API_PORT` и `CORS_ORIGIN`.
|
||||||
|
|
||||||
## Backend — локально
|
## Backend — локально
|
||||||
|
|
||||||
1. `cd backend && npm install`
|
1. `cd backend && npm ci`
|
||||||
2. Корень: `cp .env.example .env`, задайте `DB_*` (и при необходимости `CORS_ORIGIN`).
|
2. Корень: `cp .env.example .env`, задайте `DB_*` (и при необходимости `CORS_ORIGIN`).
|
||||||
3. Postgres: из корня `docker compose up -d` (см. `[docker-compose.yml](docker-compose.yml)`) — в compose используются те же `DB_NAME`, `DB_USER`, `DB_PASSWORD` из `.env`.
|
3. Postgres: из корня `docker compose up -d` (см. [docker-compose.yml](docker-compose.yml)) — в compose используются те же `DB_NAME`, `DB_USER`, `DB_PASSWORD` из `.env`.
|
||||||
4. `cd backend && npm run db:migrate && npm run seed`
|
4. `cd backend && npm run db:migrate && npm run seed`
|
||||||
5. Dev-режим: `npm run dev`
|
5. Dev-режим: `npm run dev`
|
||||||
6. Или production: `npm run build && npm start`
|
6. Или production: `npm run build && npm start`
|
||||||
@@ -22,15 +22,15 @@
|
|||||||
```bash
|
```bash
|
||||||
cd frontend
|
cd frontend
|
||||||
cp .env.example .env
|
cp .env.example .env
|
||||||
npm install
|
npm ci
|
||||||
npm run dev
|
npm run dev
|
||||||
```
|
```
|
||||||
|
|
||||||
Фронт всегда отправляет запросы на относительный префикс `**/api**`. В dev это проксирует Vite на `http://localhost:3001`, в Docker/проде — nginx фронта проксирует на `runners-calendar-backend:3000`. У бэкенда `CORS_ORIGIN` должен совпадать с origin приложения (например `http://localhost:5173`).
|
Фронт всегда отправляет запросы на относительный префикс `/api`. В dev это проксирует Vite на `http://localhost:3001`, в Docker/проде — nginx фронта проксирует на `runners-calendar-backend:3000`. У бэкенда `CORS_ORIGIN` должен совпадать с origin приложения (например `http://localhost:5173`).
|
||||||
|
|
||||||
## Docker: backend + frontend рядом с Postgres
|
## Docker: backend + frontend рядом с Postgres
|
||||||
|
|
||||||
Используйте `[docker-compose.stack.yml](docker-compose.stack.yml)`: общая **внешняя** сеть с контейнером Postgres (как в вашей инфраструктуре). В корне должен быть `**.env`** (из `.env.example`): `DB_HOST` — имя сервиса/контейнера Postgres в этой сети, `DB_PORT=5432`, плюс остальные `DB_*` и `**CORS_ORIGIN=http://localhost:3033**`, если заходите на фронт с хоста на порту 3033.
|
Используйте [docker-compose.stack.yml](docker-compose.stack.yml): общая **внешняя** сеть с контейнером Postgres (как в вашей инфраструктуре). В корне должен быть `.env` (из `.env.example`): `DB_HOST` — имя сервиса/контейнера Postgres в этой сети, `DB_PORT=5432`, плюс остальные `DB_*` и `CORS_ORIGIN=http://localhost:3033`, если заходите на фронт с хоста на порту 3033.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
docker compose -f docker-compose.stack.yml up -d --build
|
docker compose -f docker-compose.stack.yml up -d --build
|
||||||
@@ -38,9 +38,11 @@ docker compose -f docker-compose.stack.yml exec runners-calendar-backend node di
|
|||||||
docker compose -f docker-compose.stack.yml exec runners-calendar-backend node dist/seed.js
|
docker compose -f docker-compose.stack.yml exec runners-calendar-backend node dist/seed.js
|
||||||
```
|
```
|
||||||
|
|
||||||
Фронт в браузере обращается к API по префиксу `**/api**` (nginx в образе фронта проксирует на сервис `runners-calendar-backend` в той же сети).
|
Фронт в браузере обращается к API по префиксу `/api` (nginx в образе фронта проксирует на сервис `runners-calendar-backend` в той же сети).
|
||||||
|
|
||||||
## Документация API и бэкенда
|
## Документация
|
||||||
|
|
||||||
- [Шпаргалка API для фронта](docs/backend-api-for-frontend.md)
|
- [Шпаргалка API для фронта](docs/backend-api-for-frontend.md)
|
||||||
- [Эксплуатация backend](docs/backend.md)
|
- [Эксплуатация backend](docs/backend.md)
|
||||||
|
- [Продуктовый бэклог](docs/product-backlog.md)
|
||||||
|
- [Changelog](CHANGELOG.md)
|
||||||
|
|||||||
4
frontend/package-lock.json
generated
4
frontend/package-lock.json
generated
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "calendar-run-frontend",
|
"name": "calendar-run-frontend",
|
||||||
"version": "0.9.3",
|
"version": "0.10.0",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "calendar-run-frontend",
|
"name": "calendar-run-frontend",
|
||||||
"version": "0.9.3",
|
"version": "0.10.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"ag-charts-community": "^14.0.0",
|
"ag-charts-community": "^14.0.0",
|
||||||
"ag-charts-react": "^14.0.0",
|
"ag-charts-react": "^14.0.0",
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "calendar-run-frontend",
|
"name": "calendar-run-frontend",
|
||||||
"private": true,
|
"private": true,
|
||||||
"version": "0.9.3",
|
"version": "0.10.0",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "vite",
|
"dev": "vite",
|
||||||
|
|||||||
Reference in New Issue
Block a user