К основному содержанию
← Все кейсы
EdTech · Казахстан · Full-stack разработка

TestGov.kz — платформа подготовки к государственному тестированию

Открыть сайт ↗

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

Next.js 15React 19PostgreSQL 16PrismaApiPayRU / KK
22модели данных
4режима тестирования
2языковые версии
20модульных тестов
Главная TestGov.kz: направления подготовки и регистрация
Публичная главная · русский язык
01 / Задача

Собрать весь путь ученика и работу учебного центра в одном продукте

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

Решением стало единое full-stack приложение. В нём публичный сайт, учебная среда, личный кабинет, административная панель и серверная бизнес-логика работают как одна система.

Продукт
Образовательная веб-платформа
Аудитория
Кандидаты и слушатели курсов
География
Казахстан
Интерфейсы
Сайт, кабинет, обучение, админка
02 / Боль клиента → решение

Учебному центру требовался не каталог курсов, а единый управляемый бизнес-процесс

Проблемы возникали на стыке публичного сайта, обучения, оплаты и администрирования. Мы связали эти контуры общей моделью данных и серверной логикой, чтобы пользователь проходил весь путь последовательно, а владелец управлял продуктом без постоянных доработок кода.

01

Путь ученика разорван

Каталог, оплата, материалы, тестирование и результаты находятся в разных сервисах.

Как решили

Собрали публичный сайт, учебную среду, кабинет и серверную логику в одном Next.js-приложении.

02

Контент зависит от разработчика

Новый курс, тариф или вопрос требует правки кода и замедляет запуск программы.

Как решили

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

03

Тесты сложно адаптировать

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

Как решили

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

04

Оплата не связана с доступом

Ручная проверка заказов задерживает ученика и создаёт риск повторной выдачи.

Как решили

Связали ApiPay webhook, HMAC-SHA256, транзакционный переход PENDING → PAID и выдачу доступа.

03 / Пользовательский путь

От направления подготовки — к конкретной программе

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

Каталог направления TestGov.kz
Каталог направленияОписание программ и переход к курсу
Выбор тарифа курса TestGov.kz
Страница курсаТарифы, сроки доступа и состав программы
Тарифы TestGov.kz на смартфоне
Выбор на смартфонеТот же сценарий на узком экране
04 / Локализация

Два языка без ограничения обычным переводом интерфейса

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

RUKK

Маршруты /ru и /kk
на базе next-intl

Русская версия TestGov.kz
Русская версия
Казахская версия TestGov.kz
Қазақша нұсқасы
05 / Учебная среда

Материалы и тесты внутри одной программы

Боковая навигация показывает состав курса и помогает переходить между темами. Материалы поддерживают форматированный текст, изображения и встроенные YouTube-видео.

  • Материалы, сборники тестов и пробные экзамены
  • Повторное использование модулей в разных курсах
  • Группировка и управляемая последовательность обучения
  • Бесплатные демонстрационные программы
Учебная среда и навигация по курсу
Состав курса
Учебный материал внутри TestGov.kz
Учебный материал
06 / Тестовый движок

Четыре режима под разные методики подготовки

01

Classic

Последовательное прохождение вопросов.

02

С возвратом

Навигация назад к просмотренным заданиям.

03

Instant feedback

Правильный ответ и пояснение сразу после выбора.

04

Все вопросы

Полный набор заданий на одной странице.

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

Прохождение теста с вопросом, вариантами и таймером
ПрохождениеВопрос, варианты, навигация и таймер
Мгновенная обратная связь после ответа
Обратная связьПравильный вариант и объяснение
07 / Результаты

Прогресс сохраняется, а результат объясняется цифрами

Незавершённая попытка восстанавливается при возвращении. После завершения пользователь видит процент правильных ответов, ошибки, затраченное время и статус прохождения.

Результат тренировочного теста
Результат теста · демонстрационные данные
История результатов в личном кабинете
История в личном кабинете · данные скрыты
08 / Пробный экзамен

Случайная выборка вопросов из нескольких тем

Экзаменационный сценарий объединяет задания из тестов программы, фиксирует выбранные вопросы и применяет общий лимит времени. Результат показывает общий процент и разбивку по темам.

Это инструмент подготовки с обратной связью. Он не позиционируется как прокторинг или защищённая государственная аттестация.

Начало пробного экзамена
Параметры экзамена
Результат пробного экзамена по темам
Общий результат и темы · демоданные
09 / Административная панель

Управление образовательным бизнесом без правок в коде

Администратор собирает программы из модулей, публикует контент, настраивает тесты и тарифы, управляет пользователями, доступами и заказами. Основные ежедневные операции сосредоточены в одной панели.

