This is an ever-evolving, very opinionated architecture and dev environment for new node projects using NestJS. Questions, feedback, and for now, even bikeshedding are welcome. 😄
# 1. Clone the repository or click on "Use this template" button.
npx degit NarHakobyan/awesome-nest-boilerplate my-nest-app
# 2. Enter your newly-cloned folder.
cd my-nest-app
# 3. Create Environment variables file.
cp .env.example .env
# 3. Install dependencies. (Make sure yarn is installed: https://yarnpkg.com/lang/en/docs/install)
yarn
When you use this template, try follow the checklist to update your info properly
- Change the author name in
LICENSE
- Change configurations in
.env
- Remove the
.github
folder which contains the funding info - Clean up the README.md file
And, enjoy :)
Node Development
# 4. Run development server and open http://localhost:3000
yarn start:dev
# 5. Read the documentation linked below for "Setup and development".
To build the App, run
yarn build:prod
And you will see the generated file in dist
that ready to be served.
Deno Development
We are excited to announce that this project now supports Deno! You can use Deno to run, build, and test your application. 🦕
Here are the available scripts for Deno:
# Start the development server
deno task start
# Start the server with file watcher
deno task watch
# Run tests
deno task test
# Compile the application (not working yet)
deno task compile
To build the App using Deno, run:
deno task buildr
And you will see the generated file in dist
that is ready to be served.
Bun Development
We are excited to announce that this project now supports Bun! You can use Bun to run, build, and test your application. 🧅
Here are the available scripts for Bun:
# Start the development server
bun start:dev:bun
# Start the server with file watcher
bun watch:bun
# Run tests
bun test
# Build the application
bun build:bun
And you will see the generated file in dist
that is ready to be served.
- Instant feedback
- Enjoy the best DX (Developer eXperience) and code your app at the speed of thought! Your saved changes are reflected instantaneously.
- JWT Authentication
- Installed and configured JWT authentication.
- Next generation Typescript
- Always up to date typescript version.
- Industry-standard routing
- It's natural to want to add pages (e.g. /about`) to your application, and routing makes this possible.
- Environment Configuration
- development, staging and production environment configurations
- Swagger Api Documentation
- Already integrated API documentation. To see all available endpoints visit http://localhost:3000/documentation
- Node, Bun, Deno
- Support for Node, Bun, and Deno. You can run, build, and test your application using any of these runtime.
- Linter
- eslint + prettier = ❤️
This project includes a docs
folder with more details on:
For help, discussion about best practices, or any other conversation that would benefit from being searchable: