eaisto-gbo-f207
Реестр Ф-207 + личный кабинет партнёра + админ-контур
Веб-система для учёта свидетельств Ф-207: публичный поиск по VIN/кузову/шасси, кабинет организации для выпуска документов и админ-панель для управления реестром, пользователями и рассылками.
# Контекст
«Нужна единая система, где можно проверить свидетельство Ф-207 в публичном реестре, а уполномоченным организациям — оформлять новые документы в личном кабинете. Плюс админ-контур для контроля пользователей, лимитов и качества данных.»
# Задача
- ✓ Сделать публичный реестр с поиском по VIN, кузову, шасси и номеру Ф-207
- ✓ Реализовать регистрацию с кодом подтверждения на email и вход по сессии
- ✓ Собрать кабинет партнёра: анкета, эксперты, приборы, сертификаты, профиль
- ✓ Добавить оформление свидетельства Ф-207 с валидацией и печатной формой
- ✓ Построить админ-панель: пользователи, организации, реестр, рассылки
- ✓ Защитить доступ к файлам uploads по роли и принадлежности организации
# Архитектура
┌─────────────────────────────────────────────────────────────┐
│ PUBLIC WEB LAYER │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────────┐ │
│ │ Registry UI │ │ Login/SignUp │ │ Static pages │ │
│ │ (F-207 find) │ │ + email code │ │ privacy / terms │ │
│ └──────────────┘ └──────────────┘ └──────────────────┘ │
└──────────────────────────┬──────────────────────────────────┘
│ REST API + Session
┌──────────────────────────▼──────────────────────────────────┐
│ EXPRESS.JS 5 APP │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────┐ │
│ │ Auth │ │ Registry │ │ Cabinet │ │
│ │ verify/mail │ │ search/list │ │ issue/profile/docs │ │
│ └─────────────┘ └─────────────┘ └─────────────────────┘ │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────┐ │
│ │ Admin │ │ Uploads ACL │ │ Bot command bridge │ │
│ │ users/orgs │ │ org/admin │ │ open_url actions │ │
│ └─────────────┘ └─────────────┘ └─────────────────────┘ │
└──────────────────────────┬──────────────────────────────────┘
│ Prisma
┌──────────────────────────▼──────────────────────────────────┐
│ POSTGRESQL │
│ users | organizations | registry | instruments | broadcasts │
│ org_addresses | experts | compliance | email_codes │
│ express_session (connect-pg-simple) │
└─────────────────────────────────────────────────────────────┘
# Модули системы
Поиск Ф-207 по четырём идентификаторам с нормализацией токенов и лимитами запросов
Код подтверждения на email, проверка срока действия кода, учёт верификации
Анкета, эксперты, приборы, сертификаты, выпуск Ф-207, профиль и уведомления
Управление пользователями и организациями, правка реестра, массовые рассылки
Доступ к uploads только администратору или своей организации, без раскрытия структуры
Формирование номера, хранение деталей выдачи, подготовка печатной формы
# Технологии
# Результат
Один контур: публичный реестр + кабинет + админка в единой модели данных
Сценарий выпуска Ф-207 переведён из ручного процесса в структурированную форму
Роли и сессии через PostgreSQL, доступ к документам — по принадлежности организации
Email-коды, уведомления и админ-рассылки закрыли операционные точки коммуникации