Input: Student provides Name, Email, Mobile, Password, Course Selection
Process: System validates data → Encrypts password → Creates user account
Output: Registration successful → Student receives credentials
Input: Email + Password
Process: Authenticate credentials → Verify role = STUDENT → Generate JWT session token
Output: Login successful → Redirect to Dashboard
Input: Authenticated session token
Process: Fetch profile status → Retrieve subscription details → Load notifications
Output: Display Dashboard with profile status, enrolled courses, locked/unlocked content
Input: Student requests to view content
Process: Check subscription_status → If Trial → Allow 2 videos, 2 notes, 1 test → Else lock content
Output: Display available free content or show subscription prompt
Input: Student selects subscription plan
Process: Select plan → Process payment via gateway → Verify transaction → Activate subscription
Output: Payment successful → Full access unlocked
Input: Student clicks on video/note
Process: Check subscription_status → If Active → Grant access → Stream/download content
Output: Content displayed/downloaded OR "Subscribe to unlock" message
Input: Student starts exam
Process: Load questions → Student answers → Submit → Auto-evaluate → Calculate marks
Output: Exam result with marks, pass/fail status, performance report
Triggers: Exam alerts, Payment reminders, Subscription expiry warnings
Process: System generates notification → Store in DB → Push to student dashboard/email
Output: Student receives timely alerts and reminders
Input: Student views analytics dashboard
Process: Fetch exam results → Calculate performance metrics → Generate graphs
Output: Display score trends, strength/weakness analysis, progress report
Student registers → Account created → Profile stored in database
Credentials verified → Session token generated → Dashboard access granted
Profile loaded → Subscription checked → Content status displayed
Free content accessed → 2 videos, 2 notes, 1 test → Limited access
Plan selected → Payment processed → Subscription activated
Videos watched → Notes downloaded → Full content access
Exam attempted → Auto-evaluated → Results generated
Alerts received → Reminders sent → Updates notified
Performance tracked → Progress analyzed → Reports generated
🎓 Total Data Stores Used: 16 tables
⚙️ Total Processes: 9 main steps with 25+ sub-processes
🔄 Complete Student Lifecycle: Registration → Learning → Analytics