Skip to content

About

Open digital platform for Sri Lankan schools.

Resources

Code of conduct

Contributing

Security policy

Stars

40 stars

Watchers

0 watching

Forks

OpenSchool

OpenSchool

Open digital platform for Sri Lankan schools.

Backend CI Frontend CI Apache 2.0 License Contributor Covenant


About OpenSchool

OpenSchool is an open-source school management platform for Sri Lankan government schools. It brings everyday school work into one place: student and staff records, classes, attendance, curriculum, timetables, marks, notifications, reports, and school administration.

Many schools still depend on paper records or several disconnected tools. This makes information harder to find, update, and share safely. OpenSchool is built to give schools one clear system for managing that work.

OpenSchool can be self-hosted, so a school or public-sector organisation can run it on infrastructure it controls. Student and administrative data can remain under local control instead of depending on a commercial foreign-hosted service. It is licensed under Apache License 2.0, with no licence fees and no vendor lock-in.

Features

  • School setup, academic years, grades, classes, houses, and streams
  • Student, teacher, guardian, and non-academic staff records
  • Daily student and staff attendance
  • Subjects, curriculum choices, term marks, and promotions
  • Timetable planning, review, and publishing
  • In-app notifications, reports, dashboards, and automation checks
  • Separate portals for administrators, teachers, students, and parents

Read the feature guide for the full list.

Built with

Part Technology
Backend Go and Gin
Frontend React, TypeScript, Vite, and Carbon Design System
Database PostgreSQL
Identity and access management ThunderID

The backend is a modular monolith: one application, one database, and clear feature modules. See the architecture guide for more detail.

Get started

You need Go, Node.js with pnpm, Docker, and Docker Compose.

git clone https://github.com/openschool-org/openschool.git
cd openschool

Then follow these guides:

  1. Set up ThunderID.
  2. Set up and run OpenSchool.
  3. Open http://localhost:5173 and create the first administrator account.

Documentation

Guide Use it for
Setup Running OpenSchool locally and setting up a new school
Features Understanding what the system can do
Architecture Understanding the project structure and data model
Architecture decisions Understanding why key technical decisions were made
Contributing Setting up a development environment and opening a pull request

Contributing

Contributions are welcome. Please read CONTRIBUTING.md before opening an issue or pull request, and follow the Code of Conduct.

Security

If you find a security issue, please do not report it in a public issue. Follow SECURITY.md.

License

OpenSchool is licensed under the Apache License 2.0.

About

Open digital platform for Sri Lankan schools.

Resources

Code of conduct

Contributing

Security policy

Stars

40 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages