Платформа для подготовки к профильной математике ЕГЭ/ОГЭ с AI-ассистентом
СТОПРО — это EdTech-платформа с микросервисной архитектурой для подготовки школьников к профильной математике ЕГЭ/ОГЭ. Платформа объединяет личные кабинеты учеников и преподавателей, систему задач, домашние задания и AI-ассистента, способного распознавать рукописные решения, находить ошибки и давать персональные рекомендации.
| Модуль | Описание |
|---|---|
| Кабинет ученика | Дашборд с прогрессом, статистика по темам, еженедельные графики |
| Кабинет учителя | Управление группами, назначение ДЗ, аналитика по ученикам |
| Банк задач | Задачи по темам ЕГЭ (№1–19), три уровня сложности |
| Домашние задания | Создание, назначение группам, отслеживание дедлайнов |
| AI-ассистент | OCR рукописных решений, анализ ошибок, рекомендации |
| Аналитика | Прогресс по темам, графики успеваемости, слабые/сильные стороны |
┌──────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ Frontend │────▶│ Backend │────▶│ AI Service │
│ React + TS │ │ Spring Boot 3.4 │ │ FastAPI │
│ Tailwind │ │ Java 21 │ │ Python 3.11 │
│ Port: 3000 │ │ Port: 8080 │ │ Port: 8000 │
└──────────────┘ └────────┬─────────┘ └────────┬────────┘
│ │
┌────────▼─────────┐ ┌────────▼────────┐
│ PostgreSQL 16 │ │ Redis 7 │
│ База данных │ │ Celery Broker │
│ Port: 5432 │ │ Port: 6379 │
└──────────────────┘ └─────────────────┘
Frontend
- React 19 — UI-библиотека
- TypeScript 5.9 — типизация
- Vite 7 — сборщик
- Tailwind CSS 4 — стилизация
- Zustand — управление состоянием
- React Query — серверное состояние и кеширование
- Recharts — графики и визуализация
- Axios — HTTP-клиент
- Nginx — продакшн-сервер
Backend
- Java 21 — язык
- Spring Boot 3.4 — фреймворк
- Spring Security + JWT — аутентификация и авторизация
- Spring Data JPA + Hibernate — ORM
- PostgreSQL 16 — реляционная БД
- Flyway — миграции БД
- MapStruct — маппинг DTO
- Lombok — генерация boilerplate
- SpringDoc OpenAPI — документация API
- Spring Cache + Redis — кеширование
AI Service
- Python 3.11 — язык
- FastAPI — веб-фреймворк
- Celery — очередь асинхронных задач
- Redis — брокер сообщений
- OCR — распознавание рукописного текста
- SymPy — анализ математических ошибок
- LLM — генерация рекомендаций
- Docker и Docker Compose
- Node.js 20+ (для локальной разработки фронтенда)
- Java 21+ (для локальной разработки бэкенда)
- Python 3.11+ (для локальной разработки AI-сервиса)
# Клонировать репозиторий
git clone https://github.com/mirotvoretts/tutors-platform.git
cd tutors-platform
# Собрать и запустить все сервисы
make build
make start
# Или одной командой
docker-compose up -d --buildnpm install
npm run dev
# → http://localhost:5173| Команда | Описание |
|---|---|
make build |
Собрать все сервисы |
make start |
Запустить сервисы |
make stop |
Остановить сервисы |
make restart |
Перезапустить сервисы |
make rebuild |
Пересобрать и запустить |
make logs |
Логи всех сервисов |
make status |
Статус контейнеров |
make clean |
Удалить всё (контейнеры, образы, тома) |
| Сервис | Порт | URL |
|---|---|---|
| Frontend | 3000 |
http://localhost:3000 |
| Backend API | 8080 |
http://localhost:8080/api/v1 |
| AI Service | 8000 |
http://localhost:8000/docs |
| PostgreSQL | 5432 |
— |
| Redis | 6379 |
— |
tutors-platform/
├── src/ # Frontend (React + TypeScript)
│ ├── components/ # UI-компоненты
│ ├── pages/ # Страницы приложения
│ ├── store/ # Zustand-сторы
│ ├── types/ # TypeScript-типы
│ └── lib/ # Утилиты и конфиг
├── backend/ # Backend (Java Spring Boot)
│ └── src/main/java/ # Исходный код
├── ai-service/ # AI-микросервис (Python FastAPI)
│ └── app/ # Приложение и роутеры
├── frontend/ # Dockerfile и nginx.conf
├── docs/ # Документация
├── docker-compose.yml # Оркестрация сервисов
├── Makefile # Команды управления
└── vite.config.ts # Конфигурация Vite
STOPRO is a microservice-based EdTech platform designed for preparing students for advanced math exams (Russian EGE/OGE). It combines student and teacher dashboards, a task bank, homework management, and an AI assistant capable of recognizing handwritten solutions, detecting errors, and providing personalized recommendations.
| Module | Description |
|---|---|
| Student Dashboard | Progress overview, topic statistics, weekly charts |
| Teacher Dashboard | Group management, homework assignment, student analytics |
| Task Bank | Tasks by EGE topics (#1–19), three difficulty levels |
| Homework | Create, assign to groups, track deadlines |
| AI Assistant | OCR for handwritten solutions, error analysis, recommendations |
| Analytics | Topic progress, performance graphs, strengths & weaknesses |
┌──────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ Frontend │────▶│ Backend │────▶│ AI Service │
│ React + TS │ │ Spring Boot 3.4 │ │ FastAPI │
│ Tailwind │ │ Java 21 │ │ Python 3.11 │
│ Port: 3000 │ │ Port: 8080 │ │ Port: 8000 │
└──────────────┘ └────────┬─────────┘ └────────┬────────┘
│ │
┌────────▼─────────┐ ┌────────▼────────┐
│ PostgreSQL 16 │ │ Redis 7 │
│ Database │ │ Celery Broker │
│ Port: 5432 │ │ Port: 6379 │
└──────────────────┘ └─────────────────┘
Frontend
- React 19 — UI library
- TypeScript 5.9 — type safety
- Vite 7 — build tool
- Tailwind CSS 4 — styling
- Zustand — state management
- React Query — server state & caching
- Recharts — charts & visualization
- Axios — HTTP client
- Nginx — production server
Backend
- Java 21 — language
- Spring Boot 3.4 — framework
- Spring Security + JWT — authentication & authorization
- Spring Data JPA + Hibernate — ORM
- PostgreSQL 16 — relational database
- Flyway — database migrations
- MapStruct — DTO mapping
- Lombok — boilerplate reduction
- SpringDoc OpenAPI — API documentation
- Spring Cache + Redis — caching
AI Service
- Python 3.11 — language
- FastAPI — web framework
- Celery — async task queue
- Redis — message broker
- OCR — handwriting recognition
- SymPy — mathematical error analysis
- LLM — recommendation generation
- Docker & Docker Compose
- Node.js 20+ (for local frontend development)
- Java 21+ (for local backend development)
- Python 3.11+ (for local AI service development)
# Clone the repository
git clone https://github.com/mirotvoretts/tutors-platform.git
cd tutors-platform
# Build and start all services
make build
make start
# Or in a single command
docker-compose up -d --buildnpm install
npm run dev
# → http://localhost:5173| Command | Description |
|---|---|
make build |
Build all services |
make start |
Start services |
make stop |
Stop services |
make restart |
Restart services |
make rebuild |
Rebuild and start |
make logs |
Follow all service logs |
make status |
Container status |
make clean |
Remove everything (containers, images, volumes) |
| Service | Port | URL |
|---|---|---|
| Frontend | 3000 |
http://localhost:3000 |
| Backend API | 8080 |
http://localhost:8080/api/v1 |
| AI Service | 8000 |
http://localhost:8000/docs |
| PostgreSQL | 5432 |
— |
| Redis | 6379 |
— |
tutors-platform/
├── src/ # Frontend (React + TypeScript)
│ ├── components/ # UI components
│ ├── pages/ # Application pages
│ ├── store/ # Zustand stores
│ ├── types/ # TypeScript types
│ └── lib/ # Utilities & config
├── backend/ # Backend (Java Spring Boot)
│ └── src/main/java/ # Source code
├── ai-service/ # AI microservice (Python FastAPI)
│ └── app/ # Application & routers
├── frontend/ # Dockerfile & nginx.conf
├── docs/ # Documentation
├── docker-compose.yml # Service orchestration
├── Makefile # Management commands
└── vite.config.ts # Vite configuration
This project is licensed under the GNU General Public License v3.0.
Проект распространяется под лицензией GNU General Public License v3.0.