Node.js / NestJS

āļžāļ·āđ‰āļ™āļāļēāļ™ NestJS

Modules, Controllers, Providers, Dependency Injection, Decorators, CLI

23 āļ„āļģāļ–āļēāļĄāļŠāļąāļĄāļ āļēāļĐāļ“āđŒÂ·
Junior
1

āđƒāļŠāđ‰ decorator āđƒāļ”āđƒāļ™āļāļēāļĢāļāļģāļŦāļ™āļ” controller āđƒāļ™ NestJS?

āļ„āļģāļ•āļ­āļš

āđ€āļ”āļ„āļ­āđ€āļĢāđ€āļ•āļ­āļĢāđŒ @Controller() āļ—āļģāđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļŦāļĄāļēāļĒāļ„āļĨāļēāļŠāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ controller āđāļĨāļ°āļŠāļēāļĄāļēāļĢāļ–āļĢāļąāļš prefix āļ‚āļ­āļ‡ route āđ„āļ”āđ‰āļ•āļēāļĄāļ•āđ‰āļ­āļ‡āļāļēāļĢ controller āļˆāļ°āļˆāļąāļ”āļāļēāļĢāļ„āļģāļ‚āļ­ HTTP āļ—āļĩāđˆāđ€āļ‚āđ‰āļēāļĄāļēāđāļĨāļ°āļŠāđˆāļ‡āļāļēāļĢāļ•āļ­āļšāļāļĨāļąāļšāđ„āļ›āļĒāļąāļ‡ client āđ‚āļ”āļĒāđƒāļŠāđ‰āđ€āļ”āļ„āļ­āđ€āļĢāđ€āļ•āļ­āļĢāđŒāļ­āļĒāđˆāļēāļ‡ @Get(), @Post() āđ€āļžāļ·āđˆāļ­āļāļģāļŦāļ™āļ” route

2

provider āđƒāļ™ NestJS āļ„āļ·āļ­āļ­āļ°āđ„āļĢ?

āļ„āļģāļ•āļ­āļš

provider āļ„āļ·āļ­āļ„āļĨāļēāļŠāļ—āļĩāđˆāļŠāļēāļĄāļēāļĢāļ–āļ–āļđāļ inject āđ€āļ›āđ‡āļ™ dependency āļœāđˆāļēāļ™āļĢāļ°āļšāļš dependency injection āļ‚āļ­āļ‡ NestJS service, repository, factory āđāļĨāļ° helper āļĨāđ‰āļ§āļ™āđ€āļ›āđ‡āļ™ provider āđ‚āļ”āļĒāļˆāļ°āļ–āļđāļāļāļģāļāļąāļšāļ”āđ‰āļ§āļĒ @Injectable() āđāļĨāļ°āļ›āļĢāļ°āļāļēāļĻāđ„āļ§āđ‰āđƒāļ™āļ­āļēāļĢāđŒāđ€āļĢāļĒāđŒ providers āļ‚āļ­āļ‡ module

3

āļˆāļ°āļŠāļĢāđ‰āļēāļ‡āđ‚āļ›āļĢāđ€āļˆāļāļ•āđŒ NestJS āđƒāļŦāļĄāđˆāļ”āđ‰āļ§āļĒ CLI āđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āđ„āļĢ?

āļ„āļģāļ•āļ­āļš

