npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

strapi-plugin-masterclass

v4.1.1

Published

Learning management system plugin for Strapi V4

Downloads

49

Readme

Strapi plugin Masterclass

Turn your Strapi application into a full-featured Learning Management System and start selling courses.

Features

  • Upload lectures to Mux
  • Create categories and nested categories
  • Integrate with Payments plugin
  • Students are able to save their progress in each course, and resume at any time
  • And much more

Requirements

  • Strapi v4.x.x
  • Mux account
    • Signing Key ID
    • Base64-encoded Private Key
    • Access token ID
    • Secret Key

Installation

In the root of your strapi application, run the following command:

npm i strapi-plugin-masterclass

Configuring private keys

Once installed, go to settings, then Masterclass Plugin and fill in the fields under Uploads tab to set the credentials to upload videos to Mux.

Video uploads config

Creating orders and accepting payments are done through the Payments plugin. Therefore, in order to enable the API endpoints to sell courses, it is required to install the Payments plugin as well.

Setting up permissions

In order for the plugin to serve content, manage users and create and confirm orders, you must enable some endpoints in the Users & Permissions Pluginfor the Masterclass plugin.

For Authenticated users, enable the following:

From courses:

  • checkLecture
  • getClassesCompleted
  • getCourseDetails
  • getItemsPurchased
  • getMyLearning
  • getPlayAuth
  • resumeCourse

From orders:

  • confirm
  • create
  • find
  • findOne

Authenticated permissions

For Public users, enable the following:

From categories:

  • categoryTree
  • index
  • navigation
  • summary

From courses:

  • find
  • findOne
  • findSlugs
  • getCourseDetails

From uploads:

  • update

This last one is for Mux to notify through webhooks when a video has been successfully uploaded and is ready. This will require that you configure a webhook in the dashboard of Mux account pointing to https://your-strapi-app.com/api/masterclass/upload-status

Public permissions

Usage

Creating courses and uploading lectures is done through the Strapi Admin Dashboard.

Courses are organised in categoires, which can be nested.

The API endpoints provide a way to list categories and information on their courses, as well as authentication keys to play videos for students and also marking the lectures as seen to register their progress as they watch the videos.

Creating lectures

Go to the Masterclass plugin page, and there you will find two tabs: Courses and Lectures. Before creating a course, it is required to create some lectures.

Creating courses

Go to the Masterclass plugin page and there you will find a Create Course button. When you click on this button, a modal containing a form will open up. Fill in the fields to set the Course Title, Description

API

Sample client app

For an example of a project using the APIs available in this plugin, check out this Next JS project.

Demo: https://tutoruniversitario.netlify.app

Demo

Bug reports

If you find a bug or need support for using this plugin, open an issue at https://github.com/luisguve/strapi-plugin-masterclass