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).