NodeJS Pro - Tự Học từ số 0 (MVC, REST APIs, SQL/MongoDB)
Xây Dựng Backend Node.js Từ Số 0 (Express.js/TypeScript/Prisma/Mongoose)
Xây Dựng Backend Node.js Từ Số 0 (Express.js/TypeScript/Prisma/Mongoose)
NodeJS Pro - Tự Học từ số 0 (MVC, REST APIs, SQL/MongoDB) là một khóa học giúp các bạn beginners có thể học, hiểu và thực hành xây backend website từ số 0, bằng cách sử dụng platform Node.js và framework Express.
Khóa học này bao gồm 03 dự án thực hành:
I.Dự án thực hành 01 (mô hình MVC/SSR): từ chapter 1 tới hết chapter 13
Công nghệ sử dụng:
- Framework Express.js (version 5x) làm backend với cơ chế SSR (Server side rendering), sử dụng view/template engine EJS
- Database SQL (MySQL) với ORM Prisma
- Quản lý session với Prisma và Passport.js
- Thực hành dự án laptopshop, sử dụng TypeScript
II.Dự án thực hành 02 (RESTful API với SQL/Prisma, fullstack React/Express): từ chapter 14 tới hết chapter 15
Công nghệ sử dụng
- Framework Express.js (version 5x) viết RESTful APIs với TypeScript
- Database SQL (MySQL) với ORM Prisma
- Frontend React (Vite/Typescript)
- Xác thực người dùng với cơ chế middleware sử dụng JSON Web Token (JWT)
- Thực hành dự án fullstack CRUD cơ bản (Express/React)
III.Dự án thực hành 03 (Restful API với MongoDB/Mongoose): các chapter bắt đầu với từ NoSQL
- Framework Express.js viết RESTful APIs với JavaScript
- Database NoSQL (MongoDB) với ODM Mongoose
---
Các nội dung trọng tâm của khóa học có thể kể tới như:
- Hiểu các nguyên lý, các thành phần chủ chốt khi xây dựng một website, bao gồm, frontend, backend và database.
- Cài đặt và sử dụng môi trường Node.js để xây dựng server website với Javascript và TypeScript
- Tạo server Backend Node.js với Framework Express
- Xây dựng Server Backend với SSR (Server side rendering): ORM với Prisma và MySQL
- Xây dựng Server Backend như là Restful APIs, giúp thực hiện CSR (Client side rendering): ORM với Mongoose và MongoDB
- Thực hành ứng dụng Fullstack (React/Node.js) với backend tự tạo
Bằng các tập trung vào các nội dung trọng tâm trên, các ví dụ được đưa ra theo góc nhìn của 'người chưa biết gì' về backend, cũng như sử dụng Framework Express, mình hi vọng đây chính là khóa học dành cho các bạn 'mất gốc', chưa có nền tảng về backend, có thể học & hiểu 'cơ chế' để xây dựng một server webiste một cách thực thụ.
Hi vọng các bạn tìm thấy nhiều điều hữu ích từ khóa học này.
Khu vực Câu hỏi thường gặp trống
Dự án thực hành 01 (mô hình MVC/SSR/Express/Prisma)
Xem trướcDự án thực hành 02 (RESTful API với SQL/Prisma, FullStack React/Express)
Xem trướcDự án thực hành 03 (RESTful API với MongoDB/Mongoose)
Xem trướcNote về tên chapter
Xem trướcHướng Dẫn Sử Dụng Tính Năng Role Play (Nhập Vai)
Xem trướcHướng Dẫn Sử Dụng Udemy Dành Cho Người Mới Bắt Đầu
Xem trướcCách Hỗ Trợ/Support Trong Quá Trình Học (Bắt Buộc Xem)
Xem trướcDự án thực hành 01 (mô hình MVC/SSR/Express/Prisma)
Xem trướcDự án thực hành 02 (RESTful API với SQL/Prisma, FullStack React/Express)
Xem trướcDự án thực hành 03 (RESTful API với MongoDB/Mongoose)
Xem trướcNote về tên chapter
Xem trướcHướng Dẫn Sử Dụng Tính Năng Role Play (Nhập Vai)
Xem trướcHướng Dẫn Sử Dụng Udemy Dành Cho Người Mới Bắt Đầu
Xem trướcCách Hỗ Trợ/Support Trong Quá Trình Học (Bắt Buộc Xem)
Xem trước#0.1 AI Đã Thay Đổi Cách Học Code Như Thế Nào ?
Xem trước#0.2 Vibe Coding Là Gì? Fundamental-driven Approach
Xem trước#0.3 Workflow: Prompt → Generate → Understand → Verify
Xem trước#0.4 Khi Nào Không Nên Dùng AI
Xem trước#0.5 Kinh Nghiệm Sử Dụng Trợ Lý AI
Xem trước#0.6 Prompting Fundamentals Cho Developers
Xem trướcTổng quan về chapter
Xem trướcLịch sử version của JavaScript
Xem trướcSử dụng Var/Let/Const
Xem trướcJavaScript DataType
Xem trướcArrow Function
Xem trướcTemplate literals (Template strings) | Backtick
Xem trướcDestructuring Assignment
Xem trướcToán tử ?. và ??
Xem trướcES Module và Common Module
Xem trướcAsync Await Promise
Xem trướcSử dụng với TypeScript
Xem trước[Nhập Vai] JavaScript & TypeScript Review – Mock Interview for Beginners
#9. Chuyện Cài Đặt Công Cụ (Bắt Buộc Xem)
Xem trước#10. Cài đặt Node.js
Xem trước#11. Sử Dụng Node.JS với NVM (Extra)
Xem trước#12. Cài đặt Visual Studio Code (VSCode)
Xem trước#13. Cấu hình Visual Studio Code
Xem trước#14. Tại sao mình dùng VScode ?
Xem trước#15. Cài đặt và sử dụng Git
Xem trước#16. Cài đặt Google Chrome
Xem trước#17. Tổng quan về chapter
Xem trước#18. Node.JS có thể làm gì ?
Xem trước#19. Việc làm về Node.js
Xem trước#20. Hello World với Node.js (CLI)
Xem trước#21. Cách đẩy dự án lên Github/Gitlab của chính bạn
Xem trước#22. NPM là gì
Xem trước#23. Cài đặt Express
Xem trước#24. Hello World với Express (JavaScript)
Xem trước#25. Setup TypeScript cho dự án Node.js
Xem trước#26. Hello World với Express (TypeScript)
Xem trước#27. Mô hình hoạt động của Express (Extra)
Xem trước[Nhập Vai] Hello World với Node.js & Express – Mock Interview for Beginners
#28. Tổng quan về chapter
Xem trước#29. Setup DevTool
Xem trước#30. ENV (Environment Variables)
Xem trước#31. More routes
Xem trước#32. Template (View) Engine
Xem trước#33. Mô Hình MVC (Model - View - Controller)
Xem trước#34. Tổ chức thư mục cho dự án
Xem trước#35. Cấu Hình Static Files
Xem trước#36. Áp dụng mô hình MVC với Node.js (Part 1)
Xem trước#37. Design Giao Diện
Xem trước#38. Giới thiệu về HTML Form
Xem trước#39. Áp dụng mô hình MVC với Node.js (Part 2)
Xem trước#40. Setup Debug Node.js (Extra)
Xem trước[Nhập Vai] Mô Hình MVC với Express – Mock Interview for Beginners
#41. Tổng quan về chapter
Xem trước#42. Database là gì ?
Xem trước#43. Cài Đặt MySQL Workbench
Xem trước#44. Tạo Fake Data với MySQL
Xem trước#45. Setup MySQL với Node.js
Xem trước#46. Hiển thị Users (Part 1)
Xem trước#47. Hiển thị Users (Part 2)
Xem trước#48. Tạo mới user
Xem trước#49. Setup Absolute Import (TypeScript)
Xem trước#50. Route Parameters
Xem trước#51. Xóa User
Xem trước#52. Xem chi tiết User
Xem trước#53. Cập nhật User
Xem trước#54. Tổng kết về mô hình MVC
Xem trước#55. Nhận xét về cách làm hiện tại
Xem trước[Nhập Vai] Sử Dụng Database (SQL) với Express – Mock Interview for Beginners
#56. Tổng quan về chapter
Xem trước#57. ORM là gì ?
Xem trước#58. Sử dụng ORM với Node.js
Xem trước#59. Setup Prisma
Xem trước#60. Prisma Client (CREATE)
Xem trước#61. Prisma Client (READ)
Xem trước#62. Prisma Client (UPDATE)
Xem trước#63. Prisma Client (DELETE)
Xem trước#64. Các thành phần của Prisma (Extra)
Xem trước[Nhập Vai] Sử Dụng ORM với Prisma – Mock Interview for Beginners
#65. Nhìn lại các kiến thức đã học
Xem trước#66. Phân tích yêu cầu dự án thực hành
Xem trước#67. Phân Tích Tác Nhân sử dụng hệ thống
Xem trước#68. Phân Tích Thiết Kế Database
Xem trước#69. Design Models cho database
Xem trước#70. Prisma Schema
Xem trước#71. Thực Hành Tạo Models & Tables (Extra)
Xem trước#72. Định nghĩa Models
Xem trước#73. Cập nhật Models
Xem trước#74. Tổng quan về chapter
Xem trước#75. Design Giao Diện Admin
Xem trước#76. Chia Layout Admin
Xem trước#77. Hoàn thiện Layout Admin
Xem trước#78. Design Upload File
Xem trước#79. Image với Preview
Xem trước#80. Nơi nào để lưu trữ file ?
Xem trước#81. Upload file với Node.js (Multer)
Xem trước#82. Hoàn thiện tính năng Upload file (Part 1)
Xem trước#83. Hoàn thiện tính năng Upload file (Part 2)
Xem trước#84. Hash User Password
Xem trước#85. Quan Hệ Cho Model - Relationships
Xem trước#86. One-to-Many Relationship
Xem trước#87. Hoàn thiện tính năng CRUD User (Part 1)
Xem trước#88. Hoàn thiện tính năng CRUD User (Part 2)
Xem trước[Nhập Vai] Module User với Upload File & Relationships – Mock Interview for Beginners
#89. Tổng quan về chapter
Xem trước#90. Design Giao Diện Trang Chủ
Xem trước#91. Chia Layout Client
Xem trước#92. Bài tập Design View Detail Product
Xem trước#93. Hoàn thiện Layout Client
Xem trước#94. Bài tập Design Giao Diện Thêm mới Product
Xem trước#95. Validate Form Input
Xem trước#96. Validate với Zod
Xem trước#97. Hiển thị thông báo lỗi
Xem trước#98. Bài tập Thêm mới Product
Xem trước#99. Bài Tập Update/Delete Product
Xem trước#100. Load Động Data Product cho HomePage
Xem trước#101. Xem Chi Tiết Product
Xem trước[Nhập Vai] Module Product – Mock Interview for Beginners
#102. Tổng quan về chapter
Xem trước#103. Bài Tập Design giao diện Login/Register
Xem trước#104. Bài Tập Tính Năng Register
Xem trước#105. Middleware là gì ?
Xem trước#106. Giới thiệu về Passport.js
Xem trước#107. Tích hợp Passport.js và Express (Part 1)
Xem trước#108. Tích hợp Passport.js và Express (Part 2)
Xem trước#109. Sử dụng Session (Memory)
Xem trước#110. Hiển thị Message Lỗi
Xem trước#111. Session với Prisma
Xem trước#112. Giải Thích Mô Hình Hoạt Động của Passport và Session (Extra)
Xem trước#113. Protected Route (Part 1) - Res.locals
Xem trước#114. Protected Route (Part 2)
Xem trước#115. Logout
Xem trước#116. Tối ưu Routes (Extra)
Xem trước[Nhập Vai] Module Auth – Mock Interview for Beginners
#117. Tổng quan về chapter
Xem trước#118. Phân tích chức năng Giỏ Hàng
Xem trước#119. Thêm sản phẩm vào Giỏ Hàng (Create)
Xem trước#120. Thêm sản phẩm vào Giỏ Hàng (Update)
Xem trước#121. Design giao diện chi tiết Giỏ Hàng
Xem trước#122. Bài tập Chức năng chi tiết Giỏ hàng
Xem trước#123. Xử lý tăng/giảm Product trong Cart
Xem trước#124. Bài Tập Xóa Product từ Cart
Xem trước#125. Design Giao Diện Thanh Toán (Checkout)
Xem trước#126. Hoàn thiện tính năng Giỏ Hàng
Xem trước127. Chức năng Đặt Hàng (Place Order)
Xem trước#128. Bài tập Quản lý Order tại Admin
Xem trước#129. Bài tập Chức năng Lịch Sử Mua Hàng
Xem trước#130. Xây dựng Dashboard
Xem trước#131. Prisma Transaction (Extra) - Part 1
Xem trước#132. Prisma Transaction (Extra) - Part 2
Xem trước[Nhập Vai] Module Cart & Order – Mock Interview for Beginners
#133. Tổng quan về chapter
Xem trước#134. Tại sao cần phân trang (Pagination) Data ?
Xem trước#135. Khái Niệm Offset/Limit
Xem trước#136. Khái niệm Query String
Xem trước#137. Design Pagination (Admin)
Xem trước#138. Prisma Pagination
Xem trước#139. Hoàn Thiện Fetch Users với Pagination
Xem trước#140. Bài tập Pagination
Xem trước#141. Bài Tập Chức Năng Product (Client)
Xem trước#142. Fix Giao Diện Client (Optional)
Xem trước#143. Filter và Sorting với Prisma
Xem trước#144. Bài Tập Filter và Sorting
Xem trước#145. Chữa Bài Tập Filter và Sorting
Xem trước#146. Xử lý JavaScript truyền động URL Filter
Xem trước#147. Xử Lý Nhiều Điều Kiện Filter
Xem trước[Nhập Vai] Pagination & Query Filter – Mock Interview for Beginners
#153. Tổng quan về chapter
Xem trước#154. API là gì ?
Xem trước#155. Restful API là gì ?
Xem trước#156. GET Method
Xem trước#157. GET All Users API
Xem trước#158. Quy tắc đặt tên URL trong Restful API
Xem trước#159. GET a User API
Xem trước#160. POST Method
Xem trước#161. Create a User API
Xem trước#162. Put Method
Xem trước#163. Update a User API
Xem trước#164. Phân Biệt PUT và PATCH
Xem trước#165. Delete Method
Xem trước#166. Delete User API
Xem trước[Nhập Vai] RESTful APIs với SQL – Mock Interview for Beginners
#167. Tổng quan về chapter
Xem trước#168. Authentication là gì?
Xem trước#169. Authentication vs Authorization
Xem trước#170. Các phương pháp Authentication phổ biến
Xem trước#171. JSON Web Token (JWT)
Xem trước#172. Mô Hình Áp Dụng JWT và RESTful API
Xem trước#173. API Login
Xem trước#174. JWT Middleware
Xem trước#175. Verify Token
Xem trước#176. API Fetch Account
Xem trước#177. Fix lỗi CORS
Xem trước#178. Test Full Dự Án (Frontend+Backend)
Xem trước#179. Setup dự án thực hành Frontend
Xem trước#180. Frontend: Chia Layout
Xem trước#181. Frontend: Design Login
Xem trước#182. CORS là gì ?
Xem trước#183. Backend: Fix Lỗi CORS
Xem trước#184. Frontend: Tính Năng Login
Xem trước#185. Frontend: React Context
Xem trước#186. Frontend: API Fetch Account
Xem trước#187. Frontend: Hiển Thị Loading
Xem trước#188. Frontend: Hoàn Thiện CRUD Users
Xem trước#189. Nhận Xét về Ưu/Nhược Điểm của JWT
Xem trước#190. Các Bước Phát Triển Tiếp Theo
Xem trước[Nhập Vai] JWT & Authentication Flow – Mock Interview for Beginners
#8. What is Node.JS
Xem trước#9. NPM - Node Package Manager
Xem trước#10. Hello world với Node.js (basic)
Xem trước#11. Các thành phần của URL (bổ trợ)
Xem trước#12. Hello world với Node.js (advance)
Xem trước#13. Cài Đặt Thư Viện Node.JS với NPM
Xem trước#14. Hello world với Express
Xem trước#15. Do We Need Babel ?
Xem trước#16. Mô hình hoạt động của Express
Xem trước#17. More Routes
Xem trước#18. Template (View) Engine
Xem trước#26. Why Docker ?
Xem trước#27. Sử dụng Docker
Xem trước#28. Docker Hub
Xem trước#29.1 Relational Database (Sử dụng Docker)
Xem trước#29.2 Relational Database (Không dùng Docker)
Xem trước#30. Sử Dụng MySQL với Node.JS
Xem trước#31. Tái Sử Dụng Connection
Xem trước#32. Connection Cost - Tạo Mới Connection ?
Xem trước#33. Connection Pool Pattern
Xem trước#34. Test Performance Query Database
Xem trước#35. Design NavBar
Xem trước#36. Design Form Add New User
Xem trước#37. Express và Req.body
Xem trước#38. Chức Năng Create User
Xem trước#39. Design List Users
Xem trước#40. Query List Users
Xem trước#41. Display List Users
Xem trước#42. Design View Edit User
Xem trước#43. Route Params
Xem trước#44. Get User By Id
Xem trước#45. Update A User
Xem trước#46. Delete Form Delete User
Xem trước#47. Delete User By Id
Xem trước#48. Cải Thiện Trải Nghiệm Giao Diện với Javascript
Xem trước#49. Ưu Nhược Điểm Của Cách Làm Hiện Tại
Xem trước#50. Học Gì Tiếp Theo với SQL ?
Xem trước#57. Create Connection
Xem trước#57.1 Lưu ý về self running function
#58. Connection Options
Xem trước#59. Create Database
Xem trước#60. Create Schema & Model
Xem trước#61. Create A User
Xem trước#62. Display List Users
Xem trước#63. Update A User
Xem trước#64. Delete A User
Xem trước#65. Setup Postman
Xem trước#66. Setup dự án Frontend (To do with docker)
#67. Vai Trò của Web Server
Xem trước#68. JSON & APIs
Xem trước#69. Restful là gì
Xem trước#70. Status Code
Xem trước#71. GET Method
Xem trước#72. GET All Users API
Xem trước#73. POST Method
Xem trước#74. Create User API
Xem trước#75. PUT Method
Xem trước#76. Update User API
Xem trước#77. PUT vs PATCH
Xem trước#78. DELETE Method
Xem trước#79. Delete User API
Xem trước#80. Giới thiệu Project thực hành
#81. Model Customers
Xem trước#82. Giải pháp lưu trữ file với MongoDB
Xem trước#83. Setup lưu trữ file với Node.js
Xem trước#84. API Upload files
Xem trước#85. Tối Ưu Upload Files
Xem trước#86. Create a customer API
Xem trước#87. Create array of customers API (sử dụng khi import files)
Xem trước#88. Bài tập GET all customer APIs
Xem trước#89. Bài tập Update a customer
Xem trước#90. Soft Delete với Mongodb
Xem trước#91. Delete a Customer API
Xem trước#92. Bài tập Delete Array Customers
Xem trước#93. Query String
Xem trước#94. Req.query
Xem trước#95. Req.params
Xem trước#96. Limit với URL (Giới Hạn của URL)
Xem trước#97. Pagination (offset/limit)
Xem trước#98.Tính toán $limit và $skip
Xem trước#99. API Get Customers with pagination
Xem trước#100. Filter ( Dạng Basic)
Xem trước#101. Bài tập filter (Basic)
Xem trước#102. Query Builder (Advance)
Xem trước#103. Mongoose và MongoDB (Driver) khác nhau như thế nào ?
Xem trước#104. MongoDB Driver
Xem trước#105. Read/Write với Mongodb Driver
Xem trước#106. Data Modeling
Xem trước#107. Embedded Data Models
Xem trước#108. Database References
Xem trước#109. MongoDB Design Pattern
Xem trước#110. Mongoose Subdocuments (Embedded data)
Xem trước#111. Mongoose Reference Documents
Xem trước#112. Design Models with Relationship
Xem trước#113. Tạo Models
Xem trước#114. Bài Tập Tạo Mới Projects
Xem trước#115. Thêm User vào Projects
Xem trước#116. Fetch a Project (with Ref)
Xem trước#117. Bài Tập Về Projects
Xem trước#118. Bài tập CRUD a Task
Xem trước#119. Bài Tập Thêm Users/Projects cho Task
Xem trước#120. Bài tập Add a Task to a Project
Xem trước#121. Bài tập Get Tasks của Projects
Xem trước#122. Validate Data
Xem trước#123. Bài Tập Validate Data
#124. Deploy Database with Mongodb atlas
Xem trước#124.1 Lưu Ý Trước Khi Deploy với Render
#125. Deploy Backend Node.JS With Render
Xem trước#126. Giới Thiệu Boilerplate (Node.JS/Mongoose)
Xem trước#127. Các kiến thức chưa đề cập
Xem trước#128. Login ???
Xem trước#129. Nhận xét về model của mongodb
Xem trước#130. Tổng kết khóa học
Xem trước#131. Về Tính Năng Login Sử Dụng JWT - JSON Web Token (Extra)
Xem trướcCó hiểu cơ bản về HTML, CSS và JavaScript
Có hiểu biết về TypeScript
Có hiểu biết về React (Frontend) là một lợi thế
Học Tư Duy Xây Dựng Backend Server Cho Website
Hiểu & Làm Chủ Server Backend Node.JS Từ Con Số 0
Thực Hành Các Ví Dụ Server Backend Từ Cơ Bản Tới Nâng Cao
Xây Dựng Ứng Dụng Fullstack React/Node.js với TypeScript
Xây Dựng RESTful APIs Server với ExpressJS Framework (TypeScript)
Thực hành database SQL (MySQL) và NoSQL (MongoDB)
Thực hành Coding, Debugging Node.js với TypeScript
Thực hành ORM (Prisma) và ODM (Mongoose)
1.0
1 Học viên
190 Khóa học
1252 Đánh giá
Xin chào các bạn, tôi là Nguyễn Đình Cường, một lập trình viên và giảng viên đam mê công nghệ với hơn 15 năm kinh nghiệm trong ngành công nghiệp phần mềm. Tôi tốt nghiệp từ Bưu Chính Viễn Thông và đã từng làm việc cho một số công ty công nghệ hàng đầu như FPT Software và VinGroup. Với chuyên môn chính là phát triển ứng dụng web, tôi đã làm việc với nhiều công nghệ như HTML, CSS, JavaScript, React cho front-end và Node.js, Express, MongoDB cho back-end. Không chỉ dừng lại ở việc viết mã, tôi còn yêu thích tìm hiểu sâu về thiết kế hệ thống và kiến trúc phần mềm. Tôi tin rằng quá trình học lập trình không chỉ đơn thuần là lý thuyết, mà còn là sự trải nghiệm thực tế và giải quyết vấn đề. Trong các khóa học của mình, tôi cố gắng cung cấp cho học viên những bài giảng thú vị và dễ hiểu, cùng với các bài tập thực hành giúp củng cố kiến thức. Tôi hy vọng rằng qua các khóa học của mình, bạn sẽ không chỉ học được cách viết mã, mà còn phát triển tư duy lập trình và kỹ năng giải quyết vấn đề. Hãy cùng nhau khám phá thế giới lập trình và biến ý tưởng của bạn thành hiện thực! Nếu bạn có bất kỳ câu hỏi nào, đừng ngần ngại liên hệ với tôi. Tôi rất vui được hỗ trợ bạn trong hành trình học tập của mình!
Xem chi tiết