ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Инструменты учителя математики: база задач, генератор работ, геометрия с GeoGebra, онлайн-тесты, ТДФ-конспекты
翻譯準備中
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
Lemma — веб-платформа для учителя математики: рабочее пространство (календарь, журнал, КТП, заметки), база задач с семантическим поиском, генераторы вариантов ЕГЭ/ОГЭ и тренажёров, онлайн-тесты для учеников, аналитика результатов, модули геометрии, теории и ТДФ. Production: l.oipav.ru — учительский интерфейс · student.oipav.ru — ученический · lemma.oipav.ru — лендинг · task-ege.oipav.ru — backend檢視完整 README ↗
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]