https://docs.nestjs.com/

https://www.youtube.com/watch?v=IdsBwplQAMw

https://www.youtube.com/watch?v=jOytv6PQxN0

Application

Module

@Module({})

The different building blocks of an application.

There must always be one Root Module.

They take in an object with all their dependencies.

They can also export Providers so other modules can use them.

Controllers

@Controller()

Classes used exclusively for handling requests, thanks to HTTP decorators (@Get, @Post, etc).

Used by Modules

Providers

@Injectable()

A class that can be injected into others as a dependency.