Bootstrap your secure API development with a standard GitHub NestJS template
GitHub has the concept of template repositories. This allows us to invest the time in creating a skeleton project only once and then to create GitHub repositories out of this template. In this brief post I’m sharing a GitHub template for NestJS API Backend applications.
As the rush to total digitisation compels us to write ever more APIs, it’s useful to have a template that provides the key features each of our API backends needs.
I therefore decided to invest the time and created such template, available on GitHub.
This NestJS template offers the following boilerplate capabilities:
- A Configuration Service ready to go. This allows us to create a .env file for environment variables and have such properties available anywhere in the app.
- A JWT service based on Passport and Auth0
- A Permissions Guard which protects APIs with the roles contained in the JWT token passed within the request
- A Shared Service for common functionality
- A pagination skeleton, to handle paginated data
- A boilerplate controller, with one open and one secure endpoint
- A boilerplate service that the controller can invoke
- Typeorm dependencies
- A boilerplate Docker configuration
For details on how to build and run the application and create a Docker image if you want, please refer to the GitHub documentation.
The API security configuration is centred around Auth0, an Identity As A Service product.
If you want to know more about how to configure a NestJS API Backend with Auth0, please refer to these articles: