Lexiverse
Lexiverse - AI contextual reading engine for English learners. Your next article is your next review.
翻訳待ち
No updates detected yet. GitHub releases will appear here.
Loading the full README. The saved excerpt is shown below.
EduCore is a multi-tenant School Management System: schools subscribe
per-student-per-month, and each school gets an isolated workspace (its own
subdomain, users, data, and branding) inside a single shared deployment.
This repo currently implements Phase 0 — Foundation. See
CHANGELOG.md for what shipped and DEPLOYMENT.md
for step-by-step free-tier deployment instructions.Read the full README ↗EduCore is a multi-tenant School Management System: schools subscribe per-student-per-month, and each school gets an isolated workspace (its own subdomain, users, data, and branding) inside a single shared deployment.
This repo currently implements Phase 0 — Foundation. See CHANGELOG.md for what shipped and DEPLOYMENT.md for step-by-step free-tier deployment instructions.
| Layer | Choice |
|---|---|
| Frontend | Next.js 14 (App Router), TypeScript, Tailwind CSS, shadcn/ui-style primitives, TanStack Query, React Hook Form + Zod |
| Backend | Next.js Route Handlers, TypeScript |
| Database | PostgreSQL (Supabase, free tier) + Prisma ORM |
| Auth | Auth.js (NextAuth v5) — credentials + optional Google/Microsoft OAuth, JWT sessions |
| i18n | next-intl (English + French seeded) |
| Monorepo | pnpm workspaces + Turborepo |
| Testing | Vitest (unit/integration), Playwright (e2e) |
apps/web/ Next.js application (marketing site + tenant app)
packages/db/ Prisma schema, migrations, seed script, tenant-scoping
Prisma Client Extension, RLS helper, audit-log helper
packages/auth/ RBAC permission matrix (single source of truth),
password hashing, ORM-independent Role mirror
packages/ui/ Design-system primitives (shadcn/ui-style): button,
input, select, table, dialog, alert-dialog, dropdown,
empty state, skeleton. Presentational only.
This is the beginning of the README. Read the rest at the original. Read the full README ↗