1. Trang chủ
  2. » Luận Văn - Báo Cáo

v4 0 nest js basic docs thuc tap tot nghiep

190 3 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Nest.JS với TypeScript/MongoDB Siêu Dễ
Tác giả Hỏi Dân IT, Eric
Thể loại Graduation project
Năm xuất bản 2024
Định dạng
Số trang 190
Dung lượng 3,56 MB

Nội dung

Giới thiệu về khóa học và tác giả, cũng như demo kết quả đạt được sau khi kết thúc khóahọc này.- Hiểurõ,thựchànhvàápdụngđượcngônngữTypescriptchodựánNestJS- XâydựngtưduyBackendvớitính“mởr

Trang 7

- CầncókiếnthứcvềMongoDB(sửdụngvớiMongoose).Nếuchưabiết,bạncó

thểthamkhảokhóahọcnày:

mongodb?id=640b539cfe283eefef939870

https://hoidanit.com.vn/course/backend-restful-server-voi-nodejs-va-express-sql-Mộtvàiyêucầukiênquyết:

- CàiđặtmôitrườngNode.JS:trongkhóahọcnày,máytínhcủamìnhdùng

versionNode.JS16.20.0Đểhạnchếlỗi,cácbạnnêndùngversiontrên.(v16.20.0)CóthểdùngNVMđểsửdụngnhiềuversioncủaNode.JStrêncùngmáytínhVềNPM,xemtại:

https://www.youtube.com/watch?v=ccjKHLyo4lM&list=PLncHg6Kn2JT6E38Z3kit9Hnif1xC_9VqI&index=40

- CàiđặtGit:cácthaotácvớiGitvàsửdụngGithub,mìnhkhônghướngdẫn.Bạn

nàochưabiếtdùngGit,xemtạiđây:

https://www.youtube.com/watch?v=-BtolPy15fg&list=PLncHg6Kn2JT6nWS9MRjSnt6Z-9Rj0pAlo

- CàiđặtVisualStudioCode:đâylàcôngcụdùngđểcode

6

Trang 9

4 NẾUBẠNTHẤYKHÓAHỌCHAY,HÃYBIẾTDONATEĐỂỦNGHỘTÁCGIẢ.LINK

DONATE:https://hoidanit.github.io/official/donateHànhđộngnhỏnhưngmangýnghĩalớn.Hãyvì1cộngđồngITViệtNampháttriển.Nếulàmnhưcácbạn,cólẽchúngtađãkhôngcóIphone,khôngcóApplenhưngàynayrồi@@

8

Trang 11

about:blank 11/190

Chapter1:TổngquanvềNest.JS

Giới thiệu tổng quan về Framework Nest.js và trả lời câu hỏi, tại sao chúng ta lại cần

Nest.JS, từ đấy viết chương trình Hello World với Framework này

Trang 16

DựánNest.JSđượcchiathànhcácmodule,phântheochứcnăng

- Cầnchiatheomodule,đểcóthểpháttriểnđộclập,đồngthời,tínhnăngnàysẽít

ảnhhưởngtớitínhnăngkia(on/offtheoýmuốn)-

- Filemain.tssẽchạyappmodules,vàappmodulessẽbaogồmtấtcảcác

modulescon

-Modulesconcóthểbaogồm(hoặckhông)cácmoduleskhácVídụ:đểkếtnốitớidatabase,UsersModulescóthểbaogồmDatabaseModules

Trang 17

about:blank 17/190

Chapter2:NestJSvàTypescript

Tìm hiểu và học cách sử dụng Decorator của Typescript vào Nest.JS, từ đấy nắm vững

cách hoạt động Router và Controller khi sử dụng các Decorator có sẵn do Nest.JS cung

Trang 21

about:blank 21/190

#7.MôhìnhRoutervớiNest.JS

MôhìnhroutercủaNestJS:

20

Trang 25

about:blank 25/190

Chapter3: InversionOfControl

Khi Học về OOP (lập trình hướng đối tượng), một trong các cách dùng để tối ưu hóa ứng

dụng là áp dụng mô hình IoC(Inversion of control) và DI (Dependency injection) Chương

này sẽ giúp chúng ta học cách sử dụng các “design pattern” trên vào framework Nest.JS

Trang 26

}

Trang 33

about:blank 33/190

Chapter4:NestJSvàMVC

NestJS cũng có đủ khả năng và sức mạnh để làm Server theo mô hình MVC truyền thống

Tại đây, chúng ta sẽ tìm hiểu về View Engine, cách viết code theo mô hình

Model-View-Controller và các nhược điểm đang còn tồn đọng của mô hình này

Trang 34

-KhôngcóModel?

Trang 37

about:blank 37/190

Chapter5:ConnectDatabase

Trong chương này, chúng ta sẽ cùng nhau kết nối backend tới Database bằng cách sử

dụng MongoDB Ngoài ra, sẽ tối ưu hóa cách sử dụng “hằng số”, dựa vào cách sử dụng

tham số môi trường (.env) với Nest.JS Config

Trang 42

Ngoài khả năng có thể tạo server theo mô hình MVC, Nest.JS cũng có thể làm server

Restful APIs Chúng ta sẽ cùng nhau viết nhanh module Users theo đúng chuẩn Restful,

sử dụng các công cụ có sẵn của Nest.JS, bao gồm generate resources, schema,

Trang 49

about:blank 49/190

Chapter7:StatefulvàStateless

Mọi website đều hoạt động dựa trên mô hình Stateful và Stateless Ở đây, chúng ta cần

nắm vững, hiểu rõ và có khả năng phân biệt điểm khác nhau của 2 mô hình này, bởi vì,

việc chúng ta lựa chọn mô hình nào, nó sẽ quyết định cách thức tổ chức code cho dự án

+login: /stateless/login =>truyềnbodygồmusernamevàpassword

+getusers /stateless/user =>cầntruyềnbearertokenởheaderrequest

48

Trang 50

]

Trang 57

about:blank 57/190

Chapter8:JWT-JsonWebToken

Sử dụng mô hình Stateless, server sẽ không có “session” để kiểm tra user có hợp lệ hay

không, nên JWT (Json web token) là một giải pháp rất phổ biến được dùng cho mô hình

này Ở đây, chúng ta sẽ tìm hiểu về JWT, cũng như áp dụng nó để xác thực người dùng

Trang 70

LuồngprotectedroutesvớiJWT(cầntruyềnlênJWTởheaderrequest)

Trang 71

about:blank 71/190

Chapter9:Tưduyphântíchdatabase

Giới thiệu đề tài dự án thực hành cuối khóa, cũng như tư duy phân tích database, cách

thiết kế table và mối quan hệ giữa các đối tượng trong dự án thực hành

Trang 77

about:blank 77/190

Chapter10:MongoosePlugins

Để có thể sử dụng Mongoose (MongoDB) hiệu quả, chúng ta sẽ cùng nhau cài đặt các

plugin hỗ trợ việc Query/Filter kết quả, thực hiện “soft-delete”, tự động tạo “timestamp” và

đặc biệt, khắc phục lỗi CORS với Nest.JS

Trang 80

Linksourcecodegithub:https://github.com/harypham/react-for-nest

Sourcecodefinal(cảkhóahọc)sẽlànhánhmaster

Lưuý:checkoutcodetheotừngmodulesđểthựchànhsongsongvớibackend

Trang 85

about:blank 85/190

Chapter11:ModulesCompany

Bài tập thực hành: tạo module “Company” Ngoài việc thực hiện CRUD, chúng ta sẽ tìm

hiểu cách phân trang (paginate data), sử dụng Interceptor để xử lý data trước khi trả về

client, customize message response cũng như “đánh version” cho API

Trang 87

return{

access_token:this.jwtService.sign(payload),_id,

name,email,role};

}

86

Trang 97

about:blank 97/190

Trang 99

about:blank 99/190

Trang 101

about:blank 101/190

Trang 103

about:blank 103/190

Trang 105

about:blank 105/190

Trang 107

about:blank 107/190

Trang 109

about:blank 109/190

Trang 111

about:blank 111/190

Trang 113

about:blank 113/190

Trang 115

about:blank 115/190

Trang 117

about:blank 117/190

Trang 119

about:blank 119/190

Trang 121

about:blank 121/190

Trang 123

about:blank 123/190

Trang 125

about:blank 125/190

Trang 127

about:blank 127/190

Trang 129

about:blank 129/190

Trang 131

about:blank 131/190

Trang 133

about:blank 133/190

Trang 135

about:blank 135/190

Trang 137

about:blank 137/190

Trang 139

about:blank 139/190

Trang 141

about:blank 141/190

Trang 143

about:blank 143/190

Trang 145

about:blank 145/190

Trang 147

about:blank 147/190

Trang 149

about:blank 149/190

Trang 151

about:blank 151/190

Trang 153

about:blank 153/190

Trang 155

about:blank 155/190

Trang 157

about:blank 157/190

Trang 159

about:blank 159/190

Trang 161

about:blank 161/190

Trang 163

about:blank 163/190

Trang 165

about:blank 165/190

Trang 167

about:blank 167/190

Trang 169

about:blank 169/190

Trang 171

about:blank 171/190

Trang 173

about:blank 173/190

Trang 175

about:blank 175/190

Trang 177

about:blank 177/190

Trang 178

Tàiliệu:https://docs.nestjs.com/security/rate-limiting

npmi save@nestjs/throttler@4.1.0

Trang 179

in 'header': ,},

Trang 182

}

3.Devops

prometheusvsgrafana

Trang 184

//getimageextensionletextName=path.extname(file.originalname);

//getimage'sname(withoutextension)letbaseName=path.basename(file.originalname,extName);

letfinalName=`${baseName}-${Date.now()}${extName}`

cb(null,finalName)},

},

limits:{

fileSize:1024*1024*1//1MB}

};

}

Ngày đăng: 06/05/2024, 11:55

TỪ KHÓA LIÊN QUAN

w