Node.js & MongoDB – Xây dựng một ứng dụng Messenger trò chuyện trực tuyến

1. Video demo ứng dụng mà các bạn sẽ làm được sau khóa học.

Mình tóm tắt lại sơ sơ những tính năng của ứng dụng nhé (trong video cũng đã mô tả kỹ rồi):

  • Đăng ký đăng nhập đăng xuất tài khoản Local, lưu trực tiếp email và băm mật khẩu của người dùng.
  • Gửi E-mail xác nhận kích hoạt tài khoản.
  • Đăng ký đăng nhập đăng xuất bằng 2 kiểu tài khoản mạng xã hội Facebook & Google.
  • Cập nhật các thông tin của người dùng như ảnh đại diện, tên hiển thị, số điện thoại…vv…
  • Tìm kiếm người dùng để thêm bạn bè.
  • Quản lý danh sách bạn bè, thêm, sửa, xóa, đếm số lượng bạn bè, gửi lời mời kết bạn, hủy yêu cầu, xác nhận bạn bè…vv…
  • Bắn các thông báo real-time thời gian thực khi có thông báo đến, ví dụ khi có ai gửi lời mời kết bạn đến (tương tự facebook)…vv…
  • Phân biệt, đánh dấu & đếm số lượng thông báo đã đọc, chưa đọc.
  • Nhắn tin văn bản kèm các biểu tượng cảm xúc emoji 😀 🙁 …vv
  • Nhắn tin hình ảnh.
  • Nhắn tin tệp đính kèm.
  • Nghe gọi, trò chuyện video trực tuyến.
  • Hiển thị preview các tin nhắn mới nhất, hiển thị typing real-time khi có ai đó chat đến.
  • Cập nhật trạng thái người dùng Online – Offline.
  • Tìm kiếm bạn bè để thêm và tạo một nhóm trò chuyện. Xử lý trò chuyện nhiều người trong nhóm.
  • Xem thêm danh sách bạn bè, danh sách thông báo, danh sách các cuộc trò chuyện (trò chuyện cá nhân, trò chuyện nhóm)…vv…
  Node.js & MongoDB – Xây dựng một ứng dụng Messenger trò chuyện trực tuyến
Pro MERN Stack – Lập Trình Ứng Dụng Web Full Stack với Mongo, Express, React, và Node”]


2. Các bạn sẽ học được những gì từ khóa học này.

Học là phải đi đôi với thực hành, nếu chỉ học basic cơ bản mà không có cơ hội áp dụng vào một ứng dụng lớn cụ thể thì sẽ rất khó cho các bạn mới. Nên mình đã soạn ra khóa học này.

  • Node.js & MongoDB:
    Dĩ nhiên chắc chắn phải nói đến đầu tiên là Node.js và MongoDB trước rồi, một cách cụ thể hơn, các bạn sẽ nắm được rất nhiều kỹ thuật xử lý Javascript nâng cao trên platform Node.js và framework Express.js, cùng kết hợp tương tác với cơ sở dữ liệu MongoDB để lưu trữ dữ liệu.
  • Xử lý bất đồng bộ trong javascript:
    Các kỹ thuật coding Javascript ES6Promise + Async – Await từ cơ bản đến nâng cao, áp dụng vào các trường hợp, các bài toán làm dự án cụ thể, từ đó các bạn sẽ có nhiều kinh nghiệm lập trình hơn là việc chỉ học và làm các ví dụ basic.
  • Phân tích thiết kế cơ sở dữ liệu:
    Cách để lên ý tưởng, dựa vào ý tưởng rồi thiết kế cơ sở dữ liệu, áp dụng coding với MongoDBđể lưu trữ dữ liệu cho ứng dụng.
  • Xử lý Real-time:
    Các kỹ thuật xử lý real-time thời gian thực sử dụng Web Socket & module Socket.IO
  • Streaming Video với công nghệ Web RTC:
    Công nghệ Web RTCPeer to PeerTurn Server là gì và ứng dụng chúng vào việc streaming video trực tuyến giữa các người dùng với nhau, hay gọi đơn giản là chức năng call video trực tuyến real-time.
  • Các kiến thức xử lý giao diện – Front-end:
    Các kiến thức nâng cao về HTML – HTML5, CSS – CSS3, xử lý DOM với Javascript & Jquery, Ajax request… và áp dụng vào từng bài toán xử lý hiển thị ứng dụng phía client.
  • Nâng cao về Design Pattern, tư duy logic code:
    Tới một góc nhìn bao quát và nâng cao hơn là sau khóa học, các bạn có thể làm được và nắm vững được trong tay cách để tạo ra một Design Pattern tối ưu cho dự án.
    Một luồng Request API hoạt động như thế nào, chạy từ đâu tới đâu, clientsroutingcontrollerservicesmodel…vv…
  • Coding conventicons, clean code, sử dụng Git – GitHub:
    Cho tới việc coding conventionsclean code, các kỹ thuật sử dụng Git – Github chuyên nghiệp trong quy trình làm việc nhóm – Teamwork thực tế mà ít nơi nào có thể dạy cho các bạn trước khi các bạn đi làm.
  • Chia sẻ Tip tricks, những kinh nghiệm xử lý logic code:
    Và còn rất nhiều những tip tricks, những kinh nghiệm từ quá trình đi làm dự án thực tế của mình cũng áp dụng và truyền đạt lại cho các bạn trong khóa học này.
  • 58 Video hướng dẫn rõ ràng chi tiết từ A-Z, từ những dòng code đầu tiên:
    Còn về ứng dụng, chắc chắn mình sẽ hướng dẫn rõ ràng từ A-Z, từ dòng code số 0 trở đi cho các bạn để khi học hết khóa học, các bạn sẽ làm được một ứng dụng Mesenger hoàn chỉnh các chức năng như trong video mình demo ở trên.

 

