be4d43105e
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>
41 lines
917 B
JavaScript
41 lines
917 B
JavaScript
/* ── LearnSpace shared constants ───────────────────────────────────────── */
|
|
|
|
exports.SESSION_MODES = new Set(['exam', 'practice', 'repeat', 'ct', 'topic', 'random']);
|
|
|
|
exports.SESSION_STATUS = {
|
|
IN_PROGRESS: 'in_progress',
|
|
COMPLETED: 'completed',
|
|
ABANDONED: 'abandoned',
|
|
};
|
|
|
|
exports.ROLES = {
|
|
ADMIN: 'admin',
|
|
TEACHER: 'teacher',
|
|
STUDENT: 'student',
|
|
};
|
|
|
|
exports.NOTIFICATION_TYPES = {
|
|
ASSIGNMENT: 'assignment',
|
|
SESSION: 'session',
|
|
ACHIEVEMENT: 'achievement',
|
|
SYSTEM: 'system',
|
|
JOIN: 'join',
|
|
SUBMISSION: 'submission',
|
|
CHALLENGE: 'challenge',
|
|
DAILY_GOAL: 'daily_goal',
|
|
};
|
|
|
|
exports.SUBJECTS = {
|
|
BIO: 'bio',
|
|
CHEM: 'chem',
|
|
MATH: 'math',
|
|
PHYS: 'phys',
|
|
};
|
|
|
|
// Combo bonus XP thresholds: [minCombo, bonusXP]
|
|
exports.COMBO_BONUSES = [
|
|
[10, 75],
|
|
[5, 30],
|
|
[3, 15],
|
|
];
|