backendBeginner

NestJS 101 - Xây dựng API chuẩn doanh nghiệp

NestJS 101 - Xây dựng API chuẩn doanh nghiệp

NestJS từ nền tảng đến thực chiến: modules/controllers/services, DI, DTO/validation, guards/interceptors/filters, kết nối DB (TypeORM/Prisma) và JWT. Xây REST API chuẩn, logging/error‑handling tốt và kiến trúc dễ mở rộng.

4.9 (26 đánh giá)18h👥 170 học viên📚 14 bài học📎 18 tài liệu🌐 Vietnamese
10.000.000
IT
Tạo bởi ITSS Training
🌐 VietnameseBeginner

Lộ trình học

Buổi 1
Ngày 1-2

Mục tiêu

  • Hiểu rõ NestJS architecture
  • Setup NestJS project
  • Tạo module và controller đầu tiên

Nội dung

  • Giới thiệu NestJS và hệ thống decorators giúp khai báo kiến trúc rõ ràng, dễ mở rộng.
  • Cài đặt NestJS CLI, khởi tạo project và giải thích cấu trúc thư mục tiêu chuẩn.
  • Tách module/controller/service theo domain; quy tắc tổ chức để tăng khả năng test và bảo trì.
  • Áp dụng nguyên tắc dependency inversion thông qua providers; cấu hình env cho nhiều môi trường.
  • Thực hành: tạo module và controller đầu tiên, viết endpoint đơn giản kèm validation.
Buổi 2
Ngày 3-4

Mục tiêu

  • Dependency Injection
  • HTTP endpoints và DTOs
  • Validation và error handling

Nội dung

  • Dependency Injection: providers, scope và lifecycle; khi nào chọn singleton vs request scoped.
  • Xây endpoints REST theo chuẩn; controller mỏng, service dày và nguyên tắc single responsibility.
  • Thiết kế DTO để xác định hợp đồng dữ liệu; mapper giữa entity và DTO khi cần.
  • Validation với class‑validator và pipes; xử lý lỗi thống nhất và trả về mã trạng thái phù hợp.
  • Exception filters và logging cơ bản để theo dõi sự cố trong môi trường dev/prod.
Buổi 3
Ngày 5-6

Mục tiêu

  • Database integration với TypeORM
  • Authentication và Authorization
  • Guards và interceptors

Nội dung

  • Kết nối database với TypeORM/Prisma; thiết kế entity/schema và migration an toàn.
  • Thao tác CRUD có transaction; tối ưu truy vấn, thêm index và xử lý n+1 query.
  • Xác thực JWT: đăng ký/đăng nhập, refresh token và lưu trữ an toàn (cookie httpOnly).
  • Guards/Decorators cho phân quyền theo vai trò (RBAC) và bảo vệ tuyến nhạy cảm.
  • Interceptors/Filters cho logging, transformation và chuẩn hóa response.
Buổi 4
Ngày 7-8

Mục tiêu

  • Advanced features
  • Project thực tế
  • Testing và deployment

Nội dung

  • Pipes và custom pipes cho validate/transform nâng cao; lưu ý hiệu năng khi áp dụng diện rộng.
  • Middleware và custom decorators để chia sẻ logic ngang; nguyên tắc đặt vị trí phù hợp trong pipeline.
  • Testing với Jest: unit/service và e2e với supertest; mock phụ thuộc để test ổn định.
  • Bài dự án: hoàn thiện REST API theo domain rõ ràng, tài liệu Swagger/OpenAPI và seed dữ liệu.
  • Đóng gói bằng Docker multi‑stage, cấu hình biến môi trường và chiến lược deploy cơ bản.
Buổi 5
Ngày 9-10

Mục tiêu

  • Authentication nâng cao
  • Authorization theo vai trò

Nội dung

  • Refresh token rotation an toàn: chống replay và thu hồi phiên khi bị lộ.
  • Phân quyền nâng cao: RBAC/ABAC và chiến lược gán quyền linh hoạt theo thuộc tính.
  • Guards/Interceptors nâng cao: cache, rate limit và định hình response.
  • Thiết kế module Auth tái sử dụng: tách provider, strategy và contracts rõ ràng.
Buổi 6
Ngày 11-12

Mục tiêu

  • Microservices trong NestJS
  • Message broker

Nội dung

  • Microservices với các transport TCP/Redis/NATS; khi nào phù hợp và lưu ý vận hành.
  • Áp dụng CQRS để tách lệnh/đọc; tối ưu mở rộng theo chiều ngang và khả năng chịu tải.
  • Event‑driven architecture: phát/nhận sự kiện, idempotency và xử lý retry/backoff.
  • Quan sát hệ thống: log cấu trúc, trace và metrics cơ bản để theo dõi sức khỏe dịch vụ.
Buổi 7
Ngày 13-14

Mục tiêu

  • Testing và quality
  • CI/CD

Nội dung

  • Thiết kế bộ test unit/e2e bền vững, cô lập phụ thuộc và tránh test flaky.
  • Testcontainers để chạy database/message broker thật trong kiểm thử tích hợp.
  • Thiết lập CI: lint/test/build và báo cáo; cache để tối ưu thời gian.
  • Thiết lập coverage/quality gate để ngăn regression lọt vào main.
Buổi 8
Ngày 15-16

Mục tiêu

  • Dự án tổng kết
  • Triển khai

Nội dung

  • Khóa sổ tính năng, rà soát hợp đồng API và thêm migration cuối.
  • Đóng gói Docker Compose gồm API, DB, cache và các dịch vụ phụ trợ.
  • Triển khai demo lên môi trường thử nghiệm; kiểm tra healthcheck và logs.
  • Đánh giá kết quả, lập roadmap nâng cấp (scaling, monitoring, bảo mật).