LMS Role Workflows
Application: Robotics Academy LMS Platform
Roles covered: Admin
Student
Parent
Child (Kids)
Generated: June 2026
1. Platform Overview
| Role | Entry Module | Login Method | Self-Register |
| Admin | modules/admin/ | Email + password | Yes |
| Student | modules/student/ | Email + password | Yes |
| Parent | modules/kids/ | Email + password (+ OTP UI) | Yes |
| Child (Kids) | modules/kids/ | Child username + password | No — created by parent |
High-level relationships
↓
↓
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 Group | Pages |
| Dashboard | admin_dashboard.php — stats, revenue, activity |
| Users | students.php, kids.php, instructors.php |
| Courses | course_management.php, workshops.php, course_programmes.php, programme reports |
| Demo | demo_sessions.php, demo_sessions_report.php, demo_requests.php |
| Operations | questions.php, payments.php, pending_carts.php, empty_carts.php |
| Master Data | course_categories.php, grade_rules.php |
| Documents | documents_students.php, documents_instructors.php |
| System | reports.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)
| Area | Page |
| Dashboard | student_dashboard.php |
| Browse | course_catalog.php, workshop_catalog.php |
| My Learning | my_courses.php, my_workshops.php |
| Calendar | term_calendar.php |
| Cart & Pay | cart.php → checkout.php → payment_success.php |
| Learning | lesson_player.php, materials.php, learning_access.php |
| Assignments | assignments/submit_assignment.php |
| Account | profile.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)
| Section | Pages |
| Dashboard | parent_dashboard.php |
| Children | children_list.php, add_child.php |
| Enrollment | enroll_courses.php |
| Tracking | schedules.php, child_progress_select.php, child_progress_view.php |
| Child control | child_settings.php, child_my_courses.php |
| Account | profile.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):
- Course audience must be kids
- Course grade_label must match child's grade
- Parent enrolls on behalf of child — child cannot self-enroll
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)
| Page | Purpose |
| child_dashboard.php | Home — courses, assignments, progress |
| child_my_courses.php | Enrolled kids courses |
| child_schedules.php | Schedule view |
| child_my_profile.php | Child profile |
5.3 Child Access Rules
- Allowed: modules/kids/*, modules/courses/*, modules/assignments/*
- Blocked: payments, admin, student portal
- Parent can disable course access, set time windows, or disable child account
6. Cross-Role Interactions
| Interaction | How It Works |
| Admin → Student | Create students, enroll, programme allotment, send credentials |
| Admin → Parent/Kids | Manage via admin/kids.php, parent_profile.php |
| Student → Admin | Demo requests, purchases appear in admin carts/payments |
| Parent → Child | Creates account, enrolls courses, controls access & schedule |
| Student vs Kids | Student = workforce/adult courses; Kids = grade-matched K-12 via parent |
7. Authentication Comparison
| Admin | Student | Parent | Child |
| Session key | admin_id | student_id | parent_id | child_id |
| Login | Email | Email | Email | Username |
| DB user row | Yes | Yes | Yes | No (lms_children) |
| Session token | DB validated | DB validated | DB validated | Light check |
| Self-register | Yes | Yes | Yes | No |
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