Hi there, you are probably new to the project. Here you can find a quick overview of what you can expect and what is expected from you as a contributor.
The codebase is all TypeScript and NodeJS. For more info please see the Technical Direction. We use NX to manage the monorepo structure. We have one set of NodeJS modules used by all code and any changes in there affect potentially multiple services.
front-end framework with routing and server side rendering
develop and document React components in isolation
generate GraphQL clients and types
automated browser testing tool
API mocking for webapps
Applications are composed of services that are packaged in Docker containers and then deployed in a Kubernetes cluster using Helm. You will hardly need to know about this if you follow the path everyone else in the organization is walking. All our environments are hosted in AWS.
To contribute you need to follow the standard GitHub Pull Request (PR) workflow. When you open a PR, your code will be run through the CI process automatically. Ask for a code-review and when you get an approval, merge to
main. Rinse and repeat.
When a code change gets on
main, that will create Docker containers for all services and everything will get deployed to
Dev env. For more info please see the Continuous Delivery process.
We expect contributors to deliver the following:
If you are adding a new application, please follow the instructions here.
You simply need to add an NX target to your service to enable creating a Docker image for it. For more info see dockerizing.
We have a Helm chart template that should fit most services. You pretty much only need to add your ingress (optional), environment variables(optional) and secrets(optional) and your service can get deployed to Dev. For more info, please see Helm charts. For a read-only view of the Kubernetes cluster and the services running there head over to