germanandClaude Opus 4.8 3f1c5dbd7b feat(bot): сайт-адаптер единого бота флота + фикс redirect на 1nika.ru
Реализован контракт /api/bot/* из servaki-webhub-bot/SPEC.md:
- GET  /api/bot/health (публичный) -> {ok, site}
- GET  /api/bot/publications?status=&limit= -> список works
- POST /api/bot/publications {title,body,media[]} -> черновик works -> {id}
- POST /api/bot/publications/:id/publish -> published -> {id,url}
- DELETE /api/bot/publications/:id -> удаление (media cascade)
- POST /api/bot/materials (multipart file) -> media -> {id,url}

Аутентификация Authorization: Bearer <BOT_API_TOKEN> (middleware/botAuth,
сравнение постоянного времени; 503 без токена в env, 401 при несовпадении).
Маппинг: публикация<->works, материал<->media. Миграция bot_adapter.sql
разрешает media.type='file'. multer 2.x.

Фикс Яндекс-redirect и домена: nika-gallery.ru -> 1nika.ru в .env.example
(YANDEX_REDIRECT_URI, FRONTEND_URL, SITE_URL, NEXT_PUBLIC_*, SMTP_USER) и
nginx server_name. Секреты не в git (client_id/secret - на Я.Диске).

Добавлен docs/DEPLOY.md (VPS runbook: DNS, .env, SSL, миграции, бот).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-05 23:24:20 +03:00

Ника — Галерея & Аукцион

Сайт дизайнера Ники: галерея работ, аукцион, подписки, Telegram-интеграция.

Стек

  • Backend: Node.js/Express (ESM), PostgreSQL 16
  • Frontend: Next.js 14 App Router, TypeScript, Tailwind CSS
  • Real-time: WebSocket (ws)
  • Telegram: grammy
  • Deploy: Docker Compose + Nginx + Let's Encrypt

Структура

nika-gallery/
├── backend/          # Express API (порт 4000)
├── frontend/         # Next.js (порт 3000)
├── db/               # schema.sql + seed.sql
├── nginx/            # nginx.conf
├── scripts/          # import-channel.mjs и утилиты
└── docker-compose.yml

Задачи флота агентов

# Задача Статус Блокирует
1 БД-схема + API-контракт ✅ schema.sql готова —
2 Backend scaffold + Auth pending 1
3 Frontend scaffold pending 1
4 Галерея: CRUD + медиа pending 2,3
5 Аукцион: primary/secondary + WS pending 4
6 Подписки + рассылка pending 2,3
7 Социальный слой pending 4
8 Уведомления владельцу pending 5,7
9 Telegram-бот публикации pending 4
10 Импорт из TG-канала pending 9
11 Docker + деплой + SSL pending 2,3

Быстрый старт

cp .env.example .env
# отредактировать .env
docker compose up -d

Переменные окружения

Смотри .env.example

Связь с оператором

  • Telegram: @Ya26_bot (chat_id 1113994683)
  • Агент-ноутбук: Claude Code на ноутбуке Германа
S
Description
Сайт дизайнера Ники: галерея, аукцион, подписки, Telegram
Readme
4.8 MiB
Languages
TypeScript 51.2%
JavaScript 43.3%
PLpgSQL 3.6%
Dockerfile 1.1%
CSS 0.8%