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:
- Server-side: Python 2.73.x (see the Support Windows chart for current version).
- Client-side: Javascript, HTML, CSS
- OEP-11: Front End Technology Standards
- For more details: Open edX Developer's Guide: Developing User Interfaces
- Technologies
- 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, jshint ESLint
- UI unit tests: Jasmine 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
* Note: Forums Forums is currently implemented in Ruby and Sinatra, but should be ported to Python and Django eventually.
Mobile Apps
- Android
- Language: Java Java
- Dependency Injection: Dagger Dagger
- Recommended IDE: Android Android Dev Studio
- iOS
- Language: Swift Swift and Objective-C
- Recommended Recommended IDE: XCode XCode
- Build Tool: Gradle Gradle
- CI: Travis Travis
- Test Framework: TBD TBD ?
Analytics
Warning |
---|
This section is out-of-date. |
Expand | ||
---|---|---|
| ||
|
...
|
Search Tools
- Elastic Search
Observability Tools
Performance Tools
API Development
...