Skip to content
This repository has been archived by the owner on Apr 7, 2021. It is now read-only.
/ OLGA Public archive

OLGA collects edX platform installations statistics data from all over the world and visualizes it via graphs and map.

License

Notifications You must be signed in to change notification settings

raccoongang/OLGA

Repository files navigation

OLGA [ARCHIVED]

Travis Codecov Release Code Climate

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.

Installation

Install Docker CE. Most of installation packages include docker-compose, but if it was not installed on your system, do it.

Development

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 ..

Tests

To run tests use command below:

    $ docker-compose -f local-compose.yml run olga python manage.py test

Production

[things]

API

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 (extends paranoid 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.

Statistics visualization details

OLGA provides three graphs for instances, courses and active students, which have been gathered from the start of collecting till now.

olga_students_graph

In addition, OLGA comprises Global Activity Metrics which show instances, courses and active students amounts for the last calendar day.

olga_activity_metrics_graphs

Besides that you are able to interact with world map, that contains darker marker for students amount, also for last calendar day.

olga_world_map

As well as graphs interface, OLGA has Global Activity Metrics for top country by students amount and countries in statistics amount.

olga_activity_metrics_map

Full report based on world map's Global Activity Metrics located within Geographic Breakdown table.

olga_geographic_breakdown

License

The code in this repository is licensed under the AGPL v3 licence unless another noted.

Please see LICENSE file for details.

About

OLGA collects edX platform installations statistics data from all over the world and visualizes it via graphs and map.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published