Apply reference design to Astro and add screenshot storage
This commit is contained in:
@@ -14,9 +14,10 @@ docker compose up --build
|
||||
|
||||
- сайт: <http://localhost:4321>;
|
||||
- OpenAPI: <http://localhost:8000/docs>;
|
||||
- проверка API: <http://localhost:8000/health>.
|
||||
- проверка API: <http://localhost:8000/health>;
|
||||
- консоль MinIO: <http://localhost:9001>.
|
||||
|
||||
Контейнер API сам выполняет `alembic upgrade head`, затем идемпотентный seed. PostgreSQL хранит данные в именованном volume `postgres_data`.
|
||||
Контейнер API сам выполняет `alembic upgrade head`, затем идемпотентный seed. PostgreSQL хранит данные в именованном volume `postgres_data`, а MinIO — в `minio_data`.
|
||||
|
||||
Остановка:
|
||||
|
||||
@@ -41,13 +42,14 @@ docker compose up --build
|
||||
- `GET /api/v1/activity` с фильтрами периода, водоёма, рыбы, способа и сортировки;
|
||||
- `GET /api/v1/spots/{id}` и `/catches`;
|
||||
- справочники рыб, водоёмов и приманок;
|
||||
- Astro SSR-интерфейс с адаптивной главной и страницей точки;
|
||||
- Astro SSR-интерфейс с адаптивным дизайном из `design-reference` без переноса React/Vinext-стека;
|
||||
- объяснимые индексы активности и уверенности по формуле спецификации;
|
||||
- состояния «нет данных» и «источник недоступен»;
|
||||
- идемпотентный импорт официальных записей с журналом запусков;
|
||||
- публичная страница `/records` с источником и временем последнего импорта;
|
||||
- форма `/report`, защищённые admin API и журнал модерации;
|
||||
- honeypot и базовый лимит отправок.
|
||||
- honeypot и базовый лимит отправок;
|
||||
- скриншоты уловов в MinIO/S3 с декодированием изображения, ограничением размера и очисткой метаданных.
|
||||
|
||||
Все пользовательские ники и уловы в seed демонстрационные.
|
||||
|
||||
@@ -98,7 +100,7 @@ curl -H "Authorization: Bearer change-me-in-production" \
|
||||
"http://localhost:8000/api/v1/admin/catch-reports?status=pending"
|
||||
```
|
||||
|
||||
Перед внешним развёртыванием обязательно замените демонстрационный `ADMIN_TOKEN`. Скриншоты пока не принимаются: следующим шагом для них подключается MinIO/S3 с проверкой MIME, размера и очисткой EXIF.
|
||||
Перед внешним развёртыванием обязательно замените демонстрационный `ADMIN_TOKEN`, а также значения `S3_ACCESS_KEY` и `S3_SECRET_KEY`. Форма принимает JPEG, PNG и WebP до 8 МБ; API повторно кодирует изображение и удаляет EXIF перед сохранением в MinIO. Модератор получает временную подписанную ссылку через admin API.
|
||||
|
||||
## Исследовательский парсер официальных рекордов
|
||||
|
||||
|
||||
Reference in New Issue
Block a user