TutorLoom
기업·대학·교육기관을 위한 학습 플랫폼, 무료 오픈소스이며 엔터프라이즈 버전 제공
이론·예시·문제까지 포함한 완전한 인터랙티브 교과서, 중·고·대학 수준 모두 지원, 브라우저에서 무료로 읽을 수 있습니다
Komplette, interaktive lærebøker med teori, eksempler og oppgaver i én løkke – for ungdomsskole, videregående og høyskole/universitet. Gratis å lese, rett i nettleseren.
교육TypeScript · PythonGitHub @DanielAubert온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Skolesaga - Interaktive lærebøker for norsk skole. Gratis lærebøker med øvingsoppgaver, quiz og fremgangsregistrering for alle fag fra 5. klasse til VG3.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Gratis interaktive lærebøker for norsk skole med øvingsoppgaver, quiz og fremgangsregistrering.
npm install
Kopier .env.example til .env.local og fyll inn verdiene:
cp .env.example .env.local
Nødvendige variabler:
NEXT_PUBLIC_SUPABASE_URL - Din Supabase prosjekt-URLNEXT_PUBLIC_SUPABASE_ANON_KEY - Din Supabase anon nøkkelSUPABASE_SERVICE_ROLE_KEY - Din Supabase service role nøkkel (for server-side)NEXTAUTH_SECRET - En tilfeldig streng for kryptering av sessionsNEXTAUTH_URL - URL til applikasjonen (f.eks. http://localhost:3000)Valgfrie variabler:
GOOGLE_CLIENT_ID / GOOGLE_CLIENT_SECRET - Google OAuth-innloggingFEIDE_CLIENT_ID / FEIDE_CLIENT_SECRET - Feide OAuth-innloggingANTHROPIC_API_KEY - AI-retting av prøverNEXT_PUBLIC_GA_MEASUREMENT_ID - Google AnalyticsSe docs/database-schema.md for database-skjema og oppsett.
npm run dev
Åpne http://localhost:3000 i nettleseren.
| Kommando | Beskrivelse |
|---|---|
npm run dev | Start utviklingsserver med Turbopack |
npm run build | Bygg for produksjon (kjører først scripts/combine-chapters.js som slår sammen kapitteldata) |
npm run start | Start produksjonsserver |
npm run lint | Kjør ESLint |
npx tsc --noEmit | Typesjekk uten å generere filer |
src/
├── app/ # Next.js App Router
│ ├── page.tsx # Landing page
│ ├── bok/ # Lærebøker (bok/[courseId]/[chapterId])
│ │ # med quiz, trening, flashcards og kompetansemål
│ ├── book/ # Python-lærebok
│ ├── geogebra/ # GeoGebra-lærebok
│ ├── quiz/ # Quiz-oversikt og gigaquiz
│ ├── dashboard/ # Dashbord for elev, lærer og admin
│ ├── test-deg-selv/ # Selvtester (personlighet, læringsstil m.m.)
│ ├── hoderegning/ # Hoderegningstrening
│ ├── poengkalkulator/ # Poengkalkulator for vitnemål
│ └── api/ # API-ruter (fremgang, klasser, oppgaver m.m.)
├── components/ # React-komponenter
│ ├── ui/ # shadcn/ui komponenter
│ ├── textbook/ # Lærebok-komponenter (oppgavetyper, grafer m.m.)
│ ├── navigation/ # Navigasjons-komponenter
│ └── ... # Dashbord-, quiz- og layout-komponenter
└── lib/ # Hjelpefunksjoner og data
├── data/ # Lærebok-innhold
│ ├── chapters/ # Kapittelfiler (JSON, inkl. narrative versjoner)
│ └── textbook-courses-*.ts # Kursdefinisjoner per trinn/fagområde
└── auth/ # Autentisering
scripts/ # Verktøy for innholdsproduksjon
# (kapittelgenerering, forsidebilder, lydbøker)
docs/ # Database-skjema og innholdsdokumentasjon
public/
├── images/ # Forsidebilder og illustrasjoner
└── audio/ # Lydbok-segmenter (1T, 2P, historie)
Alle rettigheter forbeholdt © 2026 Skolesaga