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

* Note: Forums is currently implemented in Ruby and Sinatra, but should be ported to Python and Django eventually.

Mobile Apps

  • 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

  • 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

...

Info

The following is embedded content from Tools and Technology Standards. Go there to edit this content.

Include Page
AC:Tools and Technology Standards
AC:Tools and Technology Standards