ВСЕ ПРОЕКТЫ

ДВИЖ.LAB

Платформа онлайн-реабилитации: запись, оплата, видеоконсультации, персональные программы и видеоотчёты для пациентов, специалистов и администраторов. Всё это сделали мы.

Тема
  • SaaS / CRM
Завершён
Июнь 2026
Роль
Разработка
Дисциплины
  • Frontend
  • Backend

Rehabilitation without the clinic

ДВИЖ.LAB — health-tech платформа для дистанционной реабилитации. Пациент находит специалиста, записывается и оплачивает консультацию, встречается с ним по видео, а затем идёт по персональной программе: упражнения, письменные задания и видеоотчёты, которые специалист проверяет и комментирует.

Специалисту она заменяет CRM для пациентов, календарь, видеосвязь, мессенджер, конструктор программ и библиотеку упражнений. Мы сделали всё: публичный сайт, приложение для пациентов, специалистов и администраторов и бэкенд под ними.

Three roles, one set of rules

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

Админка — это операционный инструмент, а не редактор таблиц. Медицинский документ открывается только отдельным действием, которое спрашивает причину, выдаёт короткоживущую ссылку и пишет в журнал аудита.

Payments that cannot fail quietly

Платежи идут через ЮKassa: двухстадийное списание с холдированием, полные и частичные возвраты, идемпотентные вебхуки и регулярная сверка на случай событий, которые так и не пришли. Покупка считается завершённой, только когда сервер подтвердил её у провайдера; редирект после оплаты сам по себе ничего не доказывает.

Система также считает комиссию платформы и выплату каждому специалисту — включая возврат, который приходит, когда выплата уже ушла.

Calls, chat and video reports

Консультации — это видеозвонки на WebRTC через собственный TURN-сервер, а сигналинг вынесен в отдельный закрытый контейнер, чтобы долгие соединения не зависели от публичного API. Звонки переподключаются, переживают смену сессии и показывают, кто говорит. Чат работает на Socket.IO и масштабируется на несколько серверов через Valkey.

Видеоотчёты и вложения в чате загружаются прямо в объектное хранилище по подписанным ссылкам. Отдельный воркер берёт каждый файл из очереди, сжимает видео через FFmpeg, а изображения через Sharp, повторяет упавшие задачи и подбирает зависшие; видео, которое уже в нужном формате, перепаковывается без перекодирования.

Fast outside, tested inside

Публичный сайт — статическая сборка на Astro: страницы специалистов генерируются из API, а каждая кнопка записи переносит намерение пользователя в приложение.

За ним — около шестидесяти моделей данных и больше трёхсот файлов с тестами, включая интеграционные тесты на настоящей PostgreSQL и сквозные тесты в Playwright, с минимальным покрытием бэкенда в 85%.

Stack

TypeScript · React · TanStack · Astro · Bun · Hono · PostgreSQL · Prisma · Socket.IO · Valkey · WebRTC · FFmpeg · YooKassa · Yandex Cloud

СЛЕДУЮЩИЙ ПРОЕКТWorxspaceB2B-платформа для управления технопарками: компании, помещения, сервисные заявки и бухгалтерия в одной CRM, плюс публичные сайты. Архитектуру и всю разработку сделали мы.ОТКРЫТЬ ПРОЕКТ

Следующий проект — ваш.

Для начала хватит сырой идеи, недописанного брифа или задачи, которую пока трудно сформулировать. Расскажите, над чем работаете, — мы ответим вопросами, а не прайсом.