Launch your own school management platform — and let any school run its whole day on it — without building the hard parts yourself.
Schola is a complete, multi-tenant school SaaS: a public website, a dashboard for every school, and a console for you, the platform owner — with the API and a full documentation site underneath. A school applies, you approve it, and from that moment its classes, people, attendance, grades, fees, payroll and daily operations live in Schola. It's not a UI kit: every screen reads and writes real data, and one command loads a 500-student demo school into your own database.
🌐 LIVE DEMO
🏫 FOR EVERY SCHOOL
• Setup: academic years, subjects, classes and sections with seat limits
• People: teachers, students, parents, staff and enrollment; members and roles
• Attendance: registers for a teacher's own sections, staff attendance, a monthly calendar on every student
• Academics: exams with date windows, gradebook with letter grades, remarks, report card PDFs
• Fees: structures, invoices, payments, waivers and numbered receipt PDFs
• Payroll: salary structures, monthly runs, payslip PDFs and a mark-paid trail
• Online payments with Stripe Checkout and a signed, idempotent webhook
• Timetable that refuses clashes, leave requests, admissions pipeline, library, transport and hostel
• A dashboard for every role, reports with CSV export, notifications with email, announcements and an audit log with before/after
👨👩👧 PORTALS
• Parents see only their own children: attendance, grades, remarks and fees — and pay online
• Students see their attendance, grades and download their report card
• Teachers and staff see their own attendance and payslips
🛡️ PLATFORM CONSOLE (for you)
• Schools apply from the public site; approve, reject with a reason, or suspend
• Every user on the platform, branding, email templates and feature flags
• Hand a school to a new admin with an emailed link that expires
🔐 MULTI-TENANT & SECURE
• Many schools share one database; the school always comes from the signed session and is added to every query
• 10 roles and 95 permissions — every API route checks one, and the sidebar shows only what each user can open
• argon2id passwords, JWT in httpOnly cookies with refresh rotation, CSRF, rate limits, account lockout
• Phone numbers, birthdays and addresses encrypted (AES-256-GCM)
• SEO-ready public site: sitemap, robots, Open Graph and structured data (JSON-LD); light and dark themes
⚙️ TECH STACK
Next.js 16 (App Router) · React 19 · TypeScript (strict, zero "any") · Tailwind CSS v4 · shadcn/ui · TanStack Query · Zustand · Turborepo + pnpm · Node.js 22 + Express 5 · MongoDB + Mongoose 9 · Zod · Stripe · Resend or SMTP · ImageKit · Firebase Auth · Astro Starlight docs · Vitest, Supertest and Playwright tests (~270) · GitHub Actions CI
📦 WHAT YOU GET
• Full source code: web app (apps/web), REST API (apps/api), documentation site with 100+ pages (apps/docs) and shared packages
• Demo platform: a 500-student school with every role, a term of attendance, grades, fees and payroll, plus extra schools for the console — loaded into YOUR MongoDB with one command
• Guided setup (node scripts/setup.mjs), a one-command environment check (pnpm env:check) and demo-data scripts (pnpm seed / pnpm seed:reset)
• README, step-by-step SETUP guide, SECURITY checklist and LICENSE
• Environment templates listing every key, what it does and where to get it — no keys or secrets included
🚀 UP AND RUNNING IN MINUTES
1. Unzip and run: node scripts/setup.mjs
2. Paste your MongoDB connection (or press Enter for a local MongoDB) — it installs everything, creates your env file, generates the secrets, checks the database and loads the demo school
✅ REQUIREMENTS
• Node.js 22+ and pnpm
• MongoDB (local, or a free MongoDB Atlas cluster)
• Optional: Stripe, Resend/SMTP, ImageKit, Firebase and Neon — all have free plans or test modes, and each stays off until you add its key
📄 LICENSE One purchase = one project (one Schola platform, with as many schools as you like), for yourself or one client. You may modify the code freely and use it commercially. You may not resell, share or redistribute the source code, or publish it in a public repository.
💬 SUPPORT Questions before or after buying? Message me here on Buy Me a Coffee. Please include your Node version, the command you ran and the error you saw.