- Заказчик
- Flider
- Год
- 2026
- Отрасль
- Образование
- Формат
- Платформа

- ×9больше посетителей выдерживает главная благодаря кешу
- 0правильных ответов уходит в браузер
- 90 днейживёт сессия — вход по коду нужен редко
О проекте
Задача и решение
Задача
Заказчику нужна была платформа, где человек проходит короткий курс и получает именной сертификат, которому можно верить: тест нельзя списать, а подлинность документа проверяется по ссылке. Для компаний — корпоративные курсы, где сотни сотрудников проходят обучение из одного офиса одновременно.
Что мы сделали
Мы спроектировали и разработали платформу под ключ: каталог курсов, уроки с иллюстрациями, мини-тесты после модулей, итоговый экзамен, личный кабинет с командой для ответственных за обучение и раздел для компаний.
Сертификат — страница формата A4 с QR-кодом и готовый PDF. Любой может проверить его подлинность: ФИО, курс, балл, дата и время выдачи.
Состав работ
Что вошло в проект
- Каталог, курсы и урокиПродукт
- Экзамен с защитой от списыванияРазработка
- Сертификаты, PDF и проверка подлинностиРазработка
- Кабинет и корпоративные командыИнтерфейсы
- Кластер, кеширование и выкладка без простояИнфраструктура
Как это устроено
Решения, на которых держится проект
Что каждое решение даёт бизнесу и как оно сделано технически.
- (01)
Сертификату можно верить
Компания, которая обучает сотрудников, получает честный результат, а сертификат нельзя купить или подделать.
Под капотомЭкзамен идёт в полноэкранном режиме, таймер и подсчёт баллов — на сервере, вопросы и варианты перемешиваются, правильные ответы никогда не покидают сервер. Выход из полноэкранного режима и смена вкладки фиксируются, после третьего нарушения попытка завершается.
- (02)
Весь офис учится одновременно
Сотни сотрудников заходят из одной сети в один день — и платформа не принимает их за атаку и не тормозит.
Под капотомОграничения запросов в три слоя: по IP на входе в Caddy с запасом под офисные сети, по сессии в приложении и точечно на вход, тест и PDF. Микрокеш Caddy для гостей и кеш в Valkey с защитой от одновременного «набегания» на базу.
- (03)
Вход без пароля и без лишних расходов
Пользователю не нужно ничего запоминать, а бюджет на рассылку не уходит на ботов и несуществующие адреса.
Под капотомОдноразовый код на почту хранится только как хеш Argon2id. Капча Cap.js без сторонних сервисов, проверка MX-записей домена, отсев одноразовых ящиков и растущая пауза между повторными запросами.
- (04)
PDF без нагрузки на сервер
Сертификат скачивается мгновенно и выглядит в точности как на экране.
Под капотомОтдельный stateless-сервис Gotenberg рендерит PDF через headless Chromium из той же страницы, а готовый файл кешируется в Valkey на 7 дней по номеру и версии сертификата.
Технологии
Стек проекта
- Интерфейс
- Next.js 16
- Tailwind CSS 4
- shadcn/ui
- Google Sans
- Данные
- PostgreSQL 17
- Drizzle ORM
- Valkey 8
- S3
- Сервисы
- Gotenberg (PDF)
- Cap.js
- SMTP
- Безопасность
- Argon2id
- CSP с nonce
- Rate limit в три слоя
- Инфраструктура
- Kubernetes (k3s)
- Traefik
- Caddy
- CloudNativePG
- Ansible
- Infisical
Нужен похожий проект?
Написать нам