Skip to main content

SKOLE-ADMN — Admission Form Module

Module ID: SKOLE-ADMN | Version: 1.0 | Status: Active
Products: Web App (admin) · Public-facing form (no auth required)

1. Overview

Scope In

  • Multi-step admission: student info → parent/guardian info → address info
  • Public endpoints (no JWT) so prospective parents can submit
  • Edit each section individually after initial submission
  • Grade lookup and student info lookup by roll_no

Scope Out

  • Payment collection during admission
  • Document upload (birth certificate, ID proof)

2. Requirements

Functional Requirements (FR)

What the module must DO — actions, behaviors, and outcomes.
  • SKOLE-ADMN-FR001: The module shall allow any user with a school link to submit an admission form without requiring authentication.
  • SKOLE-ADMN-FR002: The module shall capture comprehensive student, parent, guardian, and address information through a multi-step flow.
  • SKOLE-ADMN-FR003: The module shall automatically create synchronized records in students, parent_details, student_guardian, and student_address tables upon submission.
  • SKOLE-ADMN-FR004: The module shall allow admins to query submitted records by skole_id and roll number.
  • SKOLE-ADMN-FR005: The module shall provide available grades for the school in a dynamic dropdown.
  • SKOLE-ADMN-FR006: The module shall enable section-level updates for student, parent, guardian, and address info post-submission.

Non-Functional Requirements (NFR)

How well the module must do it — performance, security, and reliability.
  • SKOLE-ADMN-NFR001: The module shall perform as a public-facing gateway by marking all admission endpoints as @Public().
  • SKOLE-ADMN-NFR002: The module shall behave reliably by identifying the target school via the skole_id provided in the query or form body.

Constraints

Rules and boundaries — tech choices and platform restrictions.
  • C001: We must utilize database transactions during admission creation to ensure all related records (student, parent, guardian, etc.) are created atomically.
  • C002: We must ensure the public form is stateless as it cannot rely on JWT-based sessions.

3. Sub-modules / Backlog


4. Logical Implementation

Admission Create Flow

Grade Lookup


5. UI Requirements

Web App — Admission Form

Components:

6. Conditional Expressions


7. Database Tables


8. API Endpoints