XÂY DỰNG ỨNG DỤNG WEB ENTERPRISE VỚI NESTJS (NODE)
GIỚI THIỆU CHƯƠNG TRÌNH
- 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.
MỤC TIÊU KHOÁ HỌC
+ Becoming familiar with the NestJS framework and its components.
+ Designing and developing REST APIs performing CRUD operations.
+ Authentication and Authorization for back-end applications.
+ Using TypeORM for database interaction.
+ Security best practices, password hashing and storing sensitive information.
+ Persisting data using a database.
+ Deploying back-end applications at a production-ready state to Amazon Web Services.
+ Writing clean, maintainable code in-line with industry standards.
+ Utilising the NestJS Command Line Interface (CLI).
+ Using Postman for testing back-end services.
+ Using pgAdmin as an interface tool to manage PostgreSQL databases.
+ Implement efficient logging in a back-end application.
+ Environment-based configuration management and environment variables.
+ Implementing data validation and using Pipes.
+ Guarding endpoints for authorized users using Guards.
+ Modelling entities for the persistence layer.
+ TypeScript best practices.
+ Handling asynchronous operations using async-await.
+ Using Data Transfer Objects (DTO).
+ Hands-on experience with JSON Web Tokens (JWT).
+ Unit testing NestJS applications.
+ Using GraphQL with NestJS.
+ Database persistence with MongoDB.
ĐỐI TƯỢNG THAM GIA KHOÁ HỌC
+ Các bạn có hiểu biết cơ bản về JavaScript và / 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.
NỘI DUNG KHOÁ HỌC:
Tóm tắ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
Chi tiết chương trình học:
+ 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
+ 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
+ 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
+ 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
+ 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
+ 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
+ Generating OpenAPI Specification
Giới thiệu về Swagger Module
Enabling CLI Plugin
Decorating Model Properties
Adding Example Responses
Using Tags to Group Resources
+ 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
+ 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
THÔNG TIN LIÊN HỆ
Phòng tư vấn, tuyển sinh
Tòa nhà VNPT, 38 Yên Bái, Quận Hải Châu, TP Đà NẵngĐiện thoại: 0236.3.779.779
Fax: 0236.3.779.555
Email: tuyensinh@softech.vn