āļ„āļģāļŠāļąāđˆāļ‡ 'nest new project-name' āļˆāļ°āļŠāļĢāđ‰āļēāļ‡āđ‚āļ›āļĢāđ€āļˆāļāļ•āđŒ NestJS āđƒāļŦāļĄāđˆāļ—āļĩāđˆāļĄāļĩāđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļĄāļēāļ•āļĢāļāļēāļ™āļ›āļĢāļ°āļāļ­āļšāļ”āđ‰āļ§āļĒ src/, test/ āđāļĨāļ°āđ„āļŸāļĨāđŒāļāļēāļĢāļ•āļąāđ‰āļ‡āļ„āđˆāļē CLI āļˆāļ°āđƒāļŦāđ‰āđ€āļĨāļ·āļ­āļāļ•āļąāļ§āļˆāļąāļ”āļāļēāļĢāđāļžāđ‡āļāđ€āļāļˆ (npm, yarn, pnpm) āđāļĨāļ°āļŠāļĢāđ‰āļēāļ‡āđ‚āļ„āđ‰āļ”āđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āđ‚āļ”āļĒāļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļīāļžāļĢāđ‰āļ­āļĄ root module āđāļĨāļ° controller āļžāļ·āđ‰āļ™āļāļēāļ™

4

āđ€āļ”āļ„āļ­āđ€āļĢāđ€āļ•āļ­āļĢāđŒ @Injectable() āļĄāļĩāļšāļ—āļšāļēāļ—āļ­āļĒāđˆāļēāļ‡āđ„āļĢ?

5

āđƒāļ™ NestJS āļˆāļ° inject service āđ€āļ‚āđ‰āļēāđ„āļ›āđƒāļ™ controller āđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āđ„āļĢ?

+20 āļ„āļģāļ–āļēāļĄāļŠāļąāļĄāļ āļēāļĐāļ“āđŒ

āļŦāļąāļ§āļ‚āđ‰āļ­āļŠāļąāļĄāļ āļēāļĐāļ“āđŒ Node.js / NestJS āļ­āļ·āđˆāļ™āđ†

āļžāļ·āđ‰āļ™āļāļēāļ™ Node.js

Junior
20 āļ„āļģāļ–āļēāļĄ

Core API āļ‚āļ­āļ‡ Node.js

Junior
25 āļ„āļģāļ–āļēāļĄ

āļāļēāļĢāđ€āļ‚āļĩāļĒāļ™āđ‚āļ›āļĢāđāļāļĢāļĄāđāļšāļšāļ­āļ°āļ‹āļīāļ‡āđ‚āļ„āļĢāļ™āļąāļŠ

Junior
25 āļ„āļģāļ–āļēāļĄ

āļžāļ·āđ‰āļ™āļāļēāļ™ Express.js

Junior
20 āļ„āļģāļ–āļēāļĄ

āļāļēāļĢāļ­āļ­āļāđāļšāļš REST API

Junior
20 āļ„āļģāļ–āļēāļĄ

āļāļēāļĢāļ•āļĢāļ§āļˆāļŠāļ­āļšāļ„āļ§āļēāļĄāļ–āļđāļāļ•āđ‰āļ­āļ‡āđāļĨāļ° DTO

Junior
20 āļ„āļģāļ–āļēāļĄ

āđ€āļ­āļāļŠāļēāļĢ API āđāļĨāļ° Contract

Junior
20 āļ„āļģāļ–āļēāļĄ

āļāļēāļĢāļˆāļąāļ”āļāļēāļĢāļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”

Junior
20 āļ„āļģāļ–āļēāļĄ

āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļŦāļ™āđˆāļ§āļĒ (Unit Testing)

Junior
20 āļ„āļģāļ–āļēāļĄ

āļāļēāļĢāļˆāļąāļ”āļ•āļēāļĢāļēāļ‡āļ‡āļēāļ™

Junior
15 āļ„āļģāļ–āļēāļĄ

Module āđāļĨāļ° DI āļ‚āļ­āļ‡ NestJS

Mid-Level
20 āļ„āļģāļ–āļēāļĄ

āļāļēāļĢāļāļģāļŦāļ™āļ”āļ„āđˆāļēāđāļĨāļ°āļāļēāļĢāļˆāļąāļ”āļāļēāļĢāļŠāļ āļēāļžāđāļ§āļ”āļĨāđ‰āļ­āļĄ

Mid-Level
20 āļ„āļģāļ–āļēāļĄ

