Автор, fullstack · 2025

EduBattle

Командные обучающие викторины для интерактивной доски: учитель выводит игру на один экран, две команды соревнуются по школьной программе.

  • NestJS
  • Prisma
  • PostgreSQL
  • Nuxt 4
  • Pinia
  • Vuetify
  • Docker
  • GitHub Actions

Игра рассчитана на интерактивную доску или планшет в классе: учитель выводит её на общий экран, участники не регистрируются и ничего не устанавливают — две команды отвечают на вопросы прямо с доски, каждая со своей половины экрана. Отсюда весь интерфейс: крупные тач-цели, экранная клавиатура вместо физической, читаемость с задней парты. Вопросы — по предметам и классам школьной программы (1–11), форматы ответа: один вариант, несколько, ввод числа.

Из чего состоит

Fullstack в одиночку, от идеи до продакшена:

Backend. NestJS + Prisma + PostgreSQL: JWT-авторизация, регистрация с подтверждением email, кастомные игры пользователей с лимитом бесплатного плана, Swagger-документация.

Два фронтенда. Публичный — Nuxt 4 / Vue 3 / Pinia / TypeScript. Админ-панель контента (категории, классы, темы, вопросы) — отдельное SPA на Nuxt 4 + Vuetify.

Инфраструктура. Docker Compose, Nginx, поддомены с TLS от Let's Encrypt, CI/CD на GitHub Actions с раздельным деплоем каждого сервиса.