Khóa học dành cho doanh nghiệp

Lập trình ứng dụng Web Enterprise với NestJS (Node)

Khóa học dành cho doanh nghiệp

NestJS cung cấp nền phát triển ứng dụng với kiến trúc chuyên nghiệp và hiện đại cho phép các lập trình viên tạo ra các ứng dụng có độ lớn cao với hàng chục ngàn người truy cập, dễ dàng kiểm thử, dễ dàng mở rộng, tích hợp và cũng như thuận lợi cho việc bảo trì và nâng cấp.
image
image
image

Giới thiệu

NestJS (Node.js) là một bộ framework dành cho phát triển back-end được xây dựng dựa trên thư viện Express, cũng như tận dụng sức mạnh của TypeScript.

NestJS tận dụng sự phổ biến và mạnh mẽ của Node.js, lấy cảm hứng từ các thư viện và những bộ frameworks phổ biến như Angular, React và Vue giúp cải thiện năng suất và tăng trình độ phát triển ứng dụng cho các lập trình viên. Với số lượng thư viện nhiều và phong phú kết hợp với các thư viện có sẵn của Node.js dành cho phía máy chủ, giúp cho các lập trình viên giải quyết các vấn đề chính một cách hiệu quả.

NestJS cung cấp nền phát triển ứng dụng với kiến trúc chuyên nghiệp và hiện đại cho phép các lập trình viên tạo ra các ứng dụng có độ lớn cao với hàng chục ngàn người truy cập, dễ dàng kiểm thử, dễ dàng mở rộng, tích hợp và cũng như thuận lợi cho việc bảo trì và nâng cấp.

Hiện nay, the NestJS framework đang trở nên cực kỳ phổ biến do các tính năng vượt trội của nó:

  • Tận dụng TypeScript – một typed language mạnh mẽ.

  • Sử dụng đơn giản, dễ học và dễ làm chủ công nghệ.

  • Có sẵn công cụ giao diện dòng lệnh (CLI) mạnh mẽ giúp tăng năng suất và dễ dàng phát triển.

  • Tài liệu đầy đủ và luôn được cập nhật.

  • Dễ dàng phát triển và bảo trì, nâng cấp.

  • Mã nguồn mở.

  • Hỗ trợ hàng chục mô-đun giúp bạn dễ dàng tích hợp các công nghệ thông dụng và những khái niệm phổ biến như TypeORM, Mongoose, GraphQL, Logging, Validation, Caching, WebSocket, Queue, Task và hơn thế nữa.

  • Dễ dàng kiểm thử từng đơn vị của ứng dụng.

  • Được thiết kế cho các mô hình phát triển kiểu Monoliths và Micro-services.

Đối tượng tham gia khóa học

  • Các bạn có hiểu biết cơ bản về JavaScript hoặc NodeJS; kiến thức cơ bản về TypeScript nhưng không bắt buộc.

  • Các bạn lập trình viên JavaScript muốn đi sâu vào phát triển back-end.

  • Các bạn lập trình viên mong muốn tìm hiểu: cách phát triển các API REST hiệu quả, an toàn và tối ưu nhất; cách triển khai ứng dụng lên đám mây.

  • Các bạn lập trình viên muốn xây dựng một ứng dụng thực tế từ A-Z.

Mục tiêu khóa học

  • Làm quen với NestJS framework và các thành phần của nó.

  • Thiết kế và phát triển REST API thực hiện các thao tác CRUD.

  • Xác thực và cấp quyền cho các ứng dụng back-end.

  • Sử dụng TypeORM để tương tác với cơ sở dữ liệu.

  • Thực hành tốt nhất về bảo mật, mật khẩu và lưu trữ thông tin nhạy cảm.

  • Lưu giữ dữ liệu bằng cơ sở dữ liệu.

  • Triển khai các ứng dụng back-end ở trạng thái sẵn sàng sản xuất cho Amazon Web Services.

  • Viết mã rõ ràng, có thể bảo trì phù hợp với tiêu chuẩn ngành.

  • Sử dụng NestJS Command Line Interface (CLI).

  • Sử dụng Postman để test các dịch vụ back-end.

  • Sử dụng pgAdmin làm công cụ giao diện để quản lý cơ sở dữ liệu PostgreSQL.

  • Thực hiện đăng nhập hiệu quả trong một ứng dụng back-end.

  • Quản lý cấu hình dựa trên môi trường và các biến môi trường.

  • Triển khai xác thực dữ liệu và sử dụng Pipes.

  • Bảo vệ các điểm cuối cho người dùng được ủy quyền sử dụng Guards.

  • Mô hình hóa các thực thể cho lớp kiên trì.

  • Các phương pháp hay nhất về TypeScript.

  • Xử lý các hoạt động không đồng bộ bằng cách sử dụng async-await.

  • Sử dụng Đối tượng truyền dữ liệu (DTO).

  • Trải nghiệm thực tế với JSON Web Tokens (JWT).

  • Đơn vị kiểm thử các ứng dụng NestJS.

  • Sử dụng GraphQL với NestJS.

  • Kiên trì cơ sở dữ liệu với MongoDB.

