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

Platform: LMS, Studio, Forums* (future)

  • Languages:
    • Server-side: Python 2.7
    • Client-side: Javascript, HTML, CSS
  • Web frameworks:
    • Server-side: Django
    • Client-side: Backbone, Underscore, RequireJS
  • Recommended Local Storage:
    • MySQL
    • Mongo (for course content)
  • Recommended Cloud Storage:
    • AWS
  • Recommended IDE: PyCharm
  • Development Task management:
    • Dev tasks: paver
    • JS-specific tasks: gulp (not-yet implemented)
  • CI: Jenkins
  • Testing
    • Styling: pep8, pylint, jshint
    • UI unit tests: Jasmine (test execution), karma (runner, js-test-tool is flagged for eventual deprecation)
    • Acceptance tests: Bok-choy
    • Load tests: Locust.io
  • Documentation
    • ReStructured text rather than markdown
    • Sphinx
    • docstrings in Google style with the sphinx-napoleon plugin

...