Skip to content

Institution types and features ​

Institutions work differently. A school runs on classes, subjects, a timetable and term examinations. A Hifz academy has none of those: each Ustadh has a Halqa of students and records their progress every day until the course is complete. Qurtuba serves both, and mixtures of both, from one codebase.

Types ​

TypeStarts with
SchoolClasses, subjects, timetable, attendance, examinations, and the rest of the school toolkit
HifzCourse tracking: groups (Halqas), mentors (Ustadh), daily Sabaq / Sabaqi / Manzil logs, Juz tests
HybridBoth

Coaching and seminary are planned.

A type also sets the institution's vocabulary. In a Hifz academy the menus say Ustadh, Halqa and Hifz Progress rather than teacher, group and progress. It also sets defaults: target pages, log-column labels, Halqa capacity, and whether pages mean Mushaf pages.

Features ​

A feature owns a set of pages (Examinations, Course Tracking, Library, Store…). Pages in no feature are core and always on: dashboard, students, staff, calendar, settings.

An institution's effective features are its type's defaults, plus any overrides. A school that doesn't use the store can switch the store off. A Hifz academy that sets written exams can switch Examinations on.

Who can change them ​

Only a super admin, from the institution's page in Super Admin. Institution administrators see the type and features read-only under Settings.

What switching a feature off does ​

  • Its pages disappear from every menu, for every role.
  • Its pages are refused, not just hidden. The permission bits for a disabled feature's pages are cleared from every session, so the database denies them too.
  • The change reaches signed-in users on their next request. Nobody needs to sign out.

Data is never deleted. Switch the feature back on and everything is where it was.

For developers ​

Screens branch on features, never on the type's name, and use the vocabulary rather than hard-coded words. Adding a type or a feature is a migration, with no application code. See Adding a module.

Qurtuba Foundation · Sign in at app.qurtuba.in