Описание функциональных характеристик программного обеспечения «МЕЛАНОМЕ НЕТ»
1. Общее описание
«МЕЛАНОМЕ НЕТ» — веб‑сервис для анализа цифровых изображений кожных новообразований с целью оценки вероятности злокачественности. Система реализована как одностраничное веб‑приложение (SPA) с поддержкой PWA и работает в мобильных и настольных браузерах.
2. Основные функциональные возможности
2.1. Аутентификация и авторизация пользователей
- регистрация и вход по email/паролю;
- создание пользовательской учётной записи при регистрации;
- выдача JWT‑токена и восстановление сессии при повторном открытии сервиса;
- проверка валидности токена и защищённый доступ к API.
2.2. Анализ изображений кожных образований
- захват изображения с камеры устройства через Web API;
- предпросмотр кадра, повторная съёмка, поддержка переключения камер;
- загрузка изображения в API анализа;
- предобработка изображения (ресайз, JPEG‑конвертация, нормализация);
- инференс ML‑модели и расчёт вероятности злокачественности;
- классификация результата и определение уровня риска (низкий, средний, высокий).
2.3. Отображение и использование результатов
- показ диагноза, числовой вероятности и визуальной шкалы риска;
- повторный анализ с возвратом к камере;
- сохранение изображения по запросу пользователя;
- публикация результата через Web Share API при поддержке браузера.
2.4. Тарифы, подписка и платежи
- поддержка стартового и безлимитного тарифов, а также дополнительных проверок;
- просмотр статуса подписки, срока действия и доступных проверок;
- создание и сопровождение платежей через YooKassa;
- обработка статусов платежей и автоматическая активация подписки после оплаты;
- поддержка рекуррентных платежей при включённом сценарии автопродления.
2.5. Учёт лимитов и данные анализа
- контроль суточных лимитов проверок и их сброс в начале нового дня;
- блокировка анализа при исчерпании лимита;
- учёт купленных проверок и корректное списание при успешном анализе;
- защита от списания при ошибках обработки;
- настройка хранения/удаления изображений по политике экземпляра сервиса.
2.6. История анализов и сбор обучающей выборки
- сохранение результатов анализа в истории (в зависимости от конфигурации сервиса);
- дополнительный интерфейс коллектора по маршруту
/collector; - загрузка размеченных изображений для расширения обучающей выборки.
3. Пользовательский интерфейс
3.1. Основные экраны
ds-auth: вход и регистрация, валидация полей, отображение ошибок;ds-camera: камера, захват и предпросмотр, индикатор выполнения анализа;ds-result: диагноз, вероятность, шкала риска, действия с результатом;ds-tariffs: список тарифов и сценарии выбора;ds-subscription: сведения о подписке и платежах;ds-contacts: контакты и поддержка;ds-instructions: инструкции по работе и рекомендации по съёмке.
3.2. Навигация
- бургер‑меню с доступом к разделам и отображением статуса подписки;
- клиентская маршрутизация между экранами;
- перенаправление неавторизованных пользователей на экран входа.
3.3. Адаптивность
- оптимизация под мобильные экраны, портретную ориентацию и safe area;
- поддержка полноэкранного режима камеры на мобильных устройствах;
- адаптация для десктопа с ограничением ширины интерфейса и центрированием контента.
4. Технические возможности
4.1. PWA
- service worker для кэширования ресурсов и ускорения загрузки;
- манифест приложения для установки на домашний экран.
4.2. Безопасность
- работа по HTTPS и защита передачи данных;
- контроль доступа к API с использованием JWT и middleware‑проверок;
- безопасное хранение паролей и валидация входных данных;
- защита пользовательских данных от несанкционированного доступа.
4.3. Производительность и надёжность
- оптимизация изображений перед анализом и асинхронная обработка запросов;
- таймауты и механизмы предотвращения зависаний;
- обработка ошибок с информативной обратной связью для пользователя;
- логирование инцидентов и режимы деградации при недоступности отдельных модулей.
5. Интеграции
- MongoDB: пользователи, результаты анализов, лимиты и история платежей;
- YooKassa: создание платежей, вебхуки, рекуррентные сценарии;
- TensorFlow.js: загрузка модели, инференс, расчёт вероятностей.
6. Административные функции
- мониторинг использования и нагрузки (количество анализов, статистика по пользователям);
- управление тарифными параметрами и лимитами;
- обновление версий ML‑модели и контроль качества предсказаний.