Authors can create courses with videos, articles and quizzes, the courses can be free or paid. Paid courses are available only for members that signed up to the course, the content is hidden for everyone else, except a couple of lessons the author can set as preview.
Members can contact the admin, authors or other members by a messaging system. They can also ask questions in the forum and suggest new courses as well as voting on existing recommendations.
The admin has a dashboard that shows useful insights about the email campaigns as well as the popular content, sales and a bunch of other things.
About the technology used
The backend is build in Rails, there’s a mysql database to manage all the data. Rails provides a REST API to feed the data to an Angular JS client.
For unregister visitors, the app uses rails to render the content, as of now the views are not responsive for visitors, but for the members all the content is displayed in a SPA.
The SPA is build with Angular 1.6. It contains several modules for admins, authors and members. All the communication with the server is done through Ajax request to consume the REST API.
The platform integrates Stripe and Paypal to handle the payments, members can buy individual courses.One of the