Khóa học Backend Nodejs + Nestjs chuyên sâu làm dự án doanh nghiệp, Luyện thi chứng chỉ AWS
Khóa học Backend Nodejs + Nestjs chuyên sâu làm dự án doanh nghiệp, Luyện thi chứng chỉ AWS
Mục tiêu của khóa học
- 🔹 1. Kỹ năng lập trình & nền tảng
- Vững JavaScript/TypeScript.
- Hiểu sâu cơ chế event-loop, async/await, stream, memory model.
- Biết tư duy thuật toán, xử lý bất đồng bộ, tối ưu hiệu suất code.
- 🔹 2. Xây dựng Backend Node.js
- Thành thạo Express / NestJS.
- Thiết kế API chuẩn RESTful + phân trang + validation + authorization + versioning.
- Tích hợp third-party services: email, payment, OTP, social login.
- 🔹 3. Cơ sở dữ liệu & tối ưu
- Thành thạo PostgreSQL / MySQL.
- Thiết kế database theo chuẩn normalization.
- Indexing – Query optimization – Transaction – Locking.
- 🔹 4. Cache & Message Queue
- Redis cache, rate limiting.
- RabbitMQ (hoặc Kafka) để xử lý bất đồng bộ ở quy mô lớn.
- 🔹 5. Kiến trúc & doanh nghiệp
- SOLID, Clean Architecture, Domain Driven Design (DDD).
- Monolith vs Microservices.
- Logging hệ thống, Monitoring, Tracing.
- 🔹 6. Testing & chất lượng code
- Unit test, integration test, e2e test với Jest / Mocha.
- Code review, Git-flow, pull request chuẩn doanh nghiệp.
- 🔹 7. Dự án thực chiến
- Tự tay xây dựng backend vận hành được.
- Tự deploy sản phẩm lên môi trường staging & production.
Đối tượng học viên
- Lập trình viên muốn học Backend Development với NodeJS
- Developers muốn cập nhật kiến thức về công nghệ mới
- Fullstack developers muốn chuyên sâu về NodeJS Backend
- Sinh viên CNTT muốn học thêm kỹ năng thực tế
- Người đi làm muốn chuyển sang Backend NodeJS
Sự khác biệt khoá học
- 1. Giáo trình được xây dựng theo chuẩn “Doanh nghiệp thật – Vấn đề thật – Kiến trúc thật"
- 2. Kèm từng học viên — cá nhân hóa tiến độ 100%
- 3. Tích hợp học và ôn chứng chỉ AWS — lợi thế cực lớn khi xin việc
- 4. 3-5 dự án thực chiến – Portfolio mạnh để xin việc
- 5. Học theo cách “backend Engineer thực thụ” chứ không phải khóa học lập trình sinh viên
- 6. Hệ thống bài tập chất lượng cao (100+ bài) được thiết kế theo mức độ “nhảy bậc”
- 7. Định hướng nghề nghiệp + luyện phỏng vấn backend
- 8. Khóa học dài 60 buổi – đủ sâu, đủ rộng, đúng trọng tâm backend
Nội dung chương trình học
Phần 1: ÔN TẬP JAVASCRIPT & TYPESCRIPT 8 BUỔI
Kiểu dữ liệu trong JS (Primitive vs Reference).
So sánh == vs === và pitfalls phổ biến.
Scope, hoisting, let/const/var.
Function, callback, higher-order functions.
Thực hành sửa lỗi JS với các ví dụ doanh nghiệp gửi.
Promise, async/await, event loop.
Xử lý lỗi async đúng chuẩn (try/catch, .catch).
Các vấn đề thường gặp khi chạy đa luồng giả (blocking).
Thực hành viết module bất đồng bộ.
Bài tập: convert callback hell → async/await.
Kiểu cơ bản: string, number, boolean, array, tuple.
Interface & Type alias.
Union, Intersection, Optional, Nullable.
Generic function & generic type.
Bài tập viết typings chuẩn cho API.
Class, abstract class, implements.
Decorators & khi nào dùng.
Kiểu nâng cao: keyof, infer, mapped types.
Tách code TS theo module, namespace.
Bài tập: tạo type cho response API chuẩn doanh nghiệp.
Global vs Module scope trong Node.
CommonJS vs ESModule.
EventEmitter và ứng dụng.
Stream & Buffer (cách Node quản lý dữ liệu lớn).
Xử lý file hệ thống (FS module).
npm/yarn/pnpm – chọn công cụ dùng tại doanh nghiệp.
Scripts & lifecycle (pre/post scripts).
Prettier, ESLint – setup tiêu chuẩn.
Cấu trúc thư mục backend chuẩn công ty.
Bài tập: tạo project Node + TS hoàn chỉnh.
Git branching chuẩn doanh nghiệp (Git Flow, Trunk).
Pull request & Code review best practices.
Resolve conflict nâng cao.
Viết commit message theo chuẩn Conventional Commit.
Bài tập thực hành merge & review code.
Data structure cần cho backend: Map, Set, Queue.
Thuật toán xử lý chuỗi, sort, filter hiệu quả.
Tối ưu vòng lặp và độ phức tạp O(n).
Thực hành xử lý dataset 50k record bằng JS.
Bài tập: xây search filter đơn giản.
Phần 2: PEXPRESS, DATABASE, ORM — 25 BUỔI
Backend là gì? Chu trình request → response.
MVC: Models – Controllers – Services.
RESTful API & best practice.
Khởi tạo dự án Express + Typescript.
Tổ chức thư mục chuẩn doanh nghiệp.
Thiết lập tsconfig.
Middleware cơ bản.
Logging bằng Morgan/ Winston.
Environment variables (dotenv).
Error-first callback pattern.
SQL vs NoSQL — chọn DB nào?
Giới thiệu PostgreSQL.
Cài đặt PostgreSQL + PGAdmin.
Kết nối Express ↔ PostgreSQL.
Query thuần SQL cơ bản.
JOIN (inner, left, right).
Aggregate (SUM, COUNT, AVG).
GROUP BY & HAVING.
Index & Performance cơ bản.
Bài tập query phức tạp theo yêu cầu doanh nghiệp.
ORM là gì? Ưu & nhược điểm.
Cấu hình ORM vào dự án.
Khởi tạo schema/model.
Migration cơ bản.
Tổ chức repository layer.
Create/Read/Update/Delete.
Query builder cơ bản.
Pagination, sorting, filtering.
Transaction đơn giản.
Best practice khi viết query.
1–1, 1–N, N–M.
Cascade, relation options.
Relation query nâng cao.
Eager vs Lazy loading.
Bài tập: mô hình đơn hàng – sản phẩm.
Response format chuẩn (data/meta/error).
Status codes đúng chuẩn.
Phân lớp Controller – Service – Repo.
Tách logic domain.
Bài tập: xây API CRUD hoàn chỉnh.
Search, filter đa điều kiện.
Query tối ưu với index.
Batch query & N+1 problem.
Phân tích query bằng EXPLAIN.
Bài tập performance.
Global middleware vs route middleware.
Logging nâng cao.
Response time measuring.
Multi-language error message.
Viết middleware custom.
Multer setup.
Upload single/multiple files.
Validate file size/format.
Lưu file vào cloud (cloudinary/S3).
Endpoint upload avatar sản phẩm.
DTO & Schema Validation.
Custom validator.
Validate query/body/params.
Error handling chung.
Bài tập: validate form đăng ký.
Global error handler.
Custom error class.
Logging error.
Mapping error → HTTP code.
Best practice khi throw error.
Access token vs Refresh token.
Tạo token & verify token.
Middleware bảo vệ route.
Cơ chế logout.
Lưu trữ refresh token an toàn.
Role-based access (RBAC).
Permission-based access (PBAC).
Guard middleware.
Phân quyền admin – user – mod.
Bài tập: phân quyền CRUD sản phẩm.
bcrypt: salt, hash.
So sánh Argon2, PBKDF2.
Reset password flow.
Confirm email flow.
Security best practice.
OAuth2 flow.
Google login.
Facebook login.
Xử lý đồng bộ user profile.
Vấn đề bảo mật khi dùng OAuth.
XSS (Stored/Reflected).
CSRF & CORS.
Sanitizing input.
Headers bảo mật.
Tấn công phổ biến với API.
Rate limit chống brute force.
IP block/allowlist.
SQL injection với ORM.
Mass assignment protection.
Encryption vs hashing.
Redis là gì? Dùng để làm gì.
Caching API.
Cache invalidation strategies.
Lưu session vào Redis.
Caching database query.
Tại sao cần Queue?
BullMQ & Redis setup.
Producer – Consumer.
Retry, backoff, delay job.
Bài tập: gửi email async.
Tối ưu API.
Tối ưu query.
Memory leak trong Node.
Load test với k6.
Caching chiến lược.
Jest setup.
Mock function & database.
Test service logic.
Test controller logic.
Code coverage.
Test API thật với supertest.
Setup DB test.
Clean DB sau mỗi test.
Test workflow CRUD hoàn chỉnh.
CI/CD testing pipeline (giới thiệu).
Module user + auth.
Module product + category.
Module order.
Tối ưu query.
Viết test cho 1 module.
Phần 3:NESTJS FRAMEWORK CHUYÊN SÂU — 15 BUỔI
Module, controller, provider.
DI container.
Chuyển tư duy Express → NestJS.
Project structure chuẩn.
Live coding demo API đầu tiên.
DTO & validation.
Response interceptor.
Custom pipes.
Service patterns.
Tách layer logic chuẩn doanh nghiệp.
Global vs Local filter.
Format error chuẩn.
Mapping lỗi business logic.
Logger integration.
Best practice của doanh nghiệp.
Guard cho RBAC.
Middleware logging nâng cao.
Interceptor caching.
Lifecycle của request trong Nest.
Demo bảo vệ route.
Prisma/TypeORM trong Nest.
Repository pattern.
Migration + seed data.
Nối các module lại với nhau.
Bài tập: module product.
Khi nào nên dùng microservice.
Những sai lầm phổ biến.
Communication pattern.
Monolith vs Microservices.
Design module chia nhỏ.
Gateway pattern.
Service-to-service via HTTP.
Error handling multi-service.
Service discovery.
Demo phân tách Auth service.
Queue vs Event bus.
RabbitMQ / Kafka (chọn 1).
Producer – Consumer.
Retry, dead-letter queue.
Pattern event-driven.
Event dispatch.
Listener patterns.
Choreography vs Orchestration.
Saga pattern (giới thiệu).
Demo xử lý thanh toán đơn hàng.
Gateway routing.
Rate limit + auth gateway.
Aggregate response từ nhiều service.
Bảo mật giữa các service.
Mô hình thực tế doanh nghiệp.
Unit Test cho provider.
Mock dependency injection.
Test controller.
Test service gọi queue.
Code coverage.
Setup module E2E.
Fake DB.
Test các luồng người dùng.
Test auth – product – order.
Kỹ thuật test CI.
Clean Architecture.
Hexagonal Architecture.
Domain-driven design (DDD).
Anti-corruption layer.
Bài tập tái cấu trúc module.
Factory pattern.
Strategy pattern.
Repository pattern.
Adapter pattern.
State machine pattern.
Auth service.
Product service.
Order service + queue.
API gateway.
Test toàn bộ hệ thống.
Phần 4: PROJECT CUỐI KHÓA 12 BUỔI
Đọc yêu cầu doanh nghiệp thật (tutor cung cấp).
Thiết kế database.
Phân module monolith/microservice.
Viết API contract (OpenAPI).
Task breakdown theo sprint.
Đăng ký, đăng nhập.
JWT + Refresh token.
Phân quyền RBAC.
Test auth.
Security hardening.
CRUD product.
Upload ảnh với S3.
Caching sản phẩm bằng Redis.
Full-text search.
Test module product.
Tạo đơn hàng.
Xử lý tồn kho qua queue.
Transaction nâng cao.
Event-driven order flow.
Dashboard thống kê đơn.
Load test.
Tối ưu query.
Tối ưu API.
Error monitoring.
Logging chuẩn doanh nghiệp.
Hoàn thiện tài liệu.
Viết README chuẩn công ty.
Demo dự án cuối khóa.
Review theo tiêu chí doanh nghiệp.
Hướng dẫn chuẩn bị CV + portfolio backend.