# Profnaviqator — MVP Model

**Документ:** MVP-модель продукта  
**Проект:** Profnaviqator.az  
**Статус:** Зафиксировано для текущего этапа  
**Дата:** 08.05.2026

---

## 1. Цель MVP

Цель текущего этапа — проверить, что базовая end-to-end модель Profnaviqator работает технически и операционно.

MVP не должен решать все будущие задачи платформы. Главная задача — подтвердить рабочий цикл:

```text
Админ / психолог
    ↓
создаёт ученика / клиента
    ↓
система генерирует персональную ссылку
    ↓
ученик открывает ссылку
    ↓
проходит тест
    ↓
ответы сохраняются
    ↓
админ / психолог видит результат
    ↓
психолог проверяет результат
    ↓
психолог добавляет комментарии / рекомендации
    ↓
отчёт утверждается
    ↓
отчёт передаётся родителю вручную
```

Если этот цикл работает стабильно, MVP можно считать технически подтверждённым.

---

## 2. Роли в MVP

### 2.1 Админ / психолог / оператор

Основной пользователь платформы.

Функции:

- вход в dashboard;
- создание ученика / клиента;
- генерация персональной ссылки на тест;
- контроль статуса прохождения теста;
- просмотр результатов;
- добавление комментариев и рекомендаций;
- утверждение отчёта;
- ручная передача отчёта родителю.

На MVP роли админа, психолога и оператора могут быть объединены в одну рабочую роль.

---

### 2.2 Ученик

Ученик не регистрируется в системе и не имеет личного кабинета.

Ученик получает персональную ссылку и проходит тест.

Пример ссылки:

```text
https://www.profnaviqator.az/test/?token=UNIQUE_TEST_TOKEN
```

Сценарий ученика:

1. Открывает персональную ссылку.
2. Видит инструкцию.
3. Проходит назначенный тест.
4. Завершает тест.
5. Получает сообщение, что тест завершён.

Ученик не должен видеть финальный интерпретационный отчёт автоматически сразу после завершения теста.

---

### 2.3 Родитель

Родитель на MVP не является пользователем платформы.

Родитель рассматривается как контакт, которому передаётся результат после проверки психологом.

В системе можно хранить:

- имя родителя;
- телефон;
- email;
- связь с учеником;
- способ передачи отчёта;
- статус передачи отчёта;
- заметки по консультации или передаче.

---

## 3. Что не планируется в MVP

На текущем этапе не планируется:

- личный кабинет родителей;
- регистрация родителей;
- пароль для родителей;
- родительский dashboard;
- автоматическая отправка отчёта родителю сразу после теста;
- история отчётов в кабинете родителя;
- управление несколькими детьми родителем внутри платформы;
- онлайн-оплата;
- полноценная CRM;
- сложная ролевая модель;
- публичный SEO-сайт;
- блог;
- массовые email/WhatsApp-рассылки.

Важно: отсутствие личного кабинета родителей — осознанное решение MVP, а не временная недоработка.

---

## 4. Основной MVP-сценарий

### 4.1 Создание ученика

Админ / психолог создаёт ученика в dashboard.

Минимальные поля:

```text
student_name
student_grade
student_language
parent_name
parent_phone
parent_email
created_at
created_by
status
```

Дополнительные поля можно добавить позже.

---

### 4.2 Генерация персональной ссылки

После создания ученика система создаёт уникальный token.

Пример:

```text
https://www.profnaviqator.az/test/?token=8F3K92LQ
```

Token должен быть связан с конкретным учеником и тестовой сессией.

Минимальные данные тестовой сессии:

```text
session_id
token
student_id
assigned_tests
status
created_at
started_at
completed_at
expires_at
```

Статусы:

```text
not_started
in_progress
completed
expired
cancelled
```

---

### 4.3 Прохождение теста

Когда ученик открывает ссылку, система должна проверить:

1. token существует;
2. token активен;
3. тест ещё не завершён;
4. какие тесты назначены;
5. язык интерфейса;
6. статус сессии.

После начала теста статус меняется на:

```text
in_progress
```

После завершения:

```text
completed
```

---

### 4.4 Сохранение ответов

Ответы ученика должны сохраняться надёжно.

Минимальная структура:

```text
session_id
student_id
token
answers
started_at
completed_at
status
```

Критичное правило: если ответы не сохраняются стабильно, весь MVP считается неготовым.

---

### 4.5 Результат в dashboard

После завершения теста админ / психолог должен видеть:

- имя ученика;
- класс;
- дату прохождения;
- статус теста;
- базовый результат / баллы / категории;
- ссылку на черновик отчёта;
- поле для комментариев психолога;
- статус review / approval.

---

## 5. Report Review & Delivery Flow

Отчёт не должен автоматически передаваться родителю сразу после завершения теста.

Правильная логика:

```text
Ученик завершил тест
    ↓
система формирует черновик отчёта
    ↓
психолог открывает результат в dashboard
    ↓
психолог проверяет результат
    ↓
психолог добавляет комментарии / рекомендации
    ↓
психолог утверждает отчёт
    ↓
отчёт становится готовым к передаче родителю
```

