Nest.js Super | Dự án Ecommerce API tích hợp thanh toán online
199.000 VND
1.590.000 VND
Đầy Đủ Bài Giảng
Học Online Tiện Lợi
Kích Hoạt Nhanh 2-5 Phút
Thanh toán tự động
Được phép tải xuống

Mô tả

Mình sẽ hướng dẫn các bạn A-Z về framework Nest.js thông qua dự án API website thương mại điện tử. Ngoài những chức năng cơ bản ai cũng biết, thì các bạn sẽ được học về tích hợp cổng thanh toán, xác thực 2FA, Monorepo, Caching, Permission Based Access Control, Rate Limit, Swagger, xử lý nhiều request cùng đặt hàng,... Mình đã bỏ ra hơn 9 triệu để mua khóa Nest.js của creator Nest.js nên tin mình đi, đây là khóa ngon nhất mà bạn tìm thấy trên internet với mức giá hợp lý nhất.

Bạn sẽ học được gì?

Kỹ năng phân tích và thiết kế Database

Nắm vững Postgresql và Prisma

Biết quy trình thanh toán online và xác thực đơn hàng

Nắm vững Monorepo

Xử lý caching với Redis

Xử lý nhiều request cùng đặt hàng vào 1 thời điểm

Yêu cầu

    Nội dung khóa học

    16 chương
    Hướng dẫn
    JavaScript Class
    Chạy code TypeScript trên Bun, Deno và Node.js
    TypeScript Class
    Higher Order Function và Depedency Injection
    TypeScript Decorator
    Giới thiệu Nest Framework
    Khám phá bên trong một Nest Application
    Làm quen GET POST PUT DELETE
    Chỉnh sửa Prettier và Postman để code thuận tiện hơn
    Phân tích cơ sỡ dữ liệu dự án CRUD và tạo schema bằng DBML
    Khởi tạo database sqlite với prisma
    Tích hợp Prisma Service vào Shared Module
    Các câu lệnh Prisma CLI hay dùng
    Validate file .env
    Hashing service và register
    Validation với DTO
    Serialization - Chuẩn hóa dữ liệu trả về
    Nest Interceptor
    JWT và Login
    Refresh Token
    Custom match decorator
    Type Predicate
    Tự động lưu postman environment với post script
    Bảo vệ route với Guard
    Bảo vệ route với api-key
    Authentication Guard nâng cao với điều kiện
    Chức năng logout
    Active User Decorator
    Hoàn thiện Get Posts
    Hoàn thiện Create Update Delete Post
    Giới thiệu dự án
    Cấu trúc một table hỗ trợ đa ngôn ngữ
    Cấu trúc một table Product Variant
    Phân tích sơ bộ các đối tượng cần tạo table
    Mô tả CSDL bằng DBML
    Những lưu ý về Postgresql trước khi cài đặt
    Lưu ý về Prisma model
    Tạo Prisma Model
    Tránh bị một số lỗi TypeScript
    Tạo Shared Module
    Script tạo seed data
    Cache clientRoleId khi đăng ký user
    Tích hợp Zod Validation và Serialization
    Hạn chế try-catch với CatchEverythingFilter
    Áp dụng Repository Pattern
    Phân tích flow OTP Code và khai báo end point
    Code Logic Tạo OTP khi đăng ký
    Cập nhật xác thực OTP cho chức năng đăng ký
    Gửi OTP đến email bằng Resend
    Xác thực domain trên Resend
    Gửi email bằng template html
    Giới thiệu về React Email
    Sử dụng React Email làm Email Template
    Tư duy về thiết kế Authentication & Authorization cho website
    Thêm model Device và Hướng dẫn migrate
    Logic cơ bản chức năng Login [Login Part 1]
    Cách lấy IP và UserAgent của client [Login Part 2]
    Một số cập nhật nhỏ
    Refresh Token
    Logout
    Return message cho Send OTP và Tạo decorator @IsPublic
    Bài tập Oauth 2.0 với Google
    Tạo dự án trên trên Google Console Cloud
    Tạo Google Authorized Url bằng googleapis
    Source FrontEnd Vite React để test chức năng login với Google
    Tạo Route Google Callback hoàn thiện chức năng Google Login
    Publish Production Google Cloud Console
    Refactor Error và vấn đề đa ngôn ngữ
    Fix bug truyền sai roleName khi tạo token
    Chức năng quên mật khẩu
    Phân tích chức năng 2FA
    Cập nhật Schema Model DTO cho chức năng 2FA
    Tạo mã 2FA
    Cập nhật xác thực 2 lớp cho login
    Chức năng tắt mã 2FA
    Tối ưu Language Schema và index deletedAt
    Bài tập CRUD Language
    Hướng dẫn làm Language
    Vấn đề của prisma db push
    Chuyển đổi prisma db push sang prisma migrate
    Thêm chức năng Partial Unique Index bằng prisma migrate
    Custom Migration
    Fix lỗi "The migration was modified after it was applied" và add thêm deletedById vào schema.prisma
    Bài tập CRUD Permission
    Hướng dẫn làm CRUD Permission
    Tạo script Create Permissions hàng loạt
    Tạo script xóa hoặc tạo permission dựa trên các endpoint hiện có
    Hướng dẫn down migration và bài tập CRUD Roles
    Hướng dẫn queryRaw và CRUD Roles
    Cập nhật Zod schema cho Permission Role và giải thích vì sao query không dùng index
    Fix bug Permission đã bị xóa mềm nhưng vẫn còn trong Role
    Cập nhật script add permissions vào Admin Role
    Kiểm tra Role Permission khi request
    Refactor Authentication Guard
    Ngăn chặn user thao tác trên base role
    Thêm cột module vào Permission để gom nhóm
    Fix bug: khi Role bị vô hiệu hóa thì nên từ chối request & Không cho phép user chỉnh sửa base role
    Bài tập Profile
    Hướng dẫn làm Profile
    Fix bug error message bên api role và refactor lại một số file bên auth
    Refactor RolesService trong auth
    Bài tập CRUD User
    Hướng dẫn CRUD User
    Migrate unique email và totpSecret
    Fix lỗi Prisma liên quan đến unique Email
    Upload single file
    File validation
    Upload Array of Files và Serve static
    Hướng dẫn tạo và kết nối với AWS S3
    Upload file lên S3
    Fix bug upload file nhưng không xóa file
    Upload File với Presigned Url
    Dùng React upload file với presigned url
    Validate file khi dùng presign url
    Hướng dẫn dùng S3 Storage của VN Data
    CRUD Brand và Brand Translation
    Đa ngôn ngữ với Nestjs i18n
    CRUD Category và Category Translation
    Migrate Product
    Tạo thuật toán generate SKU
    Tạo model liên quan product
    Khai báo type cho JSON trong Prisma
    Khai báo method findById và delete trong ProductRepo
    Tạo method create trong ProductRepo
    Tạo method update trong ProductRepo
    Test CRUD API Product và cập nhật schema validate
    Cập nhật create-permissions tự động thêm permissions cho seller
    [P1] Refactor Product - Cập nhật product repo
    [P2] Refactor Product - Tách product ra product và manage product
    Test API Product và fix bug isPublic
    Filter Product
    orderBy và sortBy Product
    Migrate CartItem và khai báo cart zod schema
    Tạo Repo Service Controller cho Cart
    Gom nhóm cartItem theo shop
    🛑 Cập nhật createdById của SKU
    Sử dụng các function của Postgresql để gom nhóm cartItem
    Migrate Order và ProductSKUSnapshot
    Fix bug thêm cùng sản phẩm vào cart và sắp xếp cartItem
    Tạo model dto error Order
    Tạo list order
    Tạo Order
    Detail và Cancel Order
    Validate cộng dồn quantity cartItem vượt quá stock khi add cart
    Giới thiệu flow và khai báo Model Payment
    Tạo Webhook API Payment Receiver
    Bảo vệ webhook bằng API Key
    Setup Redis và BullMQ để làm Queue
    Tạo Producer và Consumer cho Queue
    Tự động tính năng tự động cancel payment sau 24h không thanh toán
    Xóa job cancel payment khi thanh toán thành công
    Rollback update khi queue bị lỗi
    Đăng ký Sepay và liên kết bank
    Cài đặt Webhook Sepay
    Implement Websocket vào dự án
    Namespace trong Websocket
    Custom Websocket Adapter
    Lifecyle và middleware Websocket
    Lưu Socket Id vào database
    Emit sự kiện về cho client khi thanh toán thành công
    Emit đến nhiều client bằng Room
    Sử dụng Redis Adapter cho multiple server
    Swagger
    Rate Limit