Skip to content

Глоссарий DRevent

Последняя сверка с кодом: 2026-06-06
Термины продукта и связь с кодом. При расхождении — код и PLAN.md главнее wiki.


Продукт и бренд

ТерминОпределениеВ коде / UI
DReventПубличное имя продукта, домен drevent.appDReventLogo, meta title
EventPassИмя репозитория / npm workspacespackage.json, @eventpass/api
Событие (Event)Один альбом = одно мероприятие. Имеет title, date, owner, settingsEvent, /:id/*
АльбомUI просмотра медиа событияpages/[id]/index.vue, MediaGrid
WallПолноэкранное слайдшоу для экрана/проектораpages/[id]/wall.vue, SlideshowPlayer
ShareСтраница QR и ссылок для гостейpages/[id]/share.vue, QrShare

Пользователи и роли

ТерминОпределениеВ коде
Гость (GUEST)Не залогинен. Доступ по URL событияoptionalAuth, нет записи в EventRole
OWNERСоздатель/владелец события. Полные права на событиеEventRoleType.OWNER, Event.ownerId
MODERATORНазначен OWNER. Админка + модерацияEventRoleType.MODERATOR
MEMBERУчастник по инвайт-ссылке. Upload + удаление своих файловEventRoleType.MEMBER, /:id/join
SUPER_ADMINАдминистратор платформыGlobalRole.SUPER_ADMIN, /admin/*
АккаунтЛичная зона организатора после входа/account, layout: account

Доступ и настройки

ТерминОпределениеВ коде
EventSettingsНастройки события 1:1: доступ, лимиты, брендинг, модерацияEventSettings, /:id/settings
qrAccessКто может открыть событие по QR/ссылкеAccessScope на поле qrAccess
albumVisibilityКто видит медиа в альбомеalbumVisibility
zipAccessКто может скачать ZIP архивzipAccess
AccessScopeALL · MEMBERS_ONLY · OWNER_ONLY · INVITE_ONLYconstants/accessScope.ts
memberInviteTokenСекрет для ссылки приглашения MEMBER/:id/join?token=
ModerationPRE-moderation: новые файлы PENDING до approveModerationStatus, /:id/moderate

Медиа и загрузка

ТерминОпределениеВ коде
MediaОдно фото или видео в альбомеMedia, kind: photo | video
TUSПротокол докачиваемой загрузки (чанки, resume)/api/tus, useUploader, @tus/server
Превью / posterУменьшенное изображение для сетки; для видео — кадрsharp / ffmpeg pipeline
BlurHashКомпактный placeholder пока грузится превьюblurhashUtil
LikeЛайк на медиа (авторизованный пользователь)MediaLike, likeService
Guest nameИмя гостя без аккаунта (localStorage)useGuestName, GuestNameModal

Auth и аккаунт

ТерминОпределениеВ коде
Better AuthБиблиотека auth: email/password, сессии в httpOnly cookie/api/auth/*, config/auth.ts
AuthModalЕдиная модалка: login, register, forgot, resetAuthModal.vue, ?auth=login
SessionСерверная сессия браузераSession, useAuth
revokeOtherSessionsВыйти на других устройствах, текущая сессия остаётсяuseAuth.revokeOtherSessions

Подробнее: 21-auth-frontend.md.


Тарифы и лимиты

ТерминОпределениеВ коде
UserPlanТариф пользователя: FREE, BASE, PROUser.plan, /api/plans
Plan limitsЛимиты на число событий, медиа и т.д.planLimitsService, middleware
BillingОплата тарифовНе реализовано (PLAN 23.5 отложено)

Live и инфраструктура

ТерминОпределениеВ коде
SSEServer-Sent Events — push новых медиа в альбом/walluseEventStream, utils/sse.ts
StorageХранилище файлов: LocalDisk (dev) / R2 (prod)services/storage/
OpenAPI / SwaggerКонтракт REST API/api/docs, @eventpass/api codegen

UI и layouts

ТерминОпределениеГде
AppSiteHeaderСквозной header: public и cabinetcomponents/layout/AppSiteHeader.vue
landing layoutМаркетинговые страницыlayouts/landing.vue
cabinet layoutSidebar + header для аккаунта и админки событияlayouts/account.vue
fullscreen layoutБез chrome — walllayouts/fullscreen.vue
UiPageErrorInline ошибка (404, 403, offline) вместо отдельной страницыUiPageError.vue

ID и URL

ТерминОпределениеПример
Event IDHuman-readable slug + суффиксdemo-event, svadba-anna-x7k2
Media IDВнутренний nanoid, не в marketing URLв API и TUS metadata

Сокращения в доках

Аббрев.Значение
QAQuality Assurance, тестирование
MVPМинимально жизнеспособный продукт
SSEServer-Sent Events
TUSResumable upload protocol