Skip to content

Courses Module

The Courses module allows you to create and manage online courses with lessons, content, student enrollment, and progress tracking. This comprehensive guide covers all course management features.


Table of Contents

  1. Overview
  2. Accessing Courses
  3. Creating a Course
  4. Course Content Structure
  5. Sections (Modules)
  6. Lessons
  7. Content Items
  8. Course Enrollment
  9. Student Progress Tracking
  10. Course Reviews
  11. Instructors
  12. Frontend Display

Overview

Features

  • ✅ Create comprehensive online courses
  • ✅ Hierarchical content structure (Sections → Lessons → Content)
  • ✅ Multiple content types (video, text, files, quizzes)
  • ✅ Student enrollment (free and paid)
  • ✅ Progress tracking
  • ✅ Course reviews and ratings
  • ✅ Instructor management
  • ✅ Course categories
  • ✅ Secure media streaming
  • ✅ Certificate generation

Admin Routes

  • Course List: /admin/courses
  • Create Course: /admin/courses/create
  • Edit Course: /admin/courses/{id}/edit
  • Categories: /admin/course-categories
  • Sections: /admin/courses/{course}/sections
  • Lessons: /admin/sections/{section}/lessons
  • Content Items: /admin/lessons/{lesson}/content-items

Frontend Routes

  • Course Catalog: /courses
  • Course Detail: /courses/{slug}
  • Learning Dashboard: /learning/courses/{slug} (authenticated)
  • Free Enrollment: /courses/{course}/enroll/free

Accessing Courses

From Admin Panel

  1. Log in to admin panel
  2. Navigate to LearningCourses
  3. Or go directly to: /admin/courses

Permissions Required

  • View Courses: view courses permission
  • Create Courses: create courses permission
  • Edit Courses: edit courses permission
  • Delete Courses: delete courses permission

Creating a Course

Step 1: Access Create Page

  1. Go to CoursesCreate New Course
  2. Or navigate to: /admin/courses/create

Step 2: Basic Information

Course Title

  • Name of the course
  • Required field
  • Make it descriptive
  • Example: Complete Web Development Bootcamp

Slug

  • Auto-generated from title
  • Can be edited manually
  • Must be unique
  • Used in course URL
  • Example: complete-web-development-bootcamp

Short Description

  • Brief course overview
  • Shown in course listings
  • Recommended: 150-200 characters
  • Example: Learn web development from scratch

Full Description

  • Detailed course information
  • Use rich text editor
  • Include:
    • Course objectives
    • What students will learn
    • Prerequisites
    • Target audience
    • Course structure

Step 3: Course Media

  1. Click Set Featured Image
  2. Upload or select image
  3. Recommended size: 1200x675px
  4. Used in:
    • Course listings
    • Course detail page
    • Social sharing

Course Preview Video

  1. Upload preview video
  2. Or embed YouTube/Vimeo URL
  3. Shown on course page
  4. Helps students preview course

Step 4: Course Pricing

Pricing Options

Free Course:

  • Toggle Free Course
  • No payment required
  • Students enroll directly

Paid Course:

  • Set course price
  • Use decimal format (e.g., 99.99)
  • Currency set in settings
  • Payment processing required

Sale Price (Optional)

  • Discounted price
  • Shows as "on sale"
  • Sale badge appears

Step 5: Course Settings

Status

  • Published: Visible on website
  • Draft: Saved but not published
  • Archived: Hidden from listings

Course Level

Options:

  • Beginner: For newcomers
  • Intermediate: Some experience needed
  • Advanced: For experienced learners
  • All Levels: Suitable for everyone

Course Duration

  • Estimated course length
  • Example: 10 hours, 6 weeks
  • Helps students plan

Language

  • Course language
  • Default: Site default language
  • Can specify different language

Step 6: Category Assignment

Select Category

  1. Choose existing category
  2. Or create new category
  3. Can assign to multiple categories
  4. First category is primary

Common Categories:

  • Web Development
  • Design
  • Marketing
  • Business
  • Photography
  • Writing

Step 7: Instructor Assignment

Assign Instructor

  1. Select instructor from dropdown
  2. Or create new instructor
  3. Instructor profile linked
  4. Shown on course page

