Why Nestjs is so great
TypeScript
Nestjs is a TypeScript based Node.js framework. This means that you can use static-type to write your code.
Model view controller pattern
Since ExpressJS doesn't follow MVC, there's no proper structure which makes the application inefficient and less optimized. NestJS becomes a better choice for developers as it is clearly based on an architecture with components like modules, controllers, and providers.
Microservices
Looking at the capabilities of an application, a microservice-based architecture has gained popularity in recent years. NestJS is a Node. JS framework based on ExpressJS, but it's more than that. In fact, NestJS gives you everything you need to create microservices easily.
Commmand line interface
Nest have a powerful command line tool Interface (CLI) to boost productivity and ease of development
For example you want to create a controller file
nest generate controller <controllerName>
Just write this command in terminal
Dependency injection
NestJS is a dependency injection framework. It's a great way to manage dependencies and inject them into your application.
Documentation
Nest have a awesome documentation
Testing
NestJS allows to you make easy unit-testing applications
Easily integrate with common technologies
Support for dozens of nest-specific modules that help you easily integrate with common technologies and concepts like Type ORM, Mongoose, GraphQL, Logging, Validation, Caching, WebSockets, and much more