Back to Home

🎓 STUDENT PANEL - COMPLETE DFD

From Registration to Learning Analytics (Step-by-Step Flow)

📖 DFD SYMBOLS LEGEND
Process Actions/Operations performed by system
External Entity Student (User interacting with system)
Data Store Database tables storing information
Data Flow Direction of information movement

🔍 SYSTEM ASSUMPTIONS

STEP 1: STUDENT REGISTRATION

Process Flow:

Input: Student provides Name, Email, Mobile, Password, Course Selection

Process: System validates data → Encrypts password → Creates user account

Output: Registration successful → Student receives credentials

STUDENT STEP 1 1.1 REGISTRATION PROCESS D1: USER TABLE D2: STUDENT_PROFILE Registration Data (Name, Email, Mobile, Password, Course) Create User Record (Encrypted Password) Create Profile Registration Success (Login Credentials)
STEP 2: STUDENT LOGIN & AUTHENTICATION

Process Flow:

Input: Email + Password

Process: Authenticate credentials → Verify role = STUDENT → Generate JWT session token

Output: Login successful → Redirect to Dashboard

STUDENT STEP 2 2.1 AUTHENTICATION PROCESS D1: USER TABLE 2.2 GENERATE JWT Login Request (Email + Password) Verify Credentials User Found (role=STUDENT) Valid User Session Token + Redirect to Dashboard
STEP 3: STUDENT DASHBOARD

Process Flow:

Input: Authenticated session token

Process: Fetch profile status → Retrieve subscription details → Load notifications

Output: Display Dashboard with profile status, enrolled courses, locked/unlocked content

STUDENT STEP 3 3.1 LOAD DASHBOARD D2: STUDENT_PROFILE D3: STUDENT_SUBSCRIPTION D4: NOTIFICATION D5: CONTENT (Videos/Notes) Access Dashboard Fetch Profile Profile Data Check Status Trial/Paid/Expired Alerts Locked/Unlocked Status Dashboard View (Status, Courses, Alerts)
STEP 4: FREE TRIAL CONTENT ACCESS

Process Flow:

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

STUDENT STEP 4 4.1 CHECK TRIAL STATUS 4.2 FILTER FREE CONTENT D3: SUBSCRIPTION D6: VIDEO (is_free=true) D7: NOTES (is_free=true) D8: MOCK_TEST (is_free=true) Request Content Verify Status status=Trial Allow Free Content 2 Videos 2 Notes 1 Test Display Free Content (Limited Access)
STEP 5: SUBSCRIPTION & PAYMENT PROCESSING

Process Flow:

Input: Student selects subscription plan

Process: Select plan → Process payment via gateway → Verify transaction → Activate subscription

Output: Payment successful → Full access unlocked

STUDENT STEP 5 PAYMENT GATEWAY 5.1 SELECT PLAN 5.2 PAYMENT PROCESS 5.3 VERIFY PAYMENT 5.4 ACTIVATE SUBSCRIPTION D9: SUBSCRIPTION_PLAN D10: PAYMENT D3: STUDENT_SUBSCRIPTION Browse Plans Plan Details Selected Plan Payment Request (Amount, Mode) Response Store Transaction Success Update Status=Active Access Granted (Full Content Unlocked)
STEP 6: ACCESS LEARNING CONTENT (VIDEOS, NOTES)

Process Flow:

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

STUDENT STEP 6 6.1 CHECK ACCESS PERMISSION 6.2 DELIVER CONTENT D3: STUDENT_SUBSCRIPTION D6: VIDEO D7: NOTES D11: MOCK_TEST Request Content (Video/Note ID) Verify Status status=Active Access Granted Video Stream PDF Download Test Access Stream/Display Content
STEP 7: EXAM/MOCK TEST ATTEMPT

Process Flow:

Input: Student starts exam

Process: Load questions → Student answers → Submit → Auto-evaluate → Calculate marks

Output: Exam result with marks, pass/fail status, performance report

STUDENT STEP 7 7.1 START EXAM 7.2 TAKE EXAM 7.3 SUBMIT ANSWERS 7.4 AUTO EVALUATE 7.5 GENERATE RESULT D12: EXAM D13: ANSWER_SHEET D14: EXAM_RESULT Select Exam Fetch Questions Question Set Load Exam Answer Questions Submit Answers Store Answers Trigger Evaluation Fetch Answers Marks Calculated (Pass/Fail) Store Result Display Result (Marks, Status, Report)
STEP 8: NOTIFICATION SYSTEM

Process Flow:

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

STUDENT STEP 8 8.1 GENERATE NOTIFICATION 8.2 SEND NOTIFICATION Exam Schedule Payment Due Sub Expiry D4: NOTIFICATION Exam Alert Payment Reminder Expiry Warning Store Notification Push Alert Fetch Unread Display Notification (Dashboard + Email)
STEP 9: STUDENT ANALYTICS & PROGRESS TRACKING

Process Flow:

Input: Student views analytics dashboard

Process: Fetch exam results → Calculate performance metrics → Generate graphs

Output: Display score trends, strength/weakness analysis, progress report

STUDENT STEP 9 9.1 FETCH RESULTS 9.2 CALCULATE METRICS 9.3 GENERATE REPORT D14: EXAM_RESULT D15: MOCK_TEST_RESULT D16: ANALYTICS_DATA View Analytics Get All Results Result Data Mock Test Scores Raw Data Performance Metrics Store Analytics Display Dashboard (Graphs, Trends, Insights)

✅ COMPLETE STUDENT JOURNEY - END TO END

📝 REGISTRATION PHASE

Student registers → Account created → Profile stored in database

🔐 LOGIN PHASE

Credentials verified → Session token generated → Dashboard access granted

📊 DASHBOARD PHASE

Profile loaded → Subscription checked → Content status displayed

🎁 TRIAL PHASE

Free content accessed → 2 videos, 2 notes, 1 test → Limited access

💳 PAYMENT PHASE

Plan selected → Payment processed → Subscription activated

📚 LEARNING PHASE

Videos watched → Notes downloaded → Full content access

📝 EXAM PHASE

Exam attempted → Auto-evaluated → Results generated

🔔 NOTIFICATION PHASE

Alerts received → Reminders sent → Updates notified

📈 ANALYTICS PHASE

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