The primary objective of this boilerplate is to give you a production ready code that reduces the amount of time you would normally have to spend on system infrastructure's configuration. It contains a number of services that a typical web application has (frontend, backend api, admin panel, workers) as well as their continuous deployment. Using this boilerplate you can deploy multiple environments, each representing a different stage in your pipeline.
We don't create any new CLIs or APIs that you need to learn. We use existing solutions, which you can extend or change however you like:
- CDK (TypeScript)
- Serverless Framework
- Install latest Node.js (with NPM >= 6)
- Install Python 3.8
We recommend installing Python using
We recommend cloning this repository instead of downloading the ZIP. This way you'll be able to merge latest changes without too much hassle by resolving conflicts using your favourite tools.
To setup the project and install local dependencies run following command:
Files with environmental variables are ignored in GIT to avoid secret values being commited and shared
with everyone. To make the app work as expected you need to initialize following
.env files from
files located in the same directories:
services/webapp/.env– variables loaded by webpack when you run the local dev server
services/workers/.env– variables loaded by docker-compose when you invoke worker functions locally
services/backend/.env– variables loaded by docker-compose when you run the backend server locally
This should be actually done automatically as part of the
Now, adjust the key values that have to be set in the
|ADMIN_EMAILemail@example.com||Will be used to create first super admin user|
|ADMIN_DEFAULT_PASSWORD||AvPZpabgj9Z8||Will be used to create first super admin user|
|STRIPE_TEST_SECRET_KEY||sk_test_1234||you can get some here|
From the repo's root directory, run:
This will run docker containers for all the backend services, in the detached mode.
Backend is running on
Backend endpoint docs are available on
Admin Panel is running on
Workers trigger server is running on
Mailcatcher is running on
http://localhost:1080. Check dedicated doc before using.
docker-compose.yml file for the details.
Because these are running in the detached mode, to access the logs of the specific service, use:
To run this documentation locally: