Автор, 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 с раздельным деплоем каждого сервиса.