---

## 6. Способы передачи отчёта родителю

Родитель получает отчёт вручную одним из способов:

1. На консультации.
2. PDF-файлом через WhatsApp.
3. PDF-файлом по email.
4. Лично / офлайн при встрече.
5. Ссылкой на скачивание PDF после проверки и approval психологом.

---

## 7. Ссылка на скачивание отчёта

Ссылка на скачивание может быть добавлена в MVP или в ближайший следующий этап, но только при соблюдении главного правила:

> Ссылка появляется только после проверки и утверждения отчёта психологом.

Пример:

```text
https://www.profnaviqator.az/report/?token=UNIQUE_REPORT_TOKEN
```

Желательные требования к ссылке:

- уникальный token;
- доступ только к одному отчёту;
- отчёт доступен только после approval;
- возможность отключить ссылку вручную;
- желательно ограничить срок действия ссылки;
- страница не должна индексироваться поисковыми системами.

---

## 8. Статусы отчёта

Рекомендуемые статусы:

```text
not_generated
report_draft_generated
under_psychologist_review
approved
sent_by_whatsapp
sent_by_email
download_link_sent
delivered_during_consultation
delivered_offline
consultation_completed
```

Для dashboard можно показывать более короткие человекочитаемые статусы:

```text
Not prepared
Draft generated
Under review
Approved
Sent by WhatsApp
Sent by Email
Download link sent
Delivered during consultation
Delivered offline
Consultation completed
```

---

## 9. Delivery Notes

В dashboard желательно предусмотреть поле:

```text
delivery_notes
```

Примеры записей:

```text
PDF отправлен матери по WhatsApp 12.05.2026.
Консультация проведена офлайн.
PDF отправлен на email родителя.
Ссылка на скачивание отправлена отцу через WhatsApp.
```

Это позволит контролировать процесс без создания личного кабинета родителей.

---

## 10. Минимальная URL-структура

Рекомендуемая структура:

```text
/                         → вход / dashboard entry
/admin/                   → dashboard администратора / психолога
/test/?token=...          → прохождение теста учеником
/report/?token=...        → просмотр или скачивание утверждённого отчёта
```

На MVP главная страница не должна быть маркетинговым лендингом. Она должна вести к dashboard или выполнять роль технической входной страницы.

---

## 11. Минимальная структура данных

### students

```text
student_id
student_name
grade
language
parent_name
parent_phone
parent_email
created_at
created_by
status
```

### test_sessions

```text
session_id
token
student_id
assigned_tests
status
created_at
started_at
completed_at
expires_at
```

### answers

```text
answer_id
session_id
student_id
answers
created_at
completed_at
```

### results

```text
result_id
session_id
student_id
scores
categories
summary
created_at
```

### reports

```text
report_id
session_id
student_id
report_status
psychologist_comments
recommendations
approved_by
approved_at
delivery_method
delivery_status
delivery_notes
download_token
download_link_expires_at
```

---

## 12. Текущий технический фокус

На текущем этапе фокус только на проверке модели.

Приоритеты:

1. Исправить 404 на Vercel.
2. Сделать рабочую точку входа.
3. Проверить dashboard.
4. Проверить создание ученика.
5. Проверить генерацию персональной ссылки.
6. Проверить прохождение теста по token.
7. Проверить сохранение ответов.
8. Проверить отображение результата в dashboard.
9. Проверить базовый report review flow.
10. Проверить ручную передачу отчёта / фиксацию delivery status.

---

## 13. Backlog: учесть на будущее, но не делать сейчас

### Product improvements

- Улучшенный UI dashboard.
- PDF-генерация с фирменным дизайном.
- Многоязычность AZ / RU / EN.
- История тестирований ученика.
- Повторное тестирование через 6–12 месяцев.

### Commercial layer

- Онлайн-оплата.
- Пакеты услуг.
- Купоны / промокоды.
- Инвойсы.
- CRM для школ и партнёров.

### Analytics and AI

- AI-интерпретация результатов.
- Персональные рекомендации профессий.
- Рекомендации по направлениям обучения.
- Рекомендации вузов / колледжей / курсов.
- Аналитика по школам, классам и возрастным группам.

### Integrations

- WhatsApp-уведомления.
- Email-уведомления.
- Telegram bot.
- Google Sheets export.
- Firebase Analytics events.

### Legal and compliance

- Политика конфиденциальности.
- Условия использования.
- Родительское согласие на тестирование.
- Правила хранения персональных данных.
- Процедура удаления данных по запросу.

### Not planned now

- Личный кабинет родителей.
- Родительский dashboard.
- Автоматическая выдача отчёта родителю без проверки психолога.

---

## 14. Ключевое решение

Profnaviqator MVP — это закрытая рабочая платформа для админа / психолога, где ученик проходит тест по персональной ссылке, а родитель получает отчёт только после профессиональной проверки психологом.

Родитель на MVP — не пользователь платформы, а контакт для передачи отчёта и консультации.

---

*Profnaviqator | MVP Model | 08.05.2026*