Instructor Features:

  • Instructor profile
  • Bio and credentials
  • Other courses
  • Student reviews

Step 8: SEO Settings

Meta Information

  • Meta Title: Search engine title
  • Meta Description: Search result description
  • Keywords: Relevant keywords

Step 9: Save Course

  • Save Draft: Save without publishing
  • Publish: Make course live
  • Save & Add Content: Continue to content builder

Course Content Structure

Hierarchy

Courses use a three-level structure:

Course
├── Section (Module)
│   ├── Lesson
│   │   ├── Content Item (Video)
│   │   ├── Content Item (Text)
│   │   ├── Content Item (File)
│   │   └── Content Item (Quiz)
│   └── Lesson
│       └── Content Items...
└── Section
    └── Lessons...

Content Types

Within Lessons:

  • Video: Video content
  • Text: Written content
  • File: Downloadable files
  • Quiz: Assessment questions
  • Assignment: Student assignments

Sections (Modules)

Creating Sections

Route: /admin/courses/{course}/sections

  1. Go to course edit page
  2. Scroll to Course Content section
  3. Click Add Section
  4. Enter:
    • Title: Section name
    • Description: Section overview (optional)
    • Order: Display order
  5. Click Save
  6. Section created

Managing Sections

Edit Section

Route: /admin/sections/{section}/update

  1. Click Edit on section
  2. Modify title or description
  3. Click Update
  4. Changes saved

Delete Section

Route: /admin/sections/{section}/destroy

  1. Click Delete on section
  2. Confirm deletion
  3. Warning: All lessons in section are deleted
  4. Section removed

Reorder Sections

Route: /admin/courses/{course}/sections/reorder

  1. Drag sections up/down
  2. Or use arrow buttons
  3. Order saved automatically
  4. Sections reordered

Lessons

Creating Lessons

Route: /admin/sections/{section}/lessons

  1. Go to section
  2. Click Add Lesson
  3. Enter:
    • Title: Lesson name
    • Description: Lesson overview (optional)
    • Duration: Lesson length (optional)
    • Order: Display order
  4. Click Save
  5. Lesson created

Managing Lessons

Edit Lesson

Route: /admin/lessons/{lesson}/update

  1. Click Edit on lesson
  2. Modify lesson details
  3. Add content items
  4. Click Update

Delete Lesson

Route: /admin/lessons/{lesson}/destroy

  1. Click Delete on lesson
  2. Confirm deletion
  3. Warning: All content items are deleted
  4. Lesson removed

Reorder Lessons

Route: /admin/sections/{section}/lessons/reorder

  1. Drag lessons up/down
  2. Or use arrow buttons
  3. Order saved automatically

Content Items

Creating Content Items

Route: /admin/lessons/{lesson}/content-items

  1. Go to lesson
  2. Click Add Content
  3. Select content type:
    • Video
    • Text
    • File
    • Quiz
  4. Configure content
  5. Click Save

Content Types

Video Content

Options:

  • Upload Video: Self-hosted video
  • YouTube URL: Embed YouTube video
  • Vimeo URL: Embed Vimeo video
  • Other URL: Embed from other sources

Settings:

  • Video title
  • Description
  • Duration
  • Autoplay (optional)
  • Controls

Security:

  • Videos streamed securely
  • Access requires enrollment
  • Download protection

Text Content

Features:

  • Rich text editor
  • Formatting options
  • Images and media
  • Code blocks
  • Lists and tables

Use Cases:

  • Lesson notes
  • Reading materials
  • Instructions
  • Summaries

File Content

Supported Formats:

  • PDF documents
  • Word documents
  • PowerPoint
  • ZIP archives
  • Other files

Settings:

  • File name
  • Description
  • Download limit (optional)
  • Expiration (optional)

Security:

  • Files stored securely
  • Access requires enrollment
  • Download tracking

Quiz Content

Features:

  • Multiple choice questions
  • True/False questions
  • Short answer questions
  • Essay questions

Settings:

  • Question text
  • Answer options
  • Correct answer
  • Points/score
  • Time limit (optional)

Course Enrollment

