ESP32-S3 Bench Guide
ESP32‑S3 N16R8 벤치 가이드: 실시간 핀아웃, 강의, 시뮬레이터 및 벤치 로그
7000개 이상 문제·카드·경로지·QR리스트·픽셀아트 워크시트·링크·QR코드 시험 등 수학 교사를 위한 모든 자료
7000+ задач, карточки, маршрутные листы, QR-листы, pixel art worksheets, тестирование учеников по ссылке и QR-коду. Всё, что нужно учителю математики.
교육JavaScript · CSSGitHub @evilfaust온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Инструменты учителя математики: база задач, генератор работ, геометрия с GeoGebra, онлайн-тесты, ТДФ-конспекты
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Lemma — веб-платформа для учителя математики: рабочее пространство (календарь, журнал, КТП, заметки), база задач с семантическим поиском, генераторы вариантов ЕГЭ/ОГЭ и тренажёров, онлайн-тесты для учеников, аналитика результатов, модули геометрии, теории и ТДФ. Production: l.oipav.ru — учительский интерфейс · student.oipav.ru — ученический · lemma.oipav.ru — лендинг · task-ege.oipav.ru — backendREADME 전문 보기 ↗
Lemma — веб-платформа для учителя математики: рабочее пространство (календарь, журнал, КТП, заметки), база задач с семантическим поиском, генераторы вариантов ЕГЭ/ОГЭ и тренажёров, онлайн-тесты для учеников, аналитика результатов, модули геометрии, теории и ТДФ.
Production: l.oipav.ru — учительский интерфейс · student.oipav.ru — ученический · lemma.oipav.ru — лендинг · task-ege.oipav.ru — backend
| Интерфейс | URL (production) | Что делает |
|---|---|---|
| Учительский | l.oipav.ru (закрытый, вход по логину) | Пространство учителя, задачи, генераторы, выдача тестов, аналитика |
| Ученический | student.oipav.ru | Тесты по коду/QR, личный кабинет, курсы, достижения |
| Лендинг | lemma.oipav.ru | Промо-страница |
Моё пространство — учительское фло вокруг реального расписания:
База задач:
Генераторы работ:
Тригонометрия (11 генераторов): единичная окружность, значения функций, выражения, обратные функции, уравнения (в т.ч. f(kx+b)=a), формулы приведения и сложения, двойной аргумент, шифровки, смешанная работа.
Устный счёт (7 генераторов): арифметика, степени и логарифмы, степени и корни, логарифмы, действия с десятичными и обыкновенными дробями, смешанная работа.
Геймификация: QR-листы, пиксель-арт (одиночный и командный), шифровки, маршрутные листы, марафон защиты задач с live-доской, кроссворды.
Геометрия: собственная база + банк МЦНМО (17,6 тыс. задач с фасетными тегами), GeoGebra-чертежи (живой апплет + PNG/SVG-экспорт), компоновка листов S/M/L/XL, печать с физическими mm/pt.
Листки: 41 лист Гордина (планиметрия и стереометрия, 1641 задача) + редактор собственных листков.
Теория: статьи на Markdown + KaTeX в редакторе CodeMirror, каллауты, палитра формул, GeoGebra-иллюстрации, печать конспектов.
ТДФ (Теоремы, Определения, Формулы): структурированные конспекты по классам, опросники и флешкарты, листы формул, КИМ-стиль печати с двухфазной пагинацией.
Ученики: прогресс, тепловая карта ошибок, достижения (random + conditional), личный кабинет с историей попыток, онлайн-курсы с публикацией уроков и домашних заданий.
Авторизация: роли superadmin / editor / viewer, доступ по секциям, журнал действий, мультиучительство (данные скоупятся по владельцу). См. AUTH.md.
Frontend (ege-tasks/):
React.lazy())window.print() + @media print, html2pdf.jsBackend (pocketbase/):
pocketbase-ege, порт 8095pdf-service-ege, порт 3001: парсер «Решу ЕГЭ», LLM-нормализация LaTeX, распознавание бланков, векторный поиск (sqlite-vec). PDF не генерирует — серверный Puppeteer выпилен в июне 2026pb-files на Raspberry Pi — библиотека материалов и файлов учителяInfrastructure:
workflow_dispatch, автодеплой отключён осознанно)# 1. Установка зависимостей
git clone https://github.com/evilfaust/lemma.git
cd lemma
cd ege-tasks && npm install && cd ..
# 2. Backend
# Локальной БД нет — фронтенд всегда ходит на task-ege.oipav.ru.
# Чтобы поднять свой бэкенд, измените PB_BASE_URL
# в ege-tasks/src/shared/services/pocketbaseUrl.js
# 3. Dev-сервер фронтенда
./start.sh # или: cd ege-tasks && npm run dev
# → http://localhost:5173
# Сборка production (3 приложения: index.html + student.html + landing.html)
cd ege-tasks && npm run build
# Тесты (Vitest, ~6 сек)
cd ege-tasks && npm test
cd ege-tasks && npm run test:watch
# Пересчёт векторного индекса задач (вручную, требует Ollama на локальной машине)
cd vector-benchmark && npm run index
lemma/
├── ege-tasks/ # Frontend (React + Vite)
│ ├── src/
│ │ ├── components/ # ~260 компонентов
│ │ │ ├── workspace/ # Моё пространство: календарь, журнал, КТП, заметки, дела
│ │ │ ├── auth/ # LoginPage, UserManager, AuditLog, ProtectedRoute
│ │ │ ├── catalog/ # Справочники (темы, теги, источники, дубли)
│ │ │ ├── geometry/ # Модуль геометрии (редактор, чертежи)
│ │ │ ├── listki/ # Листки Гордина + редактор своих
│ │ │ ├── tdf/ # Теоремы, определения, формулы
│ │ │ ├── theory/ # Теория (Markdown + CodeMirror + GeoGebra)
│ │ │ ├── student/ # Ученический интерфейс
│ │ │ ├── trig/ # Тригонометрические подкомпоненты
│ │ │ ├── worksheet/ # Переиспользуемые элементы листов
│ │ │ ├── marathon/ crossword/ mc-test/ pixel-art/ qr-worksheet/ route-sheet/
│ │ │ └── shared/ # MathRenderer, LatexField, CropModal
│ │ ├── contexts/ # ReferenceDataContext, AuthContext
│ │ ├── hooks/ # ~47 custom хуков
│ │ ├── shared/services/pb/ # API по доменам (26 модулей) + barrel pocketbase.js
│ │ ├── utils/ # Helpers (LaTeX, shuffle, QR, normalize, …)
│ │ ├── landing/ # Автономный лендинг (без Ant Design)
│ │ ├── App.jsx # Teacher routes
│ │ └── StudentApp.jsx # Student routes
│ ├── public/ # Static assets (ачивки, логотипы)
│ └── src/__tests__/ # 436 тестов (Vitest)
│
├── pocketbase/ # Backend (deployed to VPS)
│ ├── pb_migrations/ # Миграции (96 шт.)
│ ├── pb_hooks/ # JS-хуки PocketBase (stats, слияние и модерация учеников)
│ ├── pdf-service.js # Backend helper: sdamgia, LLM, векторный поиск, бланки
│ └── vec-search.js # Векторный поиск (sqlite-vec)
│
├── vector-benchmark/ # Индексатор эмбеддингов (запуск вручную)
├── scripts/ # Импортёры каталогов (ЕГЭ база, ОГЭ, МЦНМО, листки)
├── .github/workflows/ # CI: деплой лендинга (по кнопке)
│
├── README.md # ← вы здесь
├── CHANGELOG.md # История релизов
├── LICENSE / NOTICE # AGPL-3.0 и перечень исключений
└── AUTH.md # Архитектура системы авторизации
Backend (VPS, разово):
pocketbase-ege)pdf-service-ege)task-ege.oipav.ru → PocketBase (/api/, /_/) и helper (/pdf/)pocketbase/pb_migrations/ применяются автоматически при рестартеFrontend (вручную, автодеплоя по push нет):
./deploy-raspberry.sh --build # Учительский → l.oipav.ru (Raspberry Pi)
./raspberry/deploy-student-to-vps.sh # Ученический → student.oipav.ru (VPS)
./deploy-landing.sh # Лендинг → lemma.oipav.ru (или GitHub Actions)
Учительский интерфейс требует логина. Подробно — в AUTH.md.
| Роль | Что может |
|---|---|
superadmin | Всё + управление пользователями + журнал действий |
editor | CRUD задач/работ/тестов в разрешённых секциях |
viewer | Просмотр, генерация, печать, экспорт PDF — без изменений |
Регистрация отключена — пользователей создаёт суперадмин через /app/admin/users.
См. CHANGELOG.md. Последняя версия — 3.9.172 (2026-09-08).
Copyright © 2026 Oleg Pavlyuchenko
Код проекта распространяется на условиях GNU AGPL-3.0 (или любой более поздней версии).
Что это значит на практике:
Важно: лицензия покрывает только исходный код. Учебный контент (задачи из «Решу ЕГЭ», банка МЦНМО, листков Гордина, ФИПИ), изображения достижений, а также название и логотип «Lemma» под AGPL не подпадают — подробности и перечень исключений в файле NOTICE.
Автор — единственный правообладатель кода и сохраняет право лицензировать его на иных условиях. По вопросам коммерческого лицензирования: [email protected]