Веб-приложение app.seodoctor.dev (или cours.site/app). Те же данные, что Telegram-бот: projects, audit_runs, этапы 1–3.
| Пункт | URL | Назначение |
|---|---|---|
| Дашборд | /app | Все проекты, сводка CI |
| Проекты | /app/projects | Список сайтов |
| История | /app/history | Все прогоны workspace |
| Команда | /app/team | Участники и роли — Team+ |
| Интеграции | /app/integrations | CI, webhook — Team+ |
| Тариф | /app/billing | План, лимиты, оплата |
| Настройки | /app/settings | Профиль, Telegram, уведомления |
Site: скрыть «Команда» и «Интеграции» (или badge «Team»). Free: редирект в бота + billing upgrade.
Блоки
Действия
Клик по проекту → карточка проекта
Создать → редирект на проект + предложение stage1
Запуск этапа → очередь → live status → отчёт
Повтор → новый run; следующий этап → stage+1
Строка → /app/runs/:id
Upgrade → оплата; докупить прогоны (опционально)
Сохранить; отвязать Telegram
┌─────────────────────────────────────────────────────────┐ │ SEO Doctor [Workspace ▼] Иван [Настройки] │ ├──────────┬──────────────────────────────────────────────┤ │ Дашборд │ Добро пожаловать, Workspace «Acme» │ │ Проекты │ ┌────────┐ ┌────────┐ ┌────────┐ │ │ История │ │ 3 │ │ 12/150 │ │ 1 BLOCK│ │ │ Тариф │ │проекта │ │прогонов│ │сейчас │ │ │ Настройки│ └────────┘ └────────┘ └────────┘ │ │ │ Проекты │ │ │ ┌──────────────────────────────────────────┐│ │ │ │ cours.site Этап 2 CI OK 16.07 ││ │ │ │ shop.ru Этап 1 BLOCK 15.07 [!] ││ │ │ └──────────────────────────────────────────┘│ │ │ [+ Добавить проект] [Запустить этап 1] │ └──────────┴──────────────────────────────────────────────┘
shop.ru Последний: CI BLOCK ───────────────────────────────────────────────────── Этапы: [1 База ✓] → [2 Детально ●] → [3 Production ○] [Запустить этап 1] [Запустить этап 2] [Запустить этап 3] Последний отчёт (этап 2, 15.07) Critical: 2 Warning: 5 Info: 3 → 3 битые ссылки, 2 без H1 ... [Открыть полный отчёт] Динамика critical (последние 5 прогонов): 5 → 3 → 2 → 2 → 2 История прогонов ▼
| Роль | Видит | Может |
|---|---|---|
| owner | Всё | billing, team, delete workspace |
| admin | Почти всё | без смены владельца |
| seo | Аудиты | запуск этапов, отчёты, без billing |
| developer | CI + отчёты | интеграции, без приглашений |
| viewer | Чтение | дашборд и отчёты |
| Фаза | Состав | Оценка |
|---|---|---|
| Фаза 1 | Login (magic link) + дашборд + проект + отчёт | 2–3 нед |
| Фаза 2 | История + billing read-only + лимиты | 2 нед |
| Фаза 3 | Оплата + team + CI карточка | 3–4 нед |
API: FastAPI или Node поверх Postgres. Frontend: React/Next на cours.site/app.
Auth: magic link + Telegram link. Worker: тот же seo_doctor.run_audit, что в боте.