Skip to content

DRevent — обзор продукта

Последняя сверка с кодом: 2026-06-14
Аудитория: новые участники команды, QA, аналитики, дизайнеры


В двух словах

DRevent (в коде — EventPass) — веб-сервис для общего фото/видео-альбома на мероприятии.

  • Гость открывает ссылку или QR — без приложения и без регистрации — смотрит альбом, загружает фото/видео, ставит лайки.
  • Организатор регистрируется, создаёт событие, настраивает доступ, модерацию, брендинг, скачивает архив.
  • На проекторе — отдельный URL wall: слайдшоу с автообновлением (SSE).

Прод: drevent.app. Локально: frontend :3000, API :3002.


Персоны

ПерсонаАккаунтТипичный входГлавная цель
Гостьне нуженQR / ссылка /:eventIdПосмотреть и загрузить медиа
Организатор (OWNER)email + парольлендинг → регистрация → /accountСоздать событие, управлять альбомом
Модераторестьприглашение OWNERМодерация загрузок, админка события
Участник (MEMBER)естьинвайт /:id/join?token=…Загружать в закрытое событие, удалять своё
SUPER_ADMINесть (seed/ручная выдача)/adminПользователи, события, тарифы платформы

Принцип: гостей никогда не заставляем регистрироваться. Аккаунт — для организаторов и команды события.


Карта разделов (верхний уровень)

mermaid
flowchart TB
  subgraph marketing [Маркетинг]
    Landing["/ — лендинг"]
    Pricing["/pricing"]
    Legal["/terms, /privacy"]
  end

  subgraph guest [Гость — без логина]
    Album["/:id — альбом"]
    Share["/:id/share — QR и ссылки"]
    Wall["/:id/wall — слайдшоу"]
    Join["/:id/join — вход MEMBER"]
  end

  subgraph organizer [Организатор — с логином]
    Cabinet["/account — дашборд"]
    MyEvents["/my-events — список"]
    Profile["/profile — аккаунт"]
    EventAdmin["/:id/manage"]
    Settings["/:id/settings"]
    Members["/:id/members"]
    Moderate["/:id/moderate"]
  end

  subgraph platform [Платформа SUPER_ADMIN]
    AdminUsers["/admin/users"]
    AdminEvents["/admin/events"]
    AdminPlans["/admin/plans"]
  end

  Landing --> Album
  Album --> Share
  Album --> Wall
  Cabinet --> MyEvents
  Cabinet --> EventAdmin

Три «мира» приложения

1. Публичная зона (маркетинг)

  • Лендинг с формой создания события (нужен логин → модалка auth).
  • Тарифы, FAQ, legal.
  • Layout: landing, сквозной AppSiteHeader.

2. Событие (гость + медиа)

  • ID события в URL: svadba-anna-x7k2 (slug + короткий суффикс).
  • Доступ по знанию ссылки + опциональные ограничения в EventSettings (QR, альбом, ZIP).
  • Загрузка через TUS (докачка при обрыве сети).
  • Live-обновления альбома и wall через SSE.

3. Аккаунт (организатор и команда)

  • После входа: /account, /my-events, /profile.
  • Админка конкретного события — sidebar + header (layout: account).
  • Платформа /admin/* — только SUPER_ADMIN.

Ключевые пользовательские сценарии

#СценарийКтоКратко
S1Открыть альбом по QRГость/:id → сетка фото → лайтбокс
S2Загрузить фото с телефонаГость / MEMBERUpload → TUS → превью в сетке
S3Слайдшоу на экранеГость / организатор/:id/wall, авто-новые кадры
S4Создать событиеOWNERЛендинг → auth → POST event → /share
S5Скачать всё ZIPКто разрешено settingsAdmin или альбом
S6МодерацияMODERATOR / OWNER/:id/moderate approve/reject
S7Пригласить модератораOWNER/:id/members
S8Закрытое событиеMEMBERjoin link → upload
S9Управление аккаунтомЛюбой залогиненный/profile, сессии, пароль

Подробные диаграммы — в 05-user-flows.md (фаза C).


Конкуренты (кратко)

СервисРынокЗаметка
TamadobaRUГлавный ориентир: свадьбы/праздники, тарифы, legal, guest UX
GuestPix, Kululu, POVglobalQR-альбомы, wedding flow, settings

Детальное сравнение и референсы для дизайна — 11-design-brief.md §8.


Технический контекст (одним абзацем)

Monorepo: Express + Prisma + Postgres + Better Auth (backend), Nuxt 4 с гибридным SSR на Cloudflare Pages (frontend). API — Swagger /api/docs. Медиа — R2 (prod). План фич — PLAN.md. SSR/OG — 26-ssr-migration.md.


Что дальше читать

ВопросДокумент
Что значит «wall», «TUS», «qrAccess»?01-glossary.md
Какие страницы и layouts?02-frontend-map.md
Какие API и сервисы?03-backend-map.md
Кто что может?04-roles-and-access.md
Как тестировать?06-qa-scenarios.md
Запуск локально?10-developer-setup.md
Как устроен SSR / OG?26-ssr-migration.md
Auth UI (модалка)21-auth-frontend.md

Локальная проверка

bash
npm run dev          # :3000 + :3002

Seed: dev@local.test / dev123456, событие demo-eventhttp://localhost:3000/demo-event