User Roles
The LMS platform is built around a role-based access control (RBAC) system.Each user is assigned a role that determines what they can access, manage, and modify across the platform. Roles are enforced at both:
- Backend level (Laravel policies & permissions)
- Frontend level (UI visibility & access control)
Super Admin
The Super Admin has full control over the entire platform.Responsibilities
- Manage all companies on the platform
- Configure global platform settings
- Manage roles and permissions
- Access all users, trainings, exams, and orders
- Override company-level restrictions when required
Notes
- Super Admin users are excluded from standard user listings.
- This role is reserved for platform owners or core system administrators.
Admin (Company Administrator)
The Admin manages the platform within a specific company.Responsibilities
- Manage company users (create, update, archive, restore, delete)
- Assign and change user roles
- Manage instructors and students
- Configure company branding and landing page
- Manage trainings, exams, and categories
- View and manage orders and invoices
Access Scope
- Limited to their own company data
- Cannot access other companies’ data
Instructor
The Instructor role is responsible for creating and managing educational content.Responsibilities
- Create and manage trainings
- Upload lessons, videos, and materials
- Create quizzes and exams
- View student enrollments and performance
- Maintain a public instructor profile
Public Profile
Instructors can have a public profile including:- Skills and biography
- Contact and social links
- Profile visibility settings
Important Rules
- If an instructor already has trainings assigned, their role cannot be changed
- Instructor profiles may be hidden automatically when role changes
Student
The Student is the primary consumer of the learning content.Responsibilities
- Browse available trainings and exams
- Purchase trainings or exams
- Access enrolled content
- Take quizzes and exams
- Download invoices for paid orders
Access Scope
- Students only access content they have purchased
- Exam access can be revoked at order level
Content Manager
The Content Manager focuses on content organization and presentation, without full administrative privileges.Responsibilities
- Manage trainings and exams content
- Organize featured trainings and exams
- Configure landing page sections (featured categories, partner companies)
- Control display order and visibility
Limitations
- Cannot manage users or roles
- Cannot access billing or system-level settings
Role & Permission System
How Permissions Work
- Each role has a defined set of permissions
- Permissions are enforced using Laravel policies
- API endpoints validate permissions before executing actions
Frontend Behavior
- UI components are displayed based on role permissions
- Unauthorized actions are hidden or disabled
- Backend always acts as the final authority
User Lifecycle States
A user can be in one of the following states:- Active – full access based on role
- Blocked – access temporarily disabled
- Archived – user removed from active usage but kept for history
- Deleted – permanently removed from the system
Summary
👉 Continue to the next sections to explore API References and technical implementation details.