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 ↗Workspace digital untuk membantu guru menyusun, mengedit, menyimpan, dan mengekspor perangkat
pembelajaran dengan bantuan AI — dibangun mengikuti Blueprint_EAsisten_Guru.pdf.
Alur utama: INPUT GURU → CONTEXT ENGINE → AI GENERATION → VALIDATION → DOCUMENT WORKSPACE → EDIT & REVIEW → AUTOSAVE → EXPORT.
Prinsip produk: AI mempercepat pekerjaan guru, guru tetap menjadi otoritas akhir atas isi
dokumen. Lihat 31 — PRINSIP ARSITEKTUR YANG DIKUNCI di blueprint untuk prinsip non-negotiable.
Fondasi MVP (Fase 1–5 blueprint) sudah berjalan end-to-end:
window.print()).Fase 6 (Expansion — template authoring, dependency engine lanjutan) belum diimplementasikan; halaman Template saat ini hanya menampilkan daftar (read-only) sesuai prinsip Progressive Disclosure — tidak berpura-pura ada fitur yang belum benar-benar ada.
npm install.env.example ke .env.local dan isi:
NEXT_PUBLIC_SUPABASE_URL, NEXT_PUBLIC_SUPABASE_ANON_KEY, SUPABASE_SERVICE_ROLE_KEY dari
project Supabase Anda.AI_PROVIDER=mock untuk mencoba seluruh alur (wizard → generate → editor → export) tanpa
API key AI apa pun — adapter mock bersifat deterministik dan tidak pernah mengarang data
(lihat lib/ai/adapters/mock.ts), tapi outputnya hanya menampilkan ulang data form, bukan
dokumen tersusun AI. Untuk generation sungguhan, set AI_PROVIDER=gemini +
GEMINI_API_KEY (gratis, tanpa kartu kredit, ambil di
aistudio.google.com/apikey), atau openai/anthropic
beserta API key-nya (berbayar).supabase/migrations/ pada project Supabase Anda (lewat Supabase CLI atau
SQL editor), lalu aktifkan Google sebagai provider di Supabase Auth.npm run dev lalu buka http://localhost:3000.Perintah lain: npm run build, npm run lint, npm run typecheck.
Mengikuti 28 — FOLDER STRUCTURE pada blueprint:
app/ — halaman & route (App Router). app/(auth) untuk login, app/(app) untuk halaman yang
memerlukan sesi (dibungkus AppShell), app/api untuk route handlers.components/ — komponen UI & workflow (ui/ = design system primitives, wizard/,
workspace/, generation/, dashboard/, layout/).lib/ — business logic: supabase/, ai/ (Provider → Adapter → Prompt Engine → Generation
Service), prompts/, context/, validation/, documents/, generation/ (orchestrator),
export/.modules/ — 7 modul dokumen (modul-ajar, lkpd, asesmen, rubrik, bahan-ajar,
kisi-kisi, remedial-pengayaan), masing-masing modular & independen sesuai section 12.types/, schemas/, config/ — kontrak data (TypeScript types, Zod schemas) dan konfigurasi
(AI provider, retention, presets).supabase/migrations/ — skema database + Row Level Security.Business logic sengaja tidak diletakkan di komponen React — komponen hanya memanggil lib/* dan
app/api/*.
AI_PROVIDER di .env.local memilih adapter di lib/ai/provider.ts. Menambah provider baru =
menambah satu file di lib/ai/adapters/ yang mengimplementasikan ModelAdapter — tidak ada
business logic lain (prompt engine, validator, orchestrator) yang perlu diubah, sesuai section 06.
Semua tabel memakai Row Level Security (owner_id = auth.uid()), API key AI hanya dibaca di
server (lib/ai/adapters/*, tidak pernah diekspos ke client), payload divalidasi dengan Zod di
setiap route, dan HTML hasil AI disanitasi (lib/validation/content-validator.ts) sebelum
disimpan atau dirender.