Nội dung tổng quát

  • Giới thiệu về NestJS

  • Cài đặt Rest API

  • Add PostgreSQL with TypeORM

  • Tìm hiểu về Dependency Injection

  • Application Configuration

  • Other Building Blocks by Example

  • Generating OpenAPI Specification

  • Testing

  • Add MongoDB with Mongoose

Nội dung chi tiết chương trình học

Phần 1. Giới thiệu về NestJS

  • Giới thiệu về NestJS                                             

  • Cài đặt NestJS CLI (command-line interface)

  • Tạo trường trong ứng dụng NestJS                  

  • Tìm hiểu môi trường NestJS

Phần 2. Cài đặt Rest API

  • Cài đặt Insomnia                   

  • Chạy NestJS trong chế độ nhà phát triển

  • Creating a Basic Controller 

  • Use Route Parameters

  • Handling Request Body / Payload

  • Response Status Codes

  • Handling Update and Delete Requests

  • Implement Pagination with Query Parameters

  • Creating a Basic Service

  • Send User-Friendly Error Messages

  • Encompass Business-Domain in Modules

  • Introduction to Data Transfer Objects

  • Validate Input Data with Data Transfer Objects

  • Handling Malicious Request Data

  • Auto-transform Payloads to DTO instances

Phần 3. Add PostgreSQL with TypeORM

  • Cài đặt Docker               

  • Running PostgreSQL                                

  • Giới thiệu TypeORM Module

  • Tạo TypeORM Entity  

  • Use Repository to Access Database 

  • Create a Relation between two Entities

  • Retrieve Entities with their Relations

  • Using Cascading Inserts and Updates

  • Adding Pagination

  • Use Transactions

  • Adding Indexes to Entities

  • Setting up Migrations

Phần 4. Tìm hiểu về Dependency Injection

  • Khái niệm Dependency Injection

  • Control NestJS Module Encapsulation

  • Diving Into Custom Providers

  • Value based Providers

  • Non-class-based Provider Tokens

  • Class Providers

  • Factory Providers

  • Leverage Async Providers

  • Create a Dynamic Module

  • Control Providers Scope

  • Diving Deeper Into Request-Scoped Providers

Phần 5. Application Configuration   

  • Introducing the Config Module

  • Custom Environment File Paths

  • Schema Validation

  • Using the Config Service

  • Custom Configuration Files

  • Configuration Namespaces and Partial Registration

  • Asynchronously Configure Dynamic Modules

Phần 6. Other Building Blocks by Example

  • Giới thiệu Building Blocks

  • Understanding Binding Techniques

  • Catch Exceptions with Filters

  • Protect Routes with Guards

  • Using Metadata to Build Generic Guards or Interceptors

  • Add Pointcuts with Interceptors

  • Handling Timeouts with Interceptors

  • Creating Custom Pipes

  • Add Request Logging with Middleware

  • Create Custom Param Decorators

Phần 7. Generating OpenAPI Specification

  • Giới thiệu về Swagger Module

  • Enabling CLI Plugin                      

  • Decorating Model Properties        

  • Adding Example Responses

  • Using Tags to Group Resources

Phần 8. Testing                                   

  • Giới thiệu về Jest                    

  • Chạy thử nghiệm với Test Suites

  • Adding Unit Tests                            

  • Diving Into e2e Tests

  • Creating our First e2e Test

  • Implementing e2e Test Logic     

Phần 9. Add MongoDB with Mongoose

  • Giới thiệu

  • Cài đặt Docker                                 

  • Chạy môi trường MongoDB

  • Giới thiệu Mongoose Module

  • Tạo Mongoose Model

  • Using a Mongoose Model to Access MongoDB

  • Adding Pagination

  • Use Transactions                                                    

  • Adding Indexes to Schemas

Testimonials

CẢM NHẬN CỦA HỌC VIÊN

Aptech luôn chú trọng chất lượng đào tạo, đáp ứng nhu cầu thực tế của doanh nghiệp. Đội ngũ giảng viên giàu kinh nghiệm, nhiệt tình, tận tâm với công việc, luôn sẵn sàng giúp đỡ học viên trong quá trình học tập và làm việc.

Lợi ích vượt trội khi chọn Aptech

HƠN 10 TRIỆU HỌC VIÊN TRÊN THẾ GIỚI ĐÃ CHỌN APTECH LÀ NƠI THĂNG HOA SỰ NGHIỆP

Với chương trình học chú trọng thực hành, sinh viên APTECH luôn được tạo điều kiện để thực hiện các dự án thực tế một cách thành thạo, chuyên nghiệp nhất.

  • Chương trình KỸ LÝ THUYẾT, VỮNG THỰC HÀNH
  • Giảng viên CHUYÊN MÔN CAO, THỰC CHIẾN
  • Chứng chỉ và giáo trình THEO CHUẨN QUỐC TẾ
  • Liên thông nhiều ĐẠI HỌC QUỐC TẾ
  • 95% học viên ra trường CÓ VIỆC LÀM NGAY

ĐĂNG KÝ TƯ VẤN

Vui lòng cung cấp cho chúng tôi thông tin liên hệ

ONLINE SUPPORT

HỖ TRỢ & TƯ VẤN TRỰC TUYẾN

Các chuyên viên tư vấn luôn sẵn sàng trả lời các thắc mắc và tư vấn thông tin chi tiết về các khóa học mà bạn quan tâm.

Hotline: 0236.3.779.779