在托管在线课程方面,开发人员不得不做出艰难的选择:要么选择Teachable或Thinkific等一体化解决方案,要么选择枯燥的设计、缺乏想象力的课程界面和严重的功能膨胀。或者,花6个月从头开始构建一个定制平台。
我的新应用CourseKit提供了更好的选择。凭借其无头架构,CourseKit允许开发人员使用他们最喜欢的前端工具创建自己的课程网站,而无需为用户身份验证和分析等后端功能编写代码。
在本文中,我将向您简要介绍CourseKit的工作原理,以及为什么您可能希望在下一个在线课程项目中使用它。
首先,有点关于我。我是安东尼·戈尔,我已经做了大约10年的网络开发人员。
我一直很喜欢与其他开发者分享我的知识,并在Vue上推出了我的第一个视频课程。2016年的js 2。
从那以后,我发布了其他几门课程,并尝试了所有的课程托管选项,包括Udemy等市场和Teachable等一体式平台。
不管我在哪里主持我的课程,总有一些我想做但我做不到的事情。所以去年我决定从头开始建立我自己的课程主持平台,并将我所有的课程迁移到它上。
虽然我能够获得我想要的功能和设计,但这是一个疯狂的工作量,其中大部分都花在了后端的东西上,我真的不需要定制。
这让我思考——如果把我做的东西拆分成一个产品,让其他开发人员不必重复同样的工作,该怎么办?
CourseKit与其他自托管课程平台的主要区别在于CourseKit是一个无头平台。
如果你不熟悉这种架构,这意味着该平台有一个后端CMS,你可以上传和配置你的内容,但没有提供前端网站。
相反,您的内容可以通过安全的HTTP服务获得。这种架构允许你创建一个定制的前端,从而将你从平淡的设计和其他平台的用户体验中解放出来。
我自己不是一个伟大的设计师,但这里有一个我用Nuxt和Tailwind构建的演示课程页面(当然,你可以使用任何你喜欢的前端技术堆栈)。
CourseKit和Teachable、Thinkific等之间的另一个主要区别是它';它不是“盒子里的企业”,也就是说,它没有像视频托管、电子邮件、支付网关等功能。
与所有优秀的开发平台一样,CourseKit优化了灵活性和创造性,因此您可以通过自己的代码或已经使用的第三方提供商(例如Vimeo、ConvertKit和Stripe)来添加所需的功能,分别用于视频、电子邮件和支付。这些可以与易于设置的API集成相连接。
稍后,我将更详细地解释CourseKit的功能。但是,如果你想直接尝试一下,你可以在这里留下你的详细信息来请求测试版的邀请:
我已经解释了无头建筑。现在我们来看一下CourseKit提供的其他一些功能。
如上所述,您可以通过在后端CMS中上传内容来创建课程。然后,您的课程站点可以通过API获取内容。
一些你想公开的内容(例如,课程名称和课程名称等元数据),但你可能希望课程内容的内容是私有的。
CourseKit API受OAuth保护,以确保只有注册学生才能访问任何私人内容。
要提供对课程的访问,您可以通过仪表板手动注册学生,或使用CourseKit API。例如,学生用Gumroad或Stripe支付课程费用后,你可以设置一个webhook,将他们的电子邮件发送到所需的端点。
现在你只需要在你的网站上弹出一个“登录”链接,就可以处理基于角色的访问了。
为了方便创建课程网站,我提供了一个JavaScript客户端库,可以方便地连接API和其他方便的功能。
下面是一个示例片段,展示了如何在课程上创建一个“完成并继续”按钮,该按钮允许用户同时标记当前课程完成并进入下一个课程。
const button=文档。查询选择器(';#完成按钮';)if(user.isAuthenticated()){button.addEventListener(';单击';,async()=>;{const success=wait-lesson.markComplete()if(success){const-nextLessonId=course.nextLessonId window.location.href=`/courses/${course.id}/lessons/${nextLessonId}}}
要创建课程,您可以将降价文件上传到CourseKit仪表板。降价可以包含frontmatter变量,这样您就可以轻松地包含课程标题(公共值)或Vimeo ID(私有值)等元数据
您的课程站点将在运行时从API获取内容,并动态呈现内容。以下是经过身份验证的用户在应用程序中的上述课程内容:
.log(lesson)/*{meta:{title:';pin收集简介';,vimeoId:4893274923}内容:'&书信电报;p>;嘿,笨蛋,欢迎来到课程</p>'}*/
与臃肿的盒装商务课程平台不同,CourseKit有一个模块化的体系结构。这意味着您可以使用自己的代码或第三方提供商添加所需的功能。
虽然最初可能需要做更多的工作,但最终你会得到一个精简灵活的课程网站。
此图代表了一个典型的基于视频的课程设置,学生通过Stripe购买后注册。
这是您在创建帐户时可以访问的基于云的CMS。以下是您可以在仪表板中执行的一些操作:
这是您的课程站点将与之交互的OAuth安全HTTP服务。以下是您将使用它的一些功能:
你的前端课程网站可以使用你喜欢的任何技术堆栈创建,例如React和Bootstrap,以实现你想要的设计和用户体验。
CourseKit对Jamstack很友好,所以我建议您将其设置为静态站点,并使用CourseKit JavaScript客户端与API连接,创建UI小部件。
将学生添加到课程中的一种方法是在课程页面上提供一个指向条带签出的链接。
通过一个简单的webhook,你就可以通过CourseKit API为学生注册课程。
Vimeo是一种制作视频内容的廉价而有效的方法。Vimeo视频可以轻松嵌入您的网站。只需将视频ID作为frontmatter变量放入课程内容中,并在运行时呈现嵌入。
CourseKit目前正处于公测阶段,这意味着它已经发布并运行,但一些功能(如分析)仍在开发中。
我们对早期用户的邀请有限。如果你想申请一个,或者你只想随时了解CourseKit的进度,请务必在本页留下你的详细信息: