- 22 giờ video theo yêu cầu
- 137 videos hướng dẫn
- 01 tài liệu hướng dẫn theo từng video
- Quyền truy cập đầy đủ suốt đời
- Truy cập trên thiết bị di động và TV
- Luyện Tư Duy Khi Xây Dựng Một Hệ Thống Lớn & Tính Mở Rộng Cao
- Rèn Luyện Kỹ Năng Lập Trình Hướng Đối Tượng Qua Thực Hành
- Thực Hành Xây Dựng Backend phân chia Modules
- Thực Hành NestJS như là server Restful APIs
Video Demo thành quả đạt được sau khi kết thúc khóa học:
Mô tả
I. Giới thiệu về Nest.JS
NestJS là một Backend Framework của Node.js, dùng để phát triển Server-Side Applications hiệu quả và có tính mở rộng cao.
Lợi thế của Nest.js so với cách code backend truyền thống, ví dụ như sử dụng Express:
1. Nest.js cung cấp bộ khung framework được tổ chức dưới dạng modules dễ bảo trì và phát triển thêm.
Bạn code Express, bạn sẽ cần làm từ A tới Z. Với Nest.js, thông qua CLI (command line interface), chỉ một câu lệnh, bạn sẽ có sẵn định dạng code mong muốn.
2.Nest.js áp dụng OOP(Object Oriented Programming), FP(Functional Programming), FRP(Functional Reactive Programming) giúp code gọn gàng và có quy luật.
Với Express, bạn code sao cũng được, miễn sao cho code nó chạy :v
3.Nestjs mặc định sử dụng Typescript để phát triển, giúp tăng trải nghiệm cho lập trình viên: Nestjs đã cấu hình sẵn typescript và không cần phải cài đặt gì thêm.
Bạn vẫn có thể sử dụng javascript để code Nestjs, tuy nhiên nếu làm vậy, sẽ không tận dụng được hết sức mạnh của framework này.
Trong khóa học này, chúng ta sẽ cùng nhau học cách sử dụng Framework Nestjs từ số 0, bắt đầu từ cách tạo project cho tới khi sử dụng với dự án thực hành.
II. Về dự án thực hành
Tên dự án: dự án website đăng tin tuyển dụng, có kết hợp phân quyền người dùng
1. Các tính năng chính
Ngoài các tính năng CRUD (thêm, sửa, xóa, hiển thị), dự án được chia thành các modules:
- Module Users: đăng ký, đăng nhập người dùng theo Role (vai trò)
- Module Permission (quyền hạn): người dùng được phân quyền để sử dụng hệ thống, ví dụ như user, admin...
Đối với từng Role và Permission, người dùng sẽ có giao diện hiển thị khác nhau
- Module Company, Jobs: hiển thị thông tin về công ty và tin tuyển dụng
- Module Subscribers: gửi email thông báo tự động với cron-job
Ngoài ra, còn có các kiến thức nâng cao như tạo giao diện Swagger, tạo Rate Limit, Healcheck, build với docker...
2. Công nghệ sử dụng
Backend: Nest.js (Typescript), database MongoDB (sử dụng ORM với Mongoose)
Frontend: React Vite (typescript), được cung cấp sẵn trong khóa học
3. Các kiến thức bạn học được
- Hiểu rõ và nắm vững các tổ chức của Framework Nest.JS (cấu trúc modules, tự duy IoC - inversion of control, DI (dependency injection).
Vận dụng mô hình MVC, kết hợp với database MongoDB
- Luyện tập sử dụng Restful APIs với Nest.JS (và mongodb / thư viện mongoose)
- Xây dựng Module Authentication, phân biệt rõ ràng khái niệm SSR (server side rendering), CSR (client side rendering). Stateful và Stateless application, cùng với các module khác để thực hiện một dự với phân quyền người dùng sử dụng
- Thực hành dự án sử dụng Nest.JS như là một server cung cấp resftul API cho client sử dụng (với JWT - json web token)
Khóa học này sẽ phù hợp với các bạn đã có kiến thức cơ bản về backend (có hiểu biết về Express/Node.JS là một lợi thế), đồng thời sử dụng database MongoDB
Sau khi kết thúc khóa học, bạn sẽ đủ khả năng để tạo một "backend server" phục vụ nhu cầu cơ bản của website với framework Nest.js
ĐÁNH GIÁ KHÓA HỌC
4.8 trên 5
Tại sao lại lựa chọn khóa học của Hỏi Dân IT ?
Người khác hay so sánh và "làm màu" khóa học của bản thân, cho rằng người ta là nhất, đồng thời hạ thấp các khóa học đang có trên thị trường. Điều này sẽ dẫn tới tình trạng "ảo tưởng sức mạnh về khóa học" và bản thân bạn chính là những "con gà bị lùa."
Mình không thích điều trên, vì mình biết, chẳng ai là hoàn hảo cả. Mỗi khóa học đều có điểm hay và dở của nó. No one is perfect, right ?
Thành ra, bố cục khóa học của mình rất đơn giản. Luôn có video demo thành quả đạt được, cùng với giáo án để bạn hình dung về khóa học.
Mình không thích viết nhiều, vì chỉ cần video demo (hoặc hình ảnh), nó làm đơn giản hóa vấn đề so với việc miêu tả "làm màu" khóa học.
Điều bạn cần làm, để tránh tình trạng "bị lùa gà", chính là 7 nguyên tắc mà mình hay áp dụng:
- 1. Xem kỹ video demo và giáo án khóa học để có góc nhìn tổng quát về các kiến thức sẽ học.
- 2. Mình chỉ chịu trách nhiệm truyền đạt kiến thức - Tức là nội dung giáo án như nào, khóa học sẽ truyền đạt như vậy
- 3. Học xong khóa học của mình, không đồng nghĩa với việc bạn trở thành siêu nhân hay thiên tài. Bạn cần tự làm dự án của bản thân để chuyển hóa kiến thức.
- 4. Mình không cam kết học xong khóa học, kiếm được việc làm lương xxx. Tất cả các khóa học miêu tả như vậy, toàn là "lùa gà", why ? Vì người ta không là công ty tuyển dụng bạn, ok ?
- 5. Việc học khóa học của mình, giống việc bạn đang sử dụng thực phẩm chức năng, không phải là thuốc chữa bệnh. Có nghĩa là, mình cho bạn "cần câu cơm", còn câu được cơm, cá... hay gì, là do bạn quyết định
- 6. Cần tư vấn giải đáp trực tiếp, inbox Facebook mình hỗ trợ
- 7. Mình có nguyên một mục tư vấn các câu hỏi thường gặp, các bạn có thể xem tại đây
Và, có một vài sự thật mà bạn chưa biết về "Hỏi Dân IT":
- 1. Mình tốt nghiệp HUST (back khoa Hà Nội) chuyên ngành CNPM hệ kỹ sư (Software Engineer). Với 3+ năm kinh nghiệm của dân "đúng ngành", và làm lĩnh vực tài chính (or ngân hàng)
- 2. Bạn có thể học từ mình những kinh nghiệm của người làm để rút ngắn quãng đường trở thành senior (không chỉ kỹ năng code)
- 3. Mình có Youtube Hỏi Dân IT để chia sẻ kiến thức IT miễn phí (hơn 40k subscribers)
- 4. Điểm Rating instructor trên Udemy là 4.8 (max là 5), với 3000+ students. Bạn có thể kiểm tra tại Udemy Profile của mình
- 5. Nếu bạn muốn nói chuyện với mình, có thể xem mình livestream trực tiếp tối thứ 2 & thứ 5 hàng tuần trên Youtube Hỏi Dân IT :v
- 22 giờ video theo yêu cầu
- 137 videos hướng dẫn
- 01 tài liệu hướng dẫn theo từng video
- Quyền truy cập đầy đủ suốt đời
- Truy cập trên thiết bị di động và TV