Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Please add notes of the standard tools/technologies that we have accepted and recommend for use at edX.  
For example, do we think that they are Backbone, JS, Python, etc… Apiary, Jenkins, DBs, App Servers, etc…

If we have legacy technology we are using, we can note it, but we should make it clear that it's not a recommended standard.

General

  • Languages:
  • Recommended Local Storage:
    • MySQL
    • Mongo (for course content)
  • Recommended Cloud Storage:
    • AWS
  • Recommended IDE:
  • Development Task management:
    • Dev tasks: Make, paver (deprecated)
    • JS-specific tasks: gulp (not-yet implemented)
  • CI: Jenkins Github Actions
  • Testing
    • Styling: pep8, pylint, ESLint
    • UI unit tests: Jasmine (test execution), karma (runner, js-test-tool is flagged for eventual deprecation)
    • Acceptance tests: Bok-choy Cypress
    • Load tests: Locust.io n/a
  • Documentation

...

  • Android
    • Language: Java
    • Dependency Injection: Dagger
    • Recommended IDE: Android Dev Studio
  • iOS
    • Language: Swift and Objective-C
    • Recommended IDE: XCode
  • Build Tool: Gradle
  • CI: Travis
  • Test Framework: TBD ?

Analytics

Warning

This section is out-of-date.


Expand
titleClick for possibly out-of-date analytics details...
  • Recommended Data Processing Environment:
    • Hadoop (EC2 & EMR)
    • Luigi
  • Recommended Data Storage:
    • HDFS (AWS S3) + Hive
    • MySQL
    • Vertica (Postgres DB) on EC2
  • Not Recommended Data Discovery/Visualization:
    • segment.io
    • Splunk (would like to replace with Vertica)
    • IPython Notebooks (occasionally used for experimental development)
  • Recommended Data Discovery/Visualization:
    • Google Analytics
    • Tableau
    • DataDog
  • Recommended CI:
    • Jenkins
  • Languages:
    • Server-side: Python (Django)
    • Client-side: Javascript (Backbone, Underscore, RequireJS, D3/NVD3), HTML, CSS (SASS)
  • Dev task management: gulp
  • Testing:
    • Unit tests: Python unittest
    • UI unit tests: jasmine (tests), karma (runner)
    • Acceptance tests: Bok Choy

Search Tools

  • Elastic Search

...

Performance Tools

API Development

...