As a prospective student or parent, I want to complete an online enrollment form and upload my required documents, So that I can be admitted into the school without visting physically
Dynamic Form Fields: The system must show fields based on the selected course.
Document Upload: Users must be able to upload files (PDF, JPEG, PNG) up to 10MB.
Draft Save: Users can "Save for Later" and return to complete the application using a unique link or login.
Real-time Validation: Mandatory fields (Name, DOB, Email, Previous Grades) must be validated before submission.
Confirmation: Upon submission, the user must receive an automated email/SMS confirmation with an application ID.
Unsupported File Formats: User tries to upload a .zip or .exe file; the system must reject and show a clear error message. (file not supported: it will redirect document upload)
Network Interruption: If the internet drops during a large file upload, the system should allow the user to resume the upload rather than restarting the entire form.
Expired Sessions: If a user returns to a "Saved Draft" after 30 days, the system should notify them of application window has closed.
As an Admissions Officer, or Admin I want to review submitted applications and verify documents from a centralized dashboard, So that I can efficiently approve, reject, or request more information from applicants.
Queue Management: A dashboard view showing all "Pending" applications sorted by submission date. (early submission date , early priotization
Document Viewer: Ability to view uploaded documents directly in the browser without downloading them.
Status Updates: Options to change status to "Approved," "Rejected," or "Incomplete (Pending Info)."
Internal Comments: Ability to add internal notes for other staff members that are not visible to the student.
Direct Communication: A "Request Info" button that triggers a templated email to the student asking for missing documents.
Duplicate Applications: Two applications with the same Email/ID. The system should flag these as "Potential Duplicates" for manual review.
Conflict of Interest: An admin accidentally tries to approve an application that has already been rejected by another admin (Status Locking).
Missing Mandatory Docs: The system should prevent the Admin from clicking "Approve" if mandatory verification flags are not checked.
As a newly approved student, I want to pay my enrollment fees via secure online channels, So that my seat is officially reserved and I gain access to the LMS.
Payment Gateway Integration: Support for Credit/Debit cards, Net Banking, and UPI.
Automated Receipting: Generation of a downloadable PDF receipt immediately after a successful transaction.
LMS Trigger: Once payment is confirmed, the student record must automatically sync with the Learning Management System (LMS) to grant course access.
Partial Payments: Support for "Installment Plans" if configured for specific high-value courses.
Payment Failures: Payment is deducted from the bank but not updated in the system (Webhook/Reconciliation logic required).
Concurrent Enrollment: Two students paying for the "Last Seat" at the exact same second (Race condition handling).
Refund Policy: If a student cancels within 24 hours, the system should flag the record for a "Pending Refund" rather than just deleting the entry.