Technology
When starting a new project, use the technologies listed on this page. In cases where your project might require something not listed here, file an issue to begin a discussion on the topic.
Where possible, we develop apps for deployment on Heroku. Static sites will be hosted on S3 and served through CloudFront.
Platforms/Languages
- Django 2.2 LTS (Python 3.x)
- NodeJS LTS (JavaScript)
Developers' tooling
Try to use Docker
, pip-tools
, and Invoke
when setting up a new Python codebase: it helps standardise dev environments across projects.
Preferred Add-ons
In most cases, if it's a Heroku Add-on and your app needs it, we can probably use it, but file an issue just to make sure.
There are a few exceptions: 1. Logging - We have a separate account we can use for log aggregation and monitoring with Scalyr. 2. Pingdom - We have a pingdom account. 3. VictorOps - We use VictorOps to manage on-call alerts for applications.
If the app requires any of the above three services, file an issue to get it set up!
Continuous Integration
Our CI of choice is Travis CI.