Development starter kit for web3 node.js apps with nestjs & viem
- Nestjs with Typescript and SWC
- Jest for unit and e2e testing
- Docker & Docker-compose for dev & prod.
- linters, code formatter, pre-commit and pre-push hooks
- Custom github action and quality gate workflow for fast CI strategy implementation
- Flexible env configuration with encryption, thanks to dotenvx
- Git
- You'll know you've done it right if you can run
git --version
- You'll know you've done it right if you can run
- Node.js v20+
- Make
- Optional. Docker
- You'll need to run docker if you want to use run production container builds locally
make
-
Create and modify .env and .local.secrets.env files:
cp conf/.example.env conf/.env \ && cp conf/.example.secrets.env conf/.local.secrets.env
-
Create and modify .env and .production.secrets.env files:
rm conf/.production.secrets.env \ && cp conf/.example.env conf/.env \ && cp conf/.example.secrets.env conf/.production.secrets.env
note: you can commit .production.secrets.env after encryption
-
Encrypt prod secrets:
make encrypt.prod
-
Keep generated .env.keys safe and do not commit it into repo
Without docker:
# development mode
make start.dev
# development mode, watch & debug
make start.debug
# production mode
make start.prod
With docker
# development mode, watch mode & debug
docker compose up
# production mode
make up.prod
Contributions are always welcome! Open a PR or an issue!
And you probably already have make
installed... but if not try looking here.