Tại Sao Nên Học Khóa Học Này?
- Học từ kinh nghiệm thực tế của developer đã làm việc trong các dự án lớn về tài chính, ngân hàng và chứng khoán
- Nắm vững framework backend phát triển mạnh nhất trong 3 năm gần đây với cộng đồng hỗ trợ tích cực
- Luyện tập tư duy xây dựng hệ thống lớn và có tính mở rộng cao thông qua kiến trúc modular
- Kết hợp được OOP, FP và FRP trong một framework duy nhất để tối ưu hóa code
- Rèn luyện kỹ năng lập trình hướng đối tượng qua thực hành dự án thực tế
- Xây dựng được backend chuyên nghiệp với mô hình MVC, IoC và Dependency Injection
- Cam kết học mãi mãi với một lần mua khóa học
Khóa Học Này Dành Cho Ai?
- Lập trình viên đã có kiến thức cơ bản về backend và muốn nâng cấp kỹ năng lên tầm chuyên nghiệp
- Người đã biết Express/Node.js và muốn chuyển sang framework có cấu trúc tốt hơn
- Developer muốn xây dựng ứng dụng backend quy mô lớn với kiến trúc rõ ràng và dễ bảo trì
- Sinh viên, người mới học đã nắm JavaScript/TypeScript cơ bản và muốn làm backend
- Freelancer muốn mở rộng kỹ năng để nhận các dự án backend phức tạp hơn
- Ai muốn sử dụng database MongoDB kết hợp với Mongoose trong dự án thực tế
Kỹ Năng Bạn Sẽ Đạt Được
- Xây dựng server backend RESTful API chuyên nghiệp với NestJS và TypeScript
- Thành thạo các decorator của TypeScript và áp dụng vào NestJS để xử lý Router và Controller
- Hiểu sâu về mô hình IoC (Inversion of Control) và DI (Dependency Injection) để tối ưu ứng dụng
- Kết nối và thao tác với MongoDB sử dụng thư viện Mongoose một cách hiệu quả
- Phân biệt rõ ràng stateful và stateless application, SSR và CSR trong backend
- Xây dựng module Authentication với JWT (JSON Web Token) để bảo mật ứng dụng
- Thực hành CRUD operations với validation dữ liệu bằng DTO và Pipe
- Áp dụng mô hình MVC để phân tách logic rõ ràng giữa các layer
- Tạo module Subscribers với tính năng gửi email tự động kết hợp cron jobs
- Sử dụng Mongoose Plugins để mở rộng chức năng của schema
- Xây dựng hệ thống phân quyền với Permission & Roles
- Debug ứng dụng NestJS chuyên nghiệp để phát hiện và sửa lỗi nhanh chóng
- Triển khai ứng dụng backend với Docker và áp dụng các kiến thức nâng cao
Nội Dung Khóa Học
Chapter 0: Bắt Buộc Xem
- Hướng dẫn sử dụng khóa học hiệu quả
- Demo kết quả đạt được khi kết thúc khóa học
- Tài liệu và source code của khóa học
- Yêu cầu và hướng dẫn sử dụng source code
Chapter 1: Tổng Quan Về NestJS
- NestJS là gì và tại sao cần học framework này
- Tạo dự án mới và viết chương trình Hello World
- Kiến trúc của dự án NestJS
Chapter 2: NestJS và TypeScript
- TypeScript Decorators
- Sử dụng Decorator với NestJS
- Mô hình Router với NestJS
- Controllers trong NestJS
Chapter 3: Inversion Of Control
- Khái niệm IoC (Inversion of Control)
- Modules và Dependencies Injection (DI)
- Injecting a dependency trong NestJS
Chapter 4: NestJS và MVC
- Ví dụ về Controller/Service
- Template View Engine
- Mô hình MVC
- Vấn đề tồn đọng với SSR
Chapter 5: Connect Database
- Lựa chọn Database phù hợp
- Cài đặt MongoDB
- Sử dụng MongoDB với NestJS
Chapter 6: RESTful API
- Generate resources tự động
- Create Schema (Model) với Mongoose
- CRUD Operations: Create, Read, Update, Delete User
- DTO (Data Transfer Object)
- Pipe và Validation dữ liệu
- Hash User's Password để bảo mật
Chapter 7: Stateful và Stateless
- Setup Backend Test
- Debug NestJS Applications
- Stateful Application
- Cơ chế hoạt động của Stateful App
- Ưu, nhược điểm của Stateful và Stateless
Chapter 8: JWT - JSON Web Token
- Xây dựng module Authentication
- Làm việc với JWT để xác thực người dùng
- Phân quyền truy cập API
Chapter 9: Tự Duy Phân Tích Database
- Thiết kế database cho dự án thực tế
- Tối ưu hóa cấu trúc dữ liệu
Chapter 10: Mongoose Plugins
- Sử dụng và tùy chỉnh Mongoose Plugins
- Mở rộng chức năng cho Schema
Chapter 11: Modules Company
- Xây dựng module Company
- CRUD operations cho Company
Chapter 12: Modules User
- Quản lý User nâng cao
- Phân quyền và vai trò người dùng
Chapter 13: Modules JobResume
- Xây dựng hệ thống quản lý CV và công việc
- Tích hợp các module với nhau
Chapter 14: Modules Permission & Roles
- Xây dựng hệ thống phân quyền
- Quản lý Roles và Permissions
Chapter 15: Module Subscribers
- CRUD Subscribers
- Gửi email với NestJS sử dụng template
- Cron jobs để gửi email tự động
Chapter 16: Giới Thiệu Kiến Thức Nâng Cao
- Các kỹ thuật nâng cao để tối ưu server backend
- Upgrade version NestJS
- Build dự án backend với Docker
Chapter 17: Summary
- Tổng kết toàn bộ khóa học
- Hướng dẫn tiếp tục phát triển