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 http://www.josephjaywilliams.com/mooclet for a comprehensive definition.
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.
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/secure.py based on the template files.
Start up the application:
# Start the web server python manage.py 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
.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