Обзор административной панели TestGov.kz
ОбзорСостояние платформы и выгрузка SQL-копии
Управление последовательностью модулей курса
Состав курсаПоследовательность материалов и тестов
Библиотека учебных модулей
Библиотека модулейМатериалы, тесты и экзамены
Визуальный редактор вопроса TestGov.kz
Конструктор вопросаТекст, ответы, пояснение, изображения и видео
10 / Монетизация и доступ

Тариф → заказ → подтверждение → доступ

Выбор тарифа→Счёт ApiPay→Webhook→Доступ к курсу

Цена берётся с сервера из базы данных. Интеграция ApiPay создаёт счёт, нормализует телефон и проверяет HMAC-SHA256 подпись уведомления.

Переход заказа из PENDING в PAID и выдача доступа выполняются в транзакции. Условное обновление защищает от повторной выдачи при конкурентных успешных webhook.

  • Стоимость в тенге и длительность в днях
  • Рекомендуемый и опубликованный тариф
  • Автоматическая выдача после подтверждения
  • Ручная выдача, продление и отзыв доступа
  • История заказов и их статусов
Редактор тарифов TestGov.kz
Тарифы: стоимость, срок и преимущества
Управление доступами пользователей
Доступы: срок, источник и статус · данные скрыты
11 / Архитектура

Один TypeScript-проект, четыре интерфейса и общая бизнес-логика

БраузерПубличный сайтУчебная средаЛичный кабинетАдминка
↓
Next.js App RouterReact Server Components · Server Actions · HTTP API
↓
АвторизацияДоступТестыЭкзаменыЗаказы
↓
PrismaPostgreSQLUploadsИзображенияApiPayПлатежиResendПочта
Предметная модель

Категория → Курс → Группа / Модуль → Языковая версия → Тест → Вопрос → Варианты ответа

12 / Технологии

Стек, рассчитанный на продуктовую разработку

Frontend + Backend

Next.js 15.5.19

App Router, SSR, React Server Components, Server Actions и API.

UI

React 19 + TypeScript 5.9

Tailwind CSS 3.4, Radix UI и Lucide.

Данные

PostgreSQL 16 + Prisma 5.22

22 связанные модели, индексы и транзакции.

Доступ

Auth.js + bcrypt

JWT-сессии, роли USER / ADMIN и хеширование паролей.

Контент

TipTap + DOMPurify

Визуальный редактор и очистка форматированного HTML.

Интеграции

ApiPay + Resend

Оплата доступа, восстановление пароля и напоминания.

Доставка

Docker + Node.js 22

Multi-stage сборка, standalone и непривилегированный пользователь.

Проверки

Vitest 2.1.9

Проверки функций тестов, экзамена, таймеров и платежей.

13 / Данные и безопасность

Критические решения выполняются на сервере

01

Контроль доступа

Роли, проверка действующего доступа к программе и серверная защита учебных маршрутов.

02

Целостность попыток

Состав вопросов сохраняется в PostgreSQL; ответы, время и итог проверяются сервером.

03

Безопасная оплата

HMAC-SHA256 для webhook, сверка суммы и идемпотентная транзакционная выдача доступа.

04

Пользовательский контент

DOMPurify очищает HTML; изображения ограничены типами PNG, JPEG, WebP, GIF и размером 5 МБ.

05

Пароли и сессии

Пароли хешируются bcrypt, авторизация использует JWT-сессии Auth.js.

06

Эксплуатация

SQL-экспорт базы, healthcheck и постоянный диск для локального каталога uploads.

14 / SEO и эксплуатация

Подготовили сервис к публикации, индексации и развитию

SEO

Серверный рендеринг, метаданные, Open Graph, canonical, hreflang, sitemap, robots и JSON-LD.

Почта

Resend для восстановления пароля и напоминаний об окончании доступа; пороги отправки сохраняются в базе.

Развёртывание

Docker Compose и Render Blueprint: веб-сервис, PostgreSQL, persistent uploads и healthcheck.

Адаптивность

Публичный интерфейс и тарифы проверены на настольном экране и смартфоне 390 × 844.

15 / Проверка реализации

Проверили код и ключевые сценарии продукта

20 / 20существующих модульных тестов прошли
RU + KKоткрыты обе публичные версии
End-to-endпройден тест с сохранением ответов и результата
Adminпроверены курсы, доступы, тарифы и редактор

Проверка выполнена 09.09.2026 на отдельной локальной копии базы. Скриншоты содержат демонстрационные данные. Production-сборка исходного проекта, реальная оплата, отправка писем, нагрузочные испытания и восстановление backup в эту проверку не входили.

16 / Результат

Готовый веб-продукт для обучения и продажи доступа

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

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

EdTechЛичный кабинетАдмин-панельПлатежиДва языкаТестовый движок
Посмотреть действующую платформу ↗
Ваш следующий продукт

Нужна образовательная платформа или сложный веб-сервис?

Разберём процессы, спроектируем архитектуру и соберём продукт вокруг реальной задачи бизнеса.

Обсудить проект ↗Вернуться к кейсам