Commit Graph

6 Commits

Author SHA1 Message Date
Maxim Dolgolyov cb43538c54 ops: weekly backup verification script + scripts README
verify-backup.sh: restores latest backup to /tmp, runs
PRAGMA integrity_check, compares row counts vs prod (>5% drop
in users = fail, >48h age = fail). Cron-driven, fails loud on
non-zero exit so cron mails the admin.

Exit codes: 2=no files, 3=too old, 4=corrupt, 5=row count diverged.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-06 17:16:04 +03:00
Maxim Dolgolyov 513ec059bf chore: route auth-guard linter (baseline 56 unprotected :id-routes)
Scans all routes/*.js for :id-bearing routes without an auth-guard
(requireOwnership, requireRole, requirePermission, authMiddleware,
parentAuth, or spread middleware arrays like ...auth/...teacher).

BASELINE=56 — any new unprotected :id route causes exit(1).
Reduce BASELINE as old routes are migrated.

Usage:
  npm run lint:routes
  # or mark intentional public routes:
  // @public-by-design: <reason>
  router.get('/:token', handler);

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-06 17:02:17 +03:00
Maxim Dolgolyov 999a025fef feat: ЦТ 2022 Физика V1 + ЦТ 2019 Математика V1 — 59 новых вопросов
- seed_phys_ct2022.js: 29 вопросов (A1-A18 + B1-B13)
  Кинематика, динамика, термодинамика, электростатика,
  ЭДС индукции, колебания, фотоэффект, дифракция
- seed_math_ct2019.js: 30 вопросов (A1-A18 + B1-B12)
  Неравенства, окружность, разложение многочленов,
  прогрессии, площадь сферы, тригоноуравнения, тело вращения

Итого в базе: ~1000 вопросов.
Перенесено: ЦТ/ЦЭ 2019-2024 (физика + математика).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-23 22:28:36 +03:00
Maxim Dolgolyov 70a89439f3 feat: добавлены 2 новых сборника — ЦЭ,ЦТ 2023 Физика V1 + ЦТ 2021 Математика V1
- seed_phys_ce2023.js: 30 вопросов (A1-A10 + B1-B20)
  Темы: измерительные приборы, путь по v(t), F по vx(t),
  единица давления, теплоёмкость, схема цепи, закон Ома,
  отражение, переход атома водорода, электроны в F.
  Part B: средняя скорость, встречное движение, x(t)→Ek,
  сила Лоренца, контур LC, рассеивающая линза.

- seed_math_ct2021.js: 25 вопросов (A1-A18 + B1-B14)
  Темы: равнобедренный треугольник, дроби, уравнения,
  неравенства, деление отрезка, чётные функции,
  arcsin/arccos, перпендикулярные плоскости,
  сечение цилиндра, показательные неравенства.

Итого в базе: 939 вопросов.
Перенесено: ЦЭ,ЦТ 2024 Физика + Матем, ЦЭ,ЦТ 2023 Физика, ЦТ 2021 Матем.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-23 21:51:10 +03:00
Maxim Dolgolyov 9f1a877d57 feat: ЦЭ,ЦТ 2024 — 210 новых вопросов по физике и математике
- seed_phys_ct2024.js: 93 вопроса физики (векторы, формулы МКТ,
  единицы измерения, дифракция, оптика, центростремительное ускорение,
  бросок тела, КПД, теплообмен, электростатика, фотоэффект, распад)
- seed_math_ct2024.js: 117 вопросов математики (тригонометрия,
  прогрессии, стереометрия, логарифмы, неравенства, функции,
  задачи ЦТ и ЦЭ форматов, варианты 1-10 с ключами ответов)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-23 21:24:25 +03:00
Maxim Dolgolyov be4d43105e LearnSpace: full-stack educational whiteboard platform
Node.js/Express backend + vanilla JS frontend.
Features: real-time collaborative whiteboard (SSE), multi-page support,
LaTeX formulas, shapes/connectors, coordinate systems, number lines,
compass, zoom/pan, Catmull-Rom pencil smoothing, ruler/protractor with
rotation & resize controls, minimap navigation overlay, auto-measurements,
multi-page thumbnails sidebar, PNG export, page templates.
Student/teacher workflows: classes, assignments, library, dashboard.
Mobile responsive. SQLite (better-sqlite3).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-12 10:10:37 +03:00