P0Вход по телефону и безопасность
#01 В прототипе: обязательный телефон; SMS не отправляются.
Что реализовать
Реализовать нормализацию номера, одноразовые коды с ограниченным сроком, лимиты отправки и попыток, безопасные сессии и выход со всех устройств. Смена номера требует подтверждения личности. Не раскрывать существование аккаунта через ответы формы.
Как принять работу
Истёкший или повторно использованный код не работает; частые запросы ограничены; пользователь может исправить номер и повторить отправку по таймеру. Обновление страницы не обходит лимиты.
Решения и ограничения
Требует согласования: страны и форматы номеров, SMS-провайдер, сроки действия кода, восстановление доступа.
P0Подписка, оплата и доступ
#02 В прототипе: 1 499 ₽/мес.; переход на старый сайт, где пока 899 ₽. Все статусы кабинета демонстрационные.
Что реализовать
Синхронизировать тариф и оформление. Выдавать доступ по подтверждённому платёжному событию, а не по возврату пользователя со страницы оплаты. Обрабатывать повторные и запоздавшие события без двойной выдачи или списания. Отделить отмену продления от окончания доступа.
Как принять работу
После отключения автопродления видны дата окончания доступа и отсутствие следующего списания. Ошибка платежа не отображается как успех. Повтор одного события не меняет результат. Покупки ДПО и USC+ проверяются независимо.
Решения и ограничения
Требует согласования: календарный месяц или 30 дней, часовой пояс расчёта, политика повторных списаний и действующих подписчиков.
P0Сохранность пользовательского текста
#03 В прототипе: localStorage и отдельный буфер восстановления. Это не надёжное облачное хранение.
Что реализовать
Автосохранять черновики на сервере с версиями. Показывать «Сохраняем», время успешного сохранения, ошибку и восстановление. Сохранять локальный резерв до подтверждения сервера. При конфликте между вкладками не перезаписывать текст молча.
Как принять работу
Закрытие вкладки, разрыв сети и истечение сессии не уничтожают подтверждённо сохранённый текст. При открытии с другого устройства доступна серверная версия. Ошибка сохранения явно видна. Правки опубликованной записи не становятся публичными от одного автосохранения.
Решения и ограничения
Для локального хранения определить срок очистки и правила удаления при выходе; не сохранять чувствительные данные без необходимости.
P0Права на материалы и закрытые ответы
#04 В прототипе: скрытые блоки HTML можно прочитать в исходнике.
Что реализовать
Проверять доступ на сервере при каждом запросе и выдаче медиа. Закрытый ответ задачи не передавать до разрешённого раскрытия. Черновики, личная переписка и материалы на проверке доступны только уполномоченным участникам.
Как принять работу
Чужой ID в URL не открывает черновик или переписку. Ответ отсутствует в HTML, JSON, метаданных и общедоступном кеше до разрешённого момента. Закрытый медиаресурс нельзя открыть по постоянной публичной ссылке.
Решения и ограничения
Требует согласования: кто и когда раскрывает ответ — каждый читатель для себя или автор для всех.
P0Изображения и клинические случаи
#05 В прототипе: локальный предпросмотр; файлы исчезают после обновления.
Что реализовать
Создать загрузку с прогрессом, повтором после сбоя и понятными лимитами. Проверять тип и размер на сервере, сканировать файлы, удалять лишние метаданные. Дать врачу инструменты скрытия идентификаторов; автоматическое обнаружение лишь помогает проверке. Случаи проходят редакционную проверку.
Как принять работу
Ошибка одного файла не сбрасывает остальные и текст. Можно удалить неверный файл до отправки. Врач видит финальную версию после обработки. Исходники не доступны публично. Повтор отправки не создаёт дубль случая.
Решения и ограничения
Согласовать форматы, размеры, сроки хранения исходников и ответственность за проверку обезличивания. Медиа не генерировать для подмены клинических данных.
P0Блог: самостоятельная публикация
#06 Утверждено: блог не проходит предварительную проверку редакцией.
Что реализовать
Разделить черновик, опубликованную версию и архив. Публикация — явное действие автора. Обеспечить очистку пользовательского HTML, безопасные ссылки, историю правок и восстановление архива.
Как принять работу
Автор публикует без статуса «На проверке». Автосохранение не публикует. Архивация обратима, а комментарии и ссылки не теряются молча. Пользовательский текст не исполняет скрипты.
Решения и ограничения
Модерация по жалобам и правила контента — отдельное решение; не превращать её в неутверждённую премодерацию блогов.
P1Видеоплеер и прогресс обучения
#07 В прототипе: проценты и даты заданы вручную; «продолжить» открывает страницу.
Что реализовать
Сохранять позицию просмотра по пользователю и материалу, синхронизировать между устройствами. Отличать просмотр лекции от выполнения требований курса. Интегрировать доступ и учебный прогресс с платформой ДПО.
Как принять работу
Кнопка показывает реальное «Продолжить с 18:42»; после входа видео возобновляется близко к сохранённой позиции. Завершённый материал не предлагает продолжить с последних секунд. Перемотка не выдаёт автоматически результат аттестации.
Решения и ограничения
Согласовать пороги завершения, период сохранения позиции и возможности интеграции Skillspace.
P1Сообщения и обсуждения
#08 В прототипе: вымышленные диалоги, локальные комментарии и счётчики.
Что реализовать
Разделить отправку, доставку и прочтение. При сбое сохранять текст и предлагать повтор без дублей. Новое уведомление ведёт к конкретному сообщению или замечанию. Нужны жалоба, блокировка и ограничения спама.
Как принять работу
Непрочитанное снимается по определённому правилу просмотра, а не от открытия кабинета. Несколько вкладок показывают согласованный счётчик. Офлайн-отправка не выглядит доставленной. Собеседник не получает доступ к чужим диалогам.
Решения и ограничения
Согласовать права на личные сообщения и политику хранения; не выводить медицинские сведения в тексте внешних уведомлений.
P1Уведомления без дублирования
#09 В прототипе: выбор событий, основного канала и частоты подборок.
Что реализовать
Единый центр событий. Каналы: кабинет, email, Telegram, MAX. Учитывать настройки и подтверждённое подключение. Использовать уникальный ID события для защиты от повторных доставок; разделить сервисные сообщения и подборки.
Как принять работу
Одно событие не рассылается во все каналы без выбора пользователя. Отписка применяется до следующей рассылки. Недоступный бот не помечается как успешная доставка. Нажатие ведёт к нужному объекту с сохранением безопасного возврата после входа.
Решения и ограничения
Согласовать резервный канал, тихие часы, перечень обязательных сервисных уведомлений и частоту напоминаний.
P1Telegram и MAX: один аккаунт
#10 В прототипе: оба бота обозначены как будущие подключения.
Что реализовать
Привязывать ботов к подтверждённому аккаунту одноразовым ограниченным по времени токеном. Отправленный случай создаёт единый черновик, доступный в кабинете. Напоминать об обезличивании до передачи файлов.
Как принять работу
Повторное событие бота не создаёт вторую задачу. Можно отвязать канал. Чужой или просроченный токен не привязывает аккаунт. Telegram и MAX не создают две отдельные личности пользователя.
Решения и ограничения
Нужно отдельно проверить возможности API обоих сервисов, согласовать хранение файлов и обработку голосового ввода.
P1Персональные рекомендации
#11 В прототипе: фиксированная подборка, раскрытие по три карточки.
Что реализовать
Учитывать выбранные интересы, обучение, сохранения и просмотры. Сначала предлагать подходящие материалы, доступные пользователю. Не продавать повторно приобретённый курс. Давать объяснение рекомендации и действие «Не интересно».
Как принять работу
Подписчик видит корректную метку доступа. При скрытии темы подборка изменяется. Новичок получает подборку по выбранным интересам, а не вымышленной истории. Подгрузка не повторяет карточки.
Решения и ограничения
Согласовать приоритеты релевантности и коммерческих предложений; не выводить медицинские рекомендации пациенту из поведенческих данных.
P1Поиск, сохранённое и возврат
#12 В прототипе: браузерное сохранение и запоминание фильтров.
Что реализовать
Хранить избранное в аккаунте, разделив типы контента. Передавать фильтры в URL, сохранять позицию при возврате. Нормализовать ё/е и пробелы; поддержать понятный сброс и пустую выдачу.
Как принять работу
Ссылка на отфильтрованный каталог воспроизводит выбор. Возврат из карточки восстанавливает список и позицию. Отмена удаления возвращает нужный материал. Удалённые или недоступные материалы получают понятное состояние.
Решения и ограничения
Согласовать перенос анонимного браузерного избранного после входа и обработку дублей.
P1Телефон, доступность и скорость
#13 В прототипе: адаптивные сетки и основные состояния фокуса; полноценная проверка устройств ещё нужна.
Что реализовать
Проверить клавиатуру, экранный диктор, контраст, увеличение текста и уменьшенную анимацию. На телефоне форма должна оставаться доступной над клавиатурой, а изображение — увеличиваться без обрезки. Оптимизировать обложки и ленивую загрузку.
Как принять работу
Фокус не теряется после удаления или раскрытия карточек. Модальные окна закрываются с клавиатуры и возвращают фокус. При увеличении текста нет потери кнопок. Загрузка и ошибки объявляются доступным способом. Медленная сеть не сбрасывает форму.
Решения и ограничения
Утвердить набор устройств и браузеров, целевые показатели скорости; протестировать реальные Safari/iOS и Android.
P2Измерение качества и запуск
#14 В прототипе: отдельные демонстрационные события без полноценной аналитики.
Что реализовать
Измерять переход к обучению, успешность поиска, восстановление черновиков, ошибки загрузки, начало и завершение оформления. Отделять технические ошибки от отказов пользователя.
Как принять работу
События не содержат тексты личных сообщений, клинические описания, телефон или SMS-код. Демотрафик исключён. Для покупки сверяются подтверждённые оплаты, а не только клики.
Решения и ограничения
Согласовать словарь событий, доступ к аналитике и сроки хранения. Рост конверсии считать гипотезой до измерения.
P1Оборудование и предпочтения врача
#15 В прототипе: несколько аппаратов, текущий/прошлый опыт и отдельные предпочтения. Публичный показ, полезные уведомления и рекламная персонализация включаются независимо.
Что реализовать
Связать выбор с ID производителя и модели в каталоге. Не приравнивать установленный аппарат к предпочтению врача. Предусмотреть заявку на отсутствующую модель. Публичный профиль не раскрывает предпочтения и контакты. Новости связывать с ID модели. Проверять источник; не выдавать новость об обновлении за подтверждение совместимости конкретного экземпляра. Рекламу обозначать явно. Не передавать рекламодателю индивидуальные анкеты по умолчанию.
Как принять работу
Несколько аппаратов сохраняются независимо; прошлая модель не считается текущей. Выключение публичности скрывает данные и в API профиля. Отказ от рекламного подбора не отключает полезные новости. Отозванное предпочтение перестаёт использоваться. Повтор новости не создаёт повторное уведомление. Новость об обновлении ведёт к первоисточнику и не предлагает автоматически установить обновление.
Решения и ограничения
Согласовать каталог моделей, источники обновлений, правила рекламной персонализации, сроки хранения предпочтений и механизм их отзыва. Пример EPIQ Elite ver. 14 не является проверенным анонсом; не публиковать его как факт.
Ничего не найдено. Измените запрос или сбросьте фильтры.