āļāļēāļĢāļĒāļ·āļ™āļĒāļąāļ™āļ•āļąāļ§āļ•āļ™āļ”āđ‰āļ§āļĒ JWT

Mid-Level
25 āļ„āļģāļ–āļēāļĄ

āļāļēāļĢāđƒāļŦāđ‰āļŠāļīāļ—āļ˜āļīāđŒāđāļĨāļ° RBAC

Mid-Level
20 āļ„āļģāļ–āļēāļĄ

āļāļēāļ™āļ‚āđ‰āļ­āļĄāļđāļĨāļ”āđ‰āļ§āļĒ TypeORM

Mid-Level
30 āļ„āļģāļ–āļēāļĄ

Prisma ORM

Mid-Level
25 āļ„āļģāļ–āļēāļĄ

Middleware āđāļĨāļ° Interceptor

Mid-Level
20 āļ„āļģāļ–āļēāļĄ

āļāļēāļĢāļ­āļąāļ›āđ‚āļŦāļĨāļ”āđ„āļŸāļĨāđŒ

Mid-Level
15 āļ„āļģāļ–āļēāļĄ

WebSockets

Mid-Level
20 āļ„āļģāļ–āļēāļĄ

GraphQL āļāļąāļš NestJS

Mid-Level
25 āļ„āļģāļ–āļēāļĄ

āļāļēāļĢāļ—āļ”āļŠāļ­āļšāđāļšāļš End-to-End

Mid-Level
20 āļ„āļģāļ–āļēāļĄ

āļāļēāļĢāđāļ„āļŠāļ”āđ‰āļ§āļĒ Redis

Mid-Level
20 āļ„āļģāļ–āļēāļĄ

āļ„āļīāļ§āļ”āđ‰āļ§āļĒ Bull

Mid-Level
20 āļ„āļģāļ–āļēāļĄ

DevOps, Logging āđāļĨāļ° CI/CD

Mid-Level
25 āļ„āļģāļ–āļēāļĄ

Docker āđāļĨāļ° Containerization

Mid-Level
25 āļ„āļģāļ–āļēāļĄ

āđ„āļĄāđ‚āļ„āļĢāđ€āļ‹āļ­āļĢāđŒāļ§āļīāļŠ

Senior
30 āļ„āļģāļ–āļēāļĄ

āđāļ™āļ§āļ—āļēāļ‡āļ›āļāļīāļšāļąāļ•āļīāļ—āļĩāđˆāļ”āļĩāļ—āļĩāđˆāļŠāļļāļ”āļ”āđ‰āļēāļ™āļ„āļ§āļēāļĄāļ›āļĨāļ­āļ”āļ āļąāļĒ

Senior
25 āļ„āļģāļ–āļēāļĄ

āļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļžāđāļĨāļ°āļāļēāļĢ Deploy āļšāļ™ Cloud

Senior
30 āļ„āļģāļ–āļēāļĄ

āđ€āļŠāļĩāđˆāļĒāļ§āļŠāļēāļ Node.js / NestJS āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļŠāļąāļĄāļ āļēāļĐāļ“āđŒāļ„āļĢāļąāđ‰āļ‡āļ–āļąāļ”āđ„āļ›

āđ€āļ‚āđ‰āļēāļ–āļķāļ‡āļ„āļģāļ–āļēāļĄāļ—āļąāđ‰āļ‡āļŦāļĄāļ” flashcards āđāļšāļšāļ—āļ”āļŠāļ­āļšāđ€āļ—āļ„āļ™āļīāļ„ āđāļšāļšāļāļķāļāļŦāļąāļ” code review āđāļĨāļ°āļ•āļąāļ§āļˆāļģāļĨāļ­āļ‡āļŠāļąāļĄāļ āļēāļĐāļ“āđŒ

āđ€āļĢāļīāđˆāļĄāđƒāļŠāđ‰āļŸāļĢāļĩ