Назад к портфолио
Fullstack веб-приложения

Корпоративная обучающая платформа

Задача

Создать внутреннюю платформу для обучения и тестирования сотрудников с административной панелью.

Проблема

Компания растёт, онбординг новых сотрудников идёт через разрозненные документы, звонки и личные инструктажи. Каждый руководитель объясняет одно и то же снова и снова. Нет единого стандарта знаний, нет способа проверить, что человек действительно понял материал.

💡

Инсайт

LMS не нужна компании как технологический продукт. Ей нужен инструмент, который решает конкретную проблему скорости. MVP должен быть готов за недели, а не месяцы — значит, нужно выбирать стек под скорость разработки, а не под масштаб.

Вклад

Идея, архитектура, разработка, интеграция Supabase, ролевая система, деплой

Результат

MVP LMS с курсами, тестированием, трекингом прогресса и ролевой системой — запуск за несколько недель

React TypeScript Vite Tailwind CSS Supabase PostgreSQL

Корпоративное обучение — это один из тех процессов, которые в малом бизнесе всегда работают «на коленке». Папка в Google Drive, видеозвонок с руководителем, несколько PDF. Работает, пока компания маленькая. Перестаёт работать, когда нужно масштабировать найм.

Клиенту нужна была не идеальная LMS — ему нужен был рабочий инструмент как можно быстрее.

Анализ: что реально нужно на старте

Я изучил существующие корпоративные LMS и их типовые болезни: перегруженный функционал, сложная настройка, высокая цена, долгий онбординг самой платформы. iSpring, Moodle, TalentLMS — всё это мощно, но избыточно для команды в 30–50 человек.

Сформулировал минимальный рабочий набор:

  1. Создать курс из текстовых блоков и видео
  2. Назначить курс сотруднику
  3. Пройти тест с проверкой результата
  4. Руководитель видит, кто прошёл, кто нет

Всё остальное — в будущих итерациях, если подтвердит ценность.

Решение: BaaS как архитектурное решение для скорости

Ключевой выбор — Supabase вместо собственного backend. Это дало:

  • PostgreSQL из коробки с RLS (Row Level Security) для ролевой модели
  • Аутентификацию без написания auth-кода
  • Storage для медиафайлов курсов
  • Realtime для обновлений прогресса без polling

Это решение сократило время до MVP вдвое. Никакого компромисса по надёжности — Supabase под капотом это production PostgreSQL с правильными индексами.

Ролевая система

Три роли с разными правами через Supabase RLS:

  • Администратор — создаёт и управляет курсами, видит всю аналитику
  • Автор курса — создаёт материалы в своей зоне ответственности
  • Сотрудник — проходит назначенные курсы, видит только свой прогресс

RLS-политики работают на уровне базы данных — не на уровне API. Это означает, что даже прямой запрос к Supabase не вернёт чужие данные.

Тестирование с защитой от списывания

Тесты поддерживают одиночный и множественный выбор. Таймер на прохождение. Вопросы перемешиваются случайным образом при каждом запуске — это не позволяет передавать ответы коллегам.

Результат теста сохраняется с временной меткой и score. Руководитель видит в дашборде: кто сдал, кто нет, сколько попыток, средний балл по команде.

Frontend

React + Vite + TypeScript, стилизация через Tailwind CSS. Весь UI через shadcn/ui компоненты с кастомными токенами. SPA без SSR — в корпоративных приложениях это нормально: аудитория известна, SEO не нужен.

Результат

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

Ключевой урок: правильный выбор инфраструктуры — это продуктовое решение, а не техническое. Supabase позволил запустить рабочий продукт тогда, когда это было нужно бизнесу.

Вернуться к списку проектов