Each application is written in TypeScript 4.1.2, and transpiled into Node.js v14.x.
The REST API's are hosted within the Express web framework, using aws-serverless-express (for older modules) or serverless-http (for newer modules) to allow the Express application to run within AWS Lambda.
InversifyJS is handling dependency injection, along with inversify-express-utils to handle the integration with Express.
A 12-factor app approach is taken to manage config.
Logging is handled via WinstonJs.
Unit testing (along with mocking) is made possible via Jest.
End to end integration testing (BDD - behavior driven development) is handled using cucumber-js.