TutorLoom
The learning platform for companies, colleges and training institutes. Free and open source, with an Enterprise edition.
翻译准备中
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗Қызығушылықтан — білімге. Ағылшын тілі сабағына арналған екі тілді (қазақша / English) білім беру платформасы.
Мұғалім тіркеледі → сынып ашады → оқушыларды қосады → QR-код жасалады → оқушылар кіріп, сауалнама мен бастапқы тапсырманы орындайды → мұғалім талдауды көреді → тақырып пен оқу мақсатын енгізеді → ЖИ (немесе «Демо» үлгі) бейімделген сабақ дайындайды → мұғалім өңдеп, бекітеді, жариялайды → оқушылар телефонмен немесе қағазда орындайды → бағалау, кері байланыс, PDF және қорытынды видео.
| Бөлік | Таңдау | Себебі |
|---|---|---|
| Фреймворк | Next.js 15 (App Router) + TypeScript | Бір жобада бет те, сервер API да бар; Vercel-ге бір батырмамен шығады. |
| Дерекқор және кіру | Supabase (Postgres + Auth + Storage) | Тұрақты дерекқор, email растауы бар тіркелу, Row Level Security. |
| Стиль | Tailwind CSS 4 | Жылдам, телефонға бейімдеу оңай. |
| Қаріп | Noto Serif / Noto Sans | Қазақ әріптерінің бәрін (Ә Ғ Қ Ң Ө Ұ Ү Һ І) толық қолдайды. |
| Белгішелер | lucide-react | Бір стильдегі SVG белгішелер. |
| QR | qrcode | QR браузерде жасалады, ішінде тек сынып сілтемесі бар. |
| Тексеру | zod | ЖИ жауабының құрылымы, уақыт пен балл тексеріледі. |
Басты бет / Ғылыми негіз / ADDIE / Сабақ үлгісі (демо) ← ашық беттер, демо деректер дерекқорға жазылмайды
/auth/register, /auth/login, /auth/forgot, /auth/reset ← мұғалім (Supabase Auth, email растау міндетті)
/teacher ← Менің сыныптарым
/teacher/c/<сынып>/students | analysis | create | lessons | grading | results | addie | exports
/teacher/settings
/print/... ← A4 баспа беттері (PDF ретінде сақтауға болады)
/join → /join/<СЫНЫП_КОДЫ> → аты → жеке код ← оқушы (email керек емес)
/student, /student/survey, /student/baseline, /student/lesson/<id>, /student/summary/<id>
Дерекқор кестелері: teachers, classes, students, survey_responses (әр жіберу жаңа нұсқа), baseline_attempts, observations, lessons, lesson_versions, ai_requests, assignments (жариялау кезіндегі оқушы нұсқасының көшірмесі), responses, reflections, login_attempts. Схема: supabase/migrations/.
Бірден жұмыс істейді (Supabase және Vercel айнымалылары қойылса):
Сыртқы баптауды қажет етеді:
AI_PROVIDER, AI_MODEL, AI_API_KEY. Әр сұраныс провайдердің ақылы шығыны болуы мүмкін..env.example файлын қараңыз. Құпия кілттер ешқашан GitHub-қа салынбайды, браузерге берілмейді.
| Айнымалы | Қайдан алу |
|---|---|
NEXT_PUBLIC_SUPABASE_URL | Supabase → Project Settings → API → Project URL |
NEXT_PUBLIC_SUPABASE_ANON_KEY | Supabase → Project Settings → API Keys → Publishable key |
SUPABASE_SERVICE_ROLE_KEY | Supabase → Project Settings → API Keys → Secret key (sb_secret_…) немесе Legacy service_role кілті. Тек серверде! |
NEXT_PUBLIC_SITE_URL | Vercel берген сайт мекенжайы, мысалы https://eduspark.vercel.app |
STUDENT_SESSION_SECRET | Кез келген 32+ таңбалы кездейсоқ жол (openssl rand -hex 32) |
AI_PROVIDER, AI_MODEL, AI_API_KEY, AI_BASE_URL, AI_TIMEOUT_SECONDS | Міндетті емес. anthropic немесе openai (OpenAI-үйлесімді API үшін AI_BASE_URL). |
Бұл репозиторийге арналған Supabase жобасы (
eduspark) ашылып, барлық миграция қолданылған. Жаңа жоба ашсаңыз ғана 1-қадамды орындаңыз.
supabase/migrations/ ішіндегі файлдарды ретімен (0001, 0002, 0003, 0004) іске қосыңыз.https://<сіздің-сайтыңыз>.vercel.apphttps://<сіздің-сайтыңыз>.vercel.app/auth/callbackvoice бумасы миграциямен жасалады (жабық, тек сервер арқылы).eduspark репозиторийін таңдаңыз.NEXT_PUBLIC_SITE_URL мәніне қойып, Supabase-тегі Site URL / Redirect URLs-ке жазыңыз, содан кейін Redeploy жасаңыз.npm install
cp .env.example .env.local # мәндерді толтырыңыз
npm run dev # http://localhost:3000
npm test # логика тесттері
npm run typecheck
unique (assignment_id, task_id).public/images/README.md — суреттердің атаулары, мөлдірлігін тексеру нәтижесі және жасалған өңдеу.
EduSpark is a bilingual (Kazakh/English) web platform for English lessons. Stack: Next.js 15 + TypeScript, Supabase (Postgres, Auth with email confirmation, Storage), Tailwind 4. Teachers sign up with full name, a confirmed email and a password typed twice; they create classes, add students, print QR codes; students join without email using the class code and a personal code. Lessons are generated by a configurable server-side AI provider (or a clearly labelled demo template), validated (stage minutes = duration, equal points across interest variants, descriptor sums), approved and published. Students work on phones with autosave and offline retry; teachers grade, release feedback, export A4/PDF materials and produce a rule-based summary video recorded in the browser (MP4 or WebM, whichever the browser really supports). See sections 4–6 for environment variables, Supabase setup and Vercel deployment.