Please add notes of the standard tools/technologies that we have accepted and recommend for usage 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:
- Server-side: Python 2.7
- Client-side: Javascript, HTML, CSS
- Web frameworks:
- ServerOEP-side: DjangoClient-side: Backbone, Underscore, RequireJS11: Front End Technology Standards
- For more details: Open edX Developer's Guide: Developing User Interfaces
- Recommended Local Storage:
- MySQL
- Mongo (for course content)
- Recommended Cloud Storage:
- AWS
- Recommended IDE:
- 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 pluginEdX Python Style Guide: Docstrings
* Note: Forums is currently implemented in Ruby and Sinatra, but should be ported to Python and Django eventually.
...