"We present a design and open source implementation for a service oriented e-learning system, which utilizes external services for supporting a wide range of learning content and also offers a REST API for external clients to fetch information stored in the system."
Karavirta, V. & Ihantola, P. & Koskinen, T. (2013) Service-Oriented Approach to Improve Interoperability of E-Learning Systems http://dx.doi.org/10.1109/ICALT.2013.105
The system has since been developed by various contributors at Aalto University, Finland.
A+ is a Django 4.2 and Python 3.8+ application which has been run in production using Postgresql database, Apache 2 (or Nginx) and uwsgi.
See doc/DEPLOYMENT.md for further deployment instructions.
Consider using virtualenv
and pip3 install -r requirements.txt
.
Create local_settings.py
and override necessary Django settings from aplus/settings.py
.
At least DEBUG
, SECRET_KEY
and DATABASES
must be set in case of deployment.
The server process needs write access to the media
directory.
See doc/README.md on how to create and run a test environment for development. The doc/GRADERS.md describes the assessment protocol supported by A+. Additionally, there is a minimal example grader in doc/example_grader.py, which can be used to start a new service. A list of existing assessment services and other tools can be found in the project github page.
The selenium_test/ offers an integration test suite using the Selenium Firefox driver.
assets/
with compiled files.