Free Enrollment

Route: /courses/{course}/enroll/free

Process:

  1. Student visits course page
  2. Clicks "Enroll Free" button
  3. If not logged in, prompted to login/register
  4. Enrollment confirmed
  5. Access to course content granted

Process:

  1. Student visits course page
  2. Clicks "Enroll Now" or "Buy Course"
  3. Redirected to checkout
  4. Completes payment
  5. Enrollment confirmed
  6. Access granted

Enrollment Management

Admin Can:

  • View enrolled students
  • Manually enroll students
  • Remove enrollments
  • View enrollment statistics

Student Progress Tracking

Progress Features

Route: /learning/courses/{course}/lessons/{lesson}/progress

Track Lesson Progress

  1. Student views lesson
  2. System tracks:
    • Time spent
    • Content viewed
    • Completion status

Mark Lesson Complete

Route: /learning/courses/{course}/lessons/{lesson}/complete

  1. Student completes lesson
  2. Clicks "Mark Complete"
  3. Progress updated
  4. Next lesson unlocked

View Course Progress

Route: /learning/courses/{course}/progress

Displayed:

  • Overall progress percentage
  • Completed lessons
  • Remaining lessons
  • Time spent
  • Last activity

Progress Dashboard

Features:

  • Course completion
  • Lesson-by-lesson progress
  • Time tracking
  • Achievement badges (if enabled)
  • Certificates (if enabled)

Course Reviews

Student Reviews

Route: /courses/{course}/reviews/store

Students can:

  1. Complete course (or partially)
  2. Leave review
  3. Rate course (1-5 stars)
  4. Write written review
  5. Submit review

Managing Reviews

Admin Can:

  • View all reviews
  • Approve/reject reviews
  • Edit reviews
  • Delete reviews
  • Respond to reviews

Review Display

Shown:

  • Star rating
  • Review text
  • Student name
  • Review date
  • Helpful votes (if enabled)

Instructors

Instructor Profiles

Route: /instructors/{slug}

Features:

  • Instructor bio
  • Credentials
  • Profile photo
  • Social links
  • Other courses
  • Student reviews

Assigning Instructors

  1. Edit course
  2. Select instructor
  3. Instructor linked to course
  4. Shown on course page

Frontend Display

Course Catalog

URL: /courses

Features:

  • All published courses
  • Category filtering
  • Search functionality
  • Course cards with:
    • Featured image
    • Title and description
    • Instructor
    • Price
    • Rating
    • Student count

Course Detail Page

URL: /courses/{slug}

Features:

  • Full course information
  • Course curriculum
  • Instructor information
  • Reviews and ratings
  • Enrollment button
  • Related courses

Learning Dashboard

URL: /learning/courses/{slug} (authenticated)

Features:

  • Course content
  • Progress tracking
  • Lesson navigation
  • Content player
  • Notes (if enabled)
  • Certificates (if enabled)

Best Practices

Course Creation

  1. Plan Structure:

    • Outline course content
    • Organize into sections
    • Break into lessons
    • Plan content types
  2. Quality Content:

    • High-quality videos
    • Clear instructions
    • Engaging materials
    • Regular updates
  3. Student Experience:

    • Clear navigation
    • Progress indicators
    • Easy access
    • Mobile-friendly

Content Organization

  1. Logical Flow:

    • Start with basics
    • Progress to advanced
    • Build on previous lessons
    • Clear learning path
  2. Varied Content:

    • Mix video and text
    • Include exercises
    • Add quizzes
    • Provide resources
  3. Regular Updates:

    • Keep content current
    • Fix errors
    • Add new content
    • Update materials

Troubleshooting

Course Not Displaying

Solutions:

  1. Check status (must be Published)
  2. Verify category is published
  3. Clear cache
  4. Check frontend settings

Content Not Loading

Solutions:

  1. Verify student is enrolled
  2. Check content permissions
  3. Verify media files exist
  4. Check file permissions

Progress Not Tracking

Solutions:

  1. Verify tracking is enabled
  2. Check student enrollment
  3. Clear cache
  4. Verify database connection


Last Updated: [Date will be updated during final review]

Released under the MIT License.