/edx-notes-api

edx-notes-api

Primary LanguagePythonGNU Affero General Public License v3.0AGPL-3.0

Part of edX code.

edX Student Notes API build-status coverage-status

This is a backend store for edX Student Notes.

Overview

The edX Notes API is designed to be compatible with the Annotator.

Getting Started

  1. Install ElasticSearch 7.8.0.

  2. Install the requirements:

    $ make develop
    
  3. Create index and put mapping:

    $ make create-index
    
  4. Run the server:

    $ make run
    

Configuration:

CLIENT_ID - OAuth2 Client ID, which is to be found in aud field of IDTokens which authorize users

CLIENT_SECRET - secret with which IDTokens should be encoded

ES_DISABLED - set to True when you need to run the service without ElasticSearch support.
e.g if it became corrupted and you're rebuilding the index, while still serving users through MySQL

ELASTICSEARCH_DSL['default']['hosts'] - Your ElasticSearch host

Running Tests

Run make validate install the requirements, run the tests, and run lint.

How To Resync The Index

edX Notes Store uses Django elasticsearch DSL which comes with several management commands.

Please read more about search_index management commands here.

License

The code in this repository is licensed under version 3 of the AGPL unless otherwise noted.

Please see LICENSE.txt for details.

How To Contribute

Contributions are very welcome.

Please read How To Contribute for details.

Even though it was written with edx-platform in mind, the guidelines should be followed for Open edX code in general.

Reporting Security Issues

Please do not report security issues in public. Please email security@edx.org

Mailing List and IRC Channel

You can discuss this code on the edx-code Google Group or in the edx-code IRC channel on Freenode.