3. Khóa học này phù hợp với những đối tượng như thế nào?

Quan trọng:

– Trước hết, có một điều mình cần làm rõ với các bạn luôn, đó là mình không đi theo lối dạy basic cơ bản như rất nhiều khóa học trên mạng hiện tại, mà mình dạy các bạn làm một dự án thực tế (như trong video mình đã giới thiệu).
– Chính vì vậy mà mỗi video mình làm ra trung bình sẽ dao động trong khoảng 30 phút đến 1 tiếng, có vài cái nhiều hơn một chút, vì khi làm dự án thực tế những tính năng có khi phải mất đến 1 hoặc 2 ngày mới xong, nên con số 30 phút hay 1 tiếng là không thể giảm hơn được nữa.
– Nên nếu đọc đến đây, bạn nào tự thấy không thể kiên nhẫn xem một cái video dài thì có thể dừng lại nhé.

Một điều quan trọng nữa mà mình muốn nhấn mạnh trong phần này đó là:
“Không cần bạn phải có một bộ não xuất sắc, hay là IQ cao thì mới học được lập trình, mà điều thực sự quan trọng mình mong ở các bạn là phải rèn được đức tính kiên trì, sự chịu khó tìm tòi học hỏi, thì bạn đã dư khả năng để theo ngành lập trình này rồi.”

Trước khi đến với khóa học này, mình cần các bạn phải là người có kiến thức nền tảng cơ bản về lập trìnhngôn ngữ nào cũng được, ưu tiên nhất vẫn là Javascript.

Tại sao phải cần có nền tảng về lập trình? Vì khóa học của mình không dạy các bạn if – else hay for, while…. là gì, đó là những kiến thức rất căn bản, mà mình sẽ dạy các bạn sử dụng chúng cho mục đích hoàn thành công việc.

Các bạn có thể xem thêm trong bài viết này của mình, Nodejs không dành cho người mới tinh, tờ giấy trắng.

Các kiến thức nền tảng về HTML – CSS – Javascript – Jquery ở mức cơ bản. Những kiến thức này rất dễ học và học rất nhanh, các bạn chỉ cần follow theo các đường link dưới đây thôi:
HTML: https://www.w3schools.com/html/default.asp
CSS: https://www.w3schools.com/css/default.asp
Javascript: https://www.w3schools.com/js/default.asp
Jquery: https://www.w3schools.com/jquery/default.asp

Node.js và MongoDB cơ bản, cái này nếu các bạn có thì càng tốt, còn nếu các bạn chưa có kiến thức này thì cũng không vấn đề gì, các bạn vẫn sẽ học được khóa học của mình.
Mình vẫn khuyến khích các bạn tham khảo qua trước 2 liên kết dưới đây thì sẽ dễ dàng hơn với các bạn trong quá trình học:
Node.js: https://www.w3schools.com/nodejs/
MongoDB: https://www.w3schools.com/nodejs/nodejs_mongodb.asp

Có thể bạn quan tâm:

TopDev via trungquandev

  Làm thế nào để code jquery một cách tối ưu hơn