OLGA has arisen out of Open edX requirement to collect edX platform installations statistics data from all over the world. OLGA is required to be able to collect, visualize and process this data according to legal rules. In general, it provides possibilities for analysing trends of platform usage and users engagement in e-learning process per country and globally around the world.
Install Docker CE. Most of installation packages include docker-compose, but if it was not installed on your system, do it.
Clone OLGA repository to your local machine under virtual environment:
$ git clone https://github.com/raccoongang/OLGA.git
Build container:
$ docker-compose -f local-compose.yml build
Make migrations:
$ docker-compose -f local-compose.yml run olga python manage.py migrate
Create superuser:
$ docker-compose -f local-compose.yml run olga python manage.py createsuperuser
Run Django (runserver) and PostgreSQL containers. Django will be available on port 7000
.
$ docker-compose -f local-compose.yml up
Environment will get bunch of linters, that you are able to use via:
$ cd web && pep8 && flake8 & pylint olga && cd ..
To run tests use command below:
$ docker-compose -f local-compose.yml run olga python manage.py test
[things]
OLGA receives statistics through own API, that provides next endpoints:
/api/token/registration/
- GET: register edX platform.
- Parameters: access_token.
- Return
201
if token was successfully created.
/api/token/authorization/
- GET: authorize edX platform.
- Parameters: access_token.
- Return
200
if token was successfully authorized. - Return
401
if token was unsuccessfully authorized.
/api/installation/statistics/
- GET: receive edX platform's statistics.
- Parameters for
paranoid
level:access_token
active_students_amount_day
active_students_amount_week
active_students_amount_month
courses_amount
statistics_level
- Parameters for
enthusiast
level (extendsparanoid
data ):latitude
(not used for now)longitude
(not used for now)platform_name
platform_url
students_per_country
- Return
201
if statistics was successfully delivered. - Return
401
if token was unsuccessfully authorized.
- Parameters for
OLGA provides three graphs for instances, courses and active students, which have been gathered from the start of collecting till now.
In addition, OLGA comprises Global Activity Metrics
which show instances, courses and active students amounts for the last calendar day.
Besides that you are able to interact with world map, that contains darker marker for students amount, also for last calendar day.
As well as graphs interface, OLGA has Global Activity Metrics
for top country by students amount and countries in statistics amount.
Full report based on world map's Global Activity Metrics
located within Geographic Breakdown
table.
The code in this repository is licensed under the AGPL v3 licence unless another noted.
Please see LICENSE file for details.