This repository includes the Django server for the API as well as the API package itself. The client is hosted at https://github.com/edx/edx-analytics-data-api-client.
The code in this repository is licensed under version 3 of the AGPL unless otherwise noted.
Please see LICENSE.txt
for details.
Install the requirements:
$ make develop
Setup the databases:
$ ./manage.py migrate --noinput $ ./manage.py migrate --noinput --database=analytics
The learner API endpoints require elasticsearch with a mapping defined on this wiki page. The connection to elasticsearch can be configured by the
ELASTICSEARCH_LEARNERS_HOST
andELASTICSEARCH_LEARNERS_INDEX
django settings. For testing, you can install elasticsearch locally:$ make test.install_elasticsearch
To run the cluster for testing:
$ make test.run_elasticsearch
Create a user and authentication token. Note that the user will be created if one does not exist.
$ ./manage.py set_api_key <username> <token>
Run the server:
$ ./manage.py runserver
The fixtures directory contains demo data and the
generate_fake_enrollment_data
management command can generate
enrollment data. Run the command below to load/generate this data in the
database.
$ make loaddata
Run make validate
install the requirements, run the tests, and run
lint.
Contributions are very welcome, but for legal reasons, you must submit a signed individual contributor’s agreement before we can accept your contribution. See our CONTRIBUTING file for more information – it also contains guidelines for how to maintain high code quality, which will make your contribution more likely to be accepted.