DEV Community

Cover image for Equip: an open-source LMS for small schools and volunteer-run programs (React, FastAPI, Supabase)
Vadym Arnaut
Vadym Arnaut

Posted on Edited on

Equip: an open-source LMS for small schools and volunteer-run programs (React, FastAPI, Supabase)

Why I’m writing this

Small Bible schools, home groups, and volunteer-run training programs still run classes on paper, messengers, and spreadsheets. Big LMS products are either too expensive or too heavy for a team that has no DevOps and no budget.

Equip is a free, open-source learning platform built for that reality: tens to low hundreds of users, not “enterprise 10k seats”.

The code is on GitHub under MIT. Issues and PRs are open.


What it does today

  • Courses → modules → chapters with a TipTap rich editor (text, images, YouTube, callouts, audio).
  • Quizzes — multiple choice, true/false, short answer, essay; teacher grading and extra attempts when needed.
  • Assignments + gradebook, progress, certificates (with approval flow).
  • Teacher & admin tools: cohorts, calendar, announcements, analytics, soft-delete / restore, CSV export.
  • Auth via Supabase (email/password + Google).
  • Deploy: Vercel (static frontend + serverless FastAPI backend), Postgres on Supabase with RLS.

Live app: equipbible.com

Roadmap: in the repo → ROADMAP.md

How to contribute: CONTRIBUTING.md


Stack (if you like concrete tech)

Layer Tech
UI React 18, TypeScript, Vite, Tailwind, shadcn/ui, TipTap, Radix
API Python 3.12, FastAPI, SQLAlchemy 2, Pydantic 2
Data PostgreSQL (Supabase), migrations in supabase/migrations/*.sql
CI GitHub Actions — lint, typecheck, tests (backend + frontend)

We keep conventional commits, no Docker in the project by design, and we care about types (mypy + strict TypeScript) and a clean codebase.


Where contributions land

  • Good first issues — filter by good first issue on GitHub.
  • UI/UX — especially accessibility and a calmer, “editorial” reading experience.
  • Docs — setup stories from real machines (Windows / macOS / Linux) help a lot.
  • i18n — the product UI is largely Russian today; if you care about internationalization, that’s a meaningful roadmap area.

The project is built in public and meant to stay approachable for nonprofits and volunteers.


Free LMS, small scale, real classrooms.

GitHub logo ArVaViT / equip

Free, open-source LMS for Bible schools, ministries, and nonprofit educational programs. React + FastAPI + Supabase.

Equip logo

Equip

A free, open-source learning management system built for Bible schools church ministries, and nonprofit educational programs

MIT License Backend CI Frontend CI Code coverage OpenSSF Scorecard

Live site · Documentation · Security


Screenshots













Equip home page: the headline "Study Scripture in order, not in fragments" with Browse all courses and Create account buttons

Home

Equip course catalog with cover cards for published courses

Course catalog — open to visitors; enrolling needs an account

Equip sign-in page: a scripture column on the left, Google, email-and-password and sign-in-link options on the right

Sign in — Google, email and password, or a sign-in link

Equip home page on a 390px mobile viewport

Mobile (390px)

Live at equipbible.com. Course pages, the lesson reader, and the teacher and director views (course editor, gradebook, analytics) are behind sign-in. Anyone can create a free student account; teachers join a school by invitation.


Why this project?

Hundreds of small Bible schools, home churches, and missionary training programs around the world still manage courses on paper, WhatsApp, or spreadsheets. Commercial LMS platforms are expensive, overkill, or require technical expertise that volunteer-run organizations simply don't have.

Equip is designed to change that:

  • Free forever — MIT-licensed, no paywalls, no "premium" tiers.
  • Serverless hosting — a Vercel frontend and backend on a Supabase…

Top comments (0)