Node.js / NestJS

Node.js / NestJS

BACKEND

Pengembangan backend dengan runtime Node.js dan framework NestJS TypeScript-first. Arsitektur modular dengan decorators, dependency injection, dan dukungan TypeScript penuh untuk membangun REST API, GraphQL, dan microservices enterprise yang sangat mudah dipelihara.

Apa yang akan Anda pelajari

Framework NestJS dengan arsitektur modular dan decorators (@Controller, @Injectable)

TypeScript ketat dengan tipe lanjutan dan inferensi otomatis

Dependency Injection native dengan container IoC dan scopes

Controllers, Providers, Modules untuk organisasi kode yang jelas

Guards untuk autentikasi, Pipes untuk validasi, Interceptors untuk transformasi

TypeORM atau Prisma untuk ORM dengan migrasi dan relasi kompleks

Passport.js terintegrasi untuk strategi auth (JWT, OAuth2, local)

GraphQL dengan pendekatan code-first atau schema-first

Microservices dengan transport layers (TCP, Redis, gRPC, MQTT)

Pengujian komprehensif (Jest, E2E, unit tests, mocking, coverage)

Topik utama yang harus dikuasai

Konsep terpenting untuk memahami teknologi ini dan berhasil di wawancara

1

Node.js: Event Loop, non-blocking I/O, async/await, streams, buffers

2

Arsitektur NestJS: modules, controllers, providers, decorators

3

Dependency Injection: providers, scopes (DEFAULT, REQUEST, TRANSIENT), custom providers

4

Controllers dan routing: @Get, @Post, @Param, @Body, @Query, route params

5

Providers dan services: logika bisnis, repository pattern, service layer

6

Middleware, Guards, Interceptors, Pipes, ExceptionFilters (siklus hidup request)

7

Validasi dengan class-validator dan class-transformer (validasi DTO)

8

TypeORM: entities, relations (@OneToMany, @ManyToOne), repositories, QueryBuilder

9

Prisma: schema, migrations, client, relations, transactions

10

Autentikasi: Passport.js, JWT strategy, guards, kontrol akses berbasis peran

11

Konfigurasi: ConfigModule, variabel lingkungan, validasi

12

Penanganan exception: HttpException, exception kustom, filters

13

Pengujian: unit tests dengan Jest, tes E2E, mocking, test doubles

14

GraphQL: resolvers, schemas, mutations, subscriptions, DataLoader

15

Microservices: pola (request-response, event-based), transporters

16

Performa: caching (Redis), kompresi, rate limiting, profiling

17

Logging (Winston, Pino), monitoring, Docker, deployment