Madrasah / Masjid / Maktab testing profile
Category: Madrasah / Masjid / Maktab management · Profile version 1.0 · Not validated on a registered product yet
What this profile requires
Section 22: only modules actually enabled in a specific installation are required. A madrasa-only installation is never required to expose masjid modules and vice versa; sabaq (daily academic) records apply only where the installation keeps them.
A product in this category is checked against 17 modules. A module counts as covered only when the installation actually exposes it; a module discovery cannot see is recorded as a gap to review — behind authentication, nested inside another module, plan-gated or not enabled — never automatically as a product defect.
Required modules (17)
| Module | Module (Urdu) | Notes |
|---|---|---|
| Admissions | داخلے | — |
| Student Records | طلبہ کے ریکارڈ | — |
| Teachers / Staff | اساتذہ / عملہ | — |
| Attendance | حاضری | — |
| Classes / Departments | کلاسز / شعبے | — |
| Daily Academic (Sabaq) Records | روزانہ سبق ریکارڈ | — |
| Exams / Results | امتحانات / نتائج | — |
| Fees | فیسیں | — |
| Accounting | حساب کتاب | — |
| Payroll | تنخواہیں | — |
| Notices | اعلانات | — |
| Leave | چھٹیاں | — |
| Complaints | شکایات | — |
| Permissions / Roles | اجازتیں / کردار | — |
| PDF Reports | پی ڈی ایف رپورٹس | — |
| Bilingual UI (Urdu/English) | دو لسانی انٹرفیس (اردو/انگریزی) | — |
| Offline Operation + Two-Way Sync | آف لائن استعمال + دو طرفہ ہم آہنگی | — |
Critical journeys (5)
A journey is the smallest unit a product owner feels end to end. These are the journeys this profile treats as critical; each is linked to test cases, or states plainly why it cannot execute yet.
- Admission → student record created and searchable — No madrasa product is registered in the platform, so no cases exist yet. Journey case skeletons are created when this profile is first applied to a real product (Section 5: one category at a time, each validated on a real product).
- Daily attendance → class summary → notice to guardians — No madrasa product is registered in the platform, so no cases exist yet. Journey case skeletons are created when this profile is first applied to a real product (Section 5: one category at a time, each validated on a real product).
- Fee invoice → payment → printed receipt (Urdu PDF) — No madrasa product is registered in the platform, so no cases exist yet. Journey case skeletons are created when this profile is first applied to a real product (Section 5: one category at a time, each validated on a real product).
- Exam marks entry → result card generated (PDF) — No madrasa product is registered in the platform, so no cases exist yet. Journey case skeletons are created when this profile is first applied to a real product (Section 5: one category at a time, each validated on a real product).
- Offline entry (attendance/fees) → reconnect → two-way sync without duplicates — No madrasa product is registered in the platform, so no cases exist yet. Journey case skeletons are created when this profile is first applied to a real product (Section 5: one category at a time, each validated on a real product).
Proposed business invariants (5)
Invariants are the arithmetic rules a product in this category must never break. In MC Testing they are platform proposals (status PROPOSED) seeded from standard practice for the category, each carrying a source note; they bind a product only after its owner approves them, and they are never presented as the product's own documented rules.
- Σ fee receipts issued = Σ payments recorded for the same period.
Platform proposal from standard madrasa administration practice — not confirmed against any specific product's documented rules (Section 17: PROPOSED until owner-approved). - Attendance % = days present ÷ days held, per student per period.
Platform proposal from standard madrasa administration practice — not confirmed against any specific product's documented rules (Section 17: PROPOSED until owner-approved). - Result-card total = Σ subject marks; division/grade follows the institution's declared scale.
Platform proposal from standard madrasa administration practice — not confirmed against any specific product's documented rules (Section 17: PROPOSED until owner-approved). - Net pay = gross pay − deductions (loans/advances/absence), per staff member per month.
Platform proposal from standard madrasa administration practice — not confirmed against any specific product's documented rules (Section 17: PROPOSED until owner-approved). - After offline sync, every offline record exists exactly once on the server and once on the device — no duplicates, no silent loss.
Platform proposal from standard madrasa administration practice — not confirmed against any specific product's documented rules (Section 17: PROPOSED until owner-approved).
Readiness gates
Category weights (proposed, stored with every score snapshot): Functional correctness 25% · Business logic & data integrity 20% · Security 20% · Integration & reliability 10% · UI/UX & accessibility 10% · Performance 10% · Deployment & operational 5%.
- No open P0 finding (including any confirmed public data exposure).
- Fee-to-receipt journey PASS on test data.
- Offline-to-sync journey PASS with zero duplicates (where offline is supported).
Platform proposal seeded from the Section 25 defaults — owner approval pending; not validated on any registered product yet.
Release blockers
- Any confirmed public exposure of student data (P0, Section 18.1).
- Any open critical security finding.
- Fee reconciliation invariant violated on test data (after owner approval of the invariant).
- Sync creating duplicate student or fee records in the offline-to-sync journey.
Security requirements
- Student personal data (names, guardian phones) must never be publicly reachable — the Section 18.1 leak sweep explicitly probes data exports under /uploads/ (the MC-MMS incident class).
- Role boundaries: teacher accounts see only their classes; finance functions are restricted by role.
- No confirmed public data exposure — a confirmed exposure is a P0 release blocker.
Required evidence
- Per-case step results with screenshots on failure.
- Urdu PDF samples opened and visually verified for shaping.
- Sync journey logs from both directions (device → server, server → device).
- Leak-sweep probe table (JSON) per security run.
Cross-cutting packs on this profile
| Pack | Status | Why |
|---|---|---|
| bilingual-rtl | Attached | Urdu/English bilingual UI is a core module of this category (Section 22). The pack applies in full, including Urdu PDF shaping and Urdu-content import checks. |
| import-export | Attached | Student/fee data moves by Excel/CSV in this category (including Urdu names); the pack's Urdu-content and tenant-isolation cases are directly relevant. |
| pakistan-payments | Attached (proposed) | PROPOSED applicability: fee collection via JazzCash/EasyPaisa is common in this category, but no specific product has been validated — the pack attaches as a proposal and its cases are created (sandbox/test mode only, Section 23.2) when the profile is applied to a real product. |
| saas-billing | Needs review | Applies only where the specific installation is multi-tenant SaaS; single-institute deployments are not SaaS-billed. Decided per product at registration time — NEEDS REVIEW until then. |