LMS Role Workflows

Application: Robotics Academy LMS Platform
Roles covered: Admin Student Parent Child (Kids)
Generated: June 2026

1. Platform Overview

RoleEntry ModuleLogin MethodSelf-Register
Adminmodules/admin/Email + passwordYes
Studentmodules/student/Email + passwordYes
Parentmodules/kids/Email + password (+ OTP UI)Yes
Child (Kids)modules/kids/Child username + passwordNo — created by parent
High-level relationships
Landing Pages
Admin
Student
Parent
Child (Kids)

Admin manages users, courses, programmes, demos, payments. Student self-enrolls and learns. Parent manages children and enrolls kids courses. Child learns under parent controls.

2. Admin Workflow

2.1 Entry & Authentication

modules/admin/login.php → POST api/auth/login.php (role=admin) → Session: admin_id, admin_logged_in, admin_session_token → modules/admin/admin_dashboard.php Logout → POST api/auth/logout.php → login.php

2.2 Main Menu Areas

Menu GroupPages
Dashboardadmin_dashboard.php — stats, revenue, activity
Usersstudents.php, kids.php, instructors.php
Coursescourse_management.php, workshops.php, course_programmes.php, programme reports
Demodemo_sessions.php, demo_sessions_report.php, demo_requests.php
Operationsquestions.php, payments.php, pending_carts.php, empty_carts.php
Master Datacourse_categories.php, grade_rules.php
Documentsdocuments_students.php, documents_instructors.php
Systemreports.php, settings.php, events.php

2.3 Typical Admin Flows

A. Create & publish a course

Course Management → Add Course (6-step wizard) → Curriculum Builder (lessons, quiz, Zoom blocks) → Content Studio / Demo Lessons → Publish

B. Programme batch delivery

Course Programmes → Create programme → Programme Sessions (schedule + Zoom) → Allot Students → Send credentials email → Monitor via Programme Reports

C. Manage students

Students → Create / bulk import → Enroll in course or programme → View profile (progress, documents, purchases)

D. Demo flow

Demo Requests → Demo Sessions (schedule Zoom) → Send invitations → Demo Sessions Report

E. Platform settings

Settings → Email Notifications ON/OFF → Student Email Activation Required / Bypassed → Send Test Email (mail_from via config/app.local.php)

3. Student Workflow

3.1 Entry & Authentication

student/register.php → POST api/student/register.php → [If activation required] Email link → activate.php?token= → student/login.php → POST api/auth/login.php (role=student) → student_dashboard.php
When Student Email Activation is Bypassed, account is active immediately and no activation email is sent.

3.2 Navigation (Sidebar)

AreaPage
Dashboardstudent_dashboard.php
Browsecourse_catalog.php, workshop_catalog.php
My Learningmy_courses.php, my_workshops.php
Calendarterm_calendar.php
Cart & Paycart.php → checkout.php → payment_success.php
Learninglesson_player.php, materials.php, learning_access.php
Assignmentsassignments/submit_assignment.php
Accountprofile.php, payment_history.php, certificates.php, settings.php

3.3 Typical Student Flows

A. Free course enrollment

Register → Login → Course Catalog → Course Details → Enroll (free) → My Courses → Lesson Player

B. Paid course purchase

Course Catalog → Add to Cart → Cart → Checkout → Payment → payment_success.php → My Courses

C. Workshop enrollment

Workshop Catalog → Workshop Details → Cart / Buy Now → Checkout → Payment → My Workshops

D. Programme credential access

Email with programme credentials → programme_login.php → Lesson Player (programme-gated)

4. Parent Workflow

Parents use modules/kids/ — there is no separate modules/parent/ folder.

4.1 Entry & Authentication

kids/register.php → POST api/auth/register.php (role=parent) → Creates parent + optional first child → kids/login.php → Email + password → OTP step (UI demo: 123456) → parent_dashboard.php

4.2 Navigation (Parent Sidebar)

SectionPages
Dashboardparent_dashboard.php
Childrenchildren_list.php, add_child.php
Enrollmentenroll_courses.php
Trackingschedules.php, child_progress_select.php, child_progress_view.php
Child controlchild_settings.php, child_my_courses.php
Accountprofile.php, change_password.php, payment history

4.3 Typical Parent Flows

A. Register → add child → enroll

kids.php → Register → Login → Parent Dashboard → Add Child (username/password for child login) → Enroll Course (pick child + grade-matched kids course)

B. Control child learning

Children List → Child Settings → Enable/disable child login → Daily time limits & allowed hours → Per-course access on/off

Enrollment rules (kids courses):

5. Kids (Child) Workflow

5.1 Entry & Authentication

kids/login.php → Child username + password → POST api/auth/login.php (role=child) → child_dashboard.php → child_my_courses.php → child_lesson_player.php

Alternate: programme_login.php for programme batch credentials.

5.2 Navigation (Child Sidebar)

PagePurpose
child_dashboard.phpHome — courses, assignments, progress
child_my_courses.phpEnrolled kids courses
child_schedules.phpSchedule view
child_my_profile.phpChild profile

5.3 Child Access Rules

6. Cross-Role Interactions

InteractionHow It Works
Admin → StudentCreate students, enroll, programme allotment, send credentials
Admin → Parent/KidsManage via admin/kids.php, parent_profile.php
Student → AdminDemo requests, purchases appear in admin carts/payments
Parent → ChildCreates account, enrolls courses, controls access & schedule
Student vs KidsStudent = workforce/adult courses; Kids = grade-matched K-12 via parent

7. Authentication Comparison

AdminStudentParentChild
Session keyadmin_idstudent_idparent_idchild_id
LoginEmailEmailEmailUsername
DB user rowYesYesYesNo (lms_children)
Session tokenDB validatedDB validatedDB validatedLight check
Self-registerYesYesYesNo

8. Payment & Enrollment Summary

Student path:

Catalog → Cart → Checkout → Payment → Enroll → My Courses / Workshops

Parent path:

Kids course catalog → enroll_child_course API → Child My Courses → Lesson Player

Admin path:

Manual enroll / programme allot → Student or programme access