Skip to content
MOOClet web service engine
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


A web service for creating and using MOOClets.


What is a MOOClet?

A MOOClet is a digital component – like an explanation in an online course or problem – designed using the MOOClet technology. This technology enables instructors and researchers to engage in a wide range of A/B experimentation, crowdsourcing, real-time data analysis, and personalization.

The term MOOClet is used because this technology was first developed for MOOCs – the framework can be used to redesign any digital resource – this webpage, emails, components of smartphone apps.

See for a comprehensive definition.

MOOClet engine

This application, built with Python Django, provides a web service that a user or application can interact with via a RESTful API, enabing the creation and use of MOOClets.


Local setup

Install required packages for local development:

  # Install from requirements file
  pip install -r requirements_local.txt

Fill in the required Django settings in mooclet_engine_app/settings/ based on the template files.

Start up the application:

  # Start the web server
  python runserver

Deployment on AWS Elastic Beanstalk

Create an AWS account and install the Elastic Beanstalk Command Line Interface (EB CLI) if needed.

Fill in the necessary settings in mooclet_engine_app/settings/ and .ebextensions/secure.config based on the provided template files.

Deploy the application:

# Initialize the Elastic Beanstalk project
eb init
# Create a new envrionment and deploy
eb create

See AWS's guide to Deploying a Django Application to Elastic Beanstalk for more details.


See this spreadsheet for a list of supported API endpoints and examples.

Note that the API uses token authentication, as decribed in the Django REST Framework's TokenAuthentication documentations

You can’t perform that action at this time.