Đồ án HCMUTE: Xây dựng Mạng Xã Hội Hoàn Chỉnh bằng MERN Stack

Đồ án HCMUTE: Xây dựng mạng xã hội với MERN Stack. Tìm hiểu quy trình, công nghệ và kinh nghiệm thực tế từ dự án của sinh viên HCMUTE.

Chuyên ngành

Công Nghệ Thông Tin

Người đăng

Ẩn danh

Thể loại

Đồ án tốt nghiệp

2022

89
3
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CẢM ƠN

ĐỀ CƯƠNG CHI TIẾT CỦA KHÓA LUẬN

MỤC LỤC

DANH MỤC HÌNH

DANH SÁCH CÁC TỪ VIẾT TẮT

1. PHẦN 1: MỞ ĐẦU

1.1. Tính cấp thiết của đề tài

1.2. Mục đích của đề tài

1.3. Nhiệm vụ của đề tài

1.4. Cách tiếp cận và phạm vi nghiên cứu

1.5. Ý nghĩa khoa học và thực tiễn

2. PHẦN 2: NỘI DUNG

1. CHƯƠNG 1: CƠ SỞ LÝ THUYẾT

1.1. Giới thiệu về MERN Stack

1.2. MERN Stack hoạt động như thế nào?

1.3. Cấu trúc của một MERN Stack

1.4. Tại sao chọn MERN Stack

1.5. Nội dung tiêu cực

1.6. Audio / Video Call

2. CHƯƠNG 2: TÌM HIỂU VỀ CÁC MẠNG XÃ HỘI ĐANG HOẠT ĐỘNG

3. CHƯƠNG 3: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG THÔNG TIN DỰ ÁN WEBSITE MẠNG XÃ HỘI

3.1. Đặc tả đề tài

3.2. Mô hình Usecase

3.3. Thiết kế thành phần dữ liệu

3.4. Phân tích thiết kế thành phần chức năng

3.5. Phân tích, thiết kế giao diện và chức năng của giao diện đó

4. CHƯƠNG 4: CÀI ĐẶT DEMO

4.1. Các yêu cầu về môi trường cài đặt và phiên bản phần mềm

4.2. Tổ chức mã nguồn chương trình

4.3. Cài đặt Server

4.4. Cài đặt Client

4.5. Cài đặt Admin

3. PHẦN 3: KẾT LUẬN

3.1. Kết quả đạt được

3.2. Hướng phát triển

DANH MỤC TÀI LIỆU THAM KHẢO

PHỤ LỤC 1: HƯỚNG DẪN CÀI ĐẶT ĐỂ CHẠY ỨNG DỤNG LOCAL

PHỤ LỤC 2: HƯỚNG DẪN SỬ DỤNG DEMO

Tóm tắt

I. Tổng Quan Đồ Án Xây Dựng Mạng Xã Hội MERN Stack 55 ký tự

Sự phát triển của khoa học công nghệ đã tạo ra những thay đổi lớn trong xã hội. Các đột phá công nghệ đặt nền móng cho các hình thức truyền thông mới. Internet bùng nổ, các hình thức truyền thông mới thu hút lượng khán giả lớn. Người dùng Internet, đặc biệt là giới trẻ, tìm kiếm một nơi đáp ứng mọi nhu cầu về thông tin, giải trí, kết nối... và mạng xã hội ra đời để đáp ứng nhu cầu này. Hiện nay có hàng trăm mạng xã hội khác nhau như Facebook, YouTube, TwitterInstagram. Trong thời đại "thế giới phẳng", tiện ích của mạng xã hội là không thể phủ nhận. Chúng mang lại thông tin nhanh, lượng thông tin lớn được cập nhật liên tục, và nhiều chương trình giải trí. Một khía cạnh quan trọng khác là tính năng kết nối, tạo ra sự thay đổi hình thức giao tiếp giữa các nhóm và các quốc gia. Đó là không gian giao tiếp công cộng phi vật thể tạo ra phương thức kết nối mọi người dễ dàng, thuận tiện và nhanh nhất thông qua nhiều hình thức, không bị ràng buộc bởi không gian và thời gian. Do đó, lượng thông tin được chia sẻ là rất lớn, phong phú và đa dạng. Vì vậy, số lượng người sử dụng mạng xã hội ngày càng tăng. Theo tài liệu gốc, "Trong thời đại của cái gọi là ‘thế giới phẳng’ này, chúng ta không thể phủ nhận những tiện ích của mạng xã hội, đặc biệt là trong giới trẻ. Có rất nhiều tiện ích mà mạng xã hội mang lại cho người dùng: Thông tin nhanh, lượng thông tin lớn được cập nhật liên tục, nhiều chương trình giải trí."

1.1. Giới Thiệu Dự Án Mạng Xã Hội MERN Stack Chi Tiết

Dự án tập trung vào việc xây dựng một mạng xã hội sử dụng MERN Stack. Mục tiêu là vận dụng kiến thức đã học từ tiểu luận chuyên ngành để phát triển thêm tính năng cho mạng xã hội. Cụ thể là tính năng tìm kiếm bằng giọng nói, chặn nội dung tiêu cực và một số tính năng như chat group, audio/video call, đếm view. Các nhiệm vụ chính bao gồm: Trình bày cơ sở lý thuyết về các công nghệ sử dụng, tìm hiểu, phân tích và thiết kế hệ thống của một website mạng xã hội, phân tích các tính năng mới và áp dụng vào đề tài. Phạm vi nghiên cứu bao gồm những tác động (tích cực và tiêu cực) của mạng xã hội đến giới trẻ, nhu cầu, thói quen thu thập, tiếp nhận, kết nối, trao đổi, chia sẻ và truyền phát thông tin. Bên cạnh đó, nghiên cứu những công nghệ, những tính năng và cách thức mà một website mạng xã hội duy trì và hoạt động. Các mạng xã hội điển hình như InstagramYouTube được tham khảo. Ý nghĩa khoa học của dự án là giúp ta hiểu được công nghệ MERN stack cũng như cách mà một mạng xã hội hoạt động, góp thêm một góc nhìn về những ảnh hưởng của mạng xã hội đến giới trẻ. Về giá trị thực tiễn, đề tài sẽ nêu chi tiết cách mà một trang web mạng xã hội hoạt động cũng như quy trình và công nghệ tạo ra nó.

1.2. Tại Sao MERN Stack Lại Phù Hợp Cho Dự Án Mạng Xã Hội

MERN Stack là một tập hợp các công nghệ JavaScript mạnh mẽ, bao gồm MongoDB, ExpressJS, ReactJSNodeJS. Sự kết hợp này cho phép xây dựng ứng dụng web full-stack một cách hiệu quả. Tất cả các thành phần đều sử dụng JavaScript, giúp giảm thiểu sự phức tạp trong quá trình phát triển. MongoDB cung cấp một cơ sở dữ liệu linh hoạt, dễ dàng lưu trữ và truy xuất dữ liệu. ExpressJS giúp xây dựng các API RESTful một cách nhanh chóng. ReactJS cho phép tạo ra giao diện người dùng tương tác và hiệu suất cao. NodeJS cung cấp một môi trường runtime phía máy chủ mạnh mẽ. MERN Stack đặc biệt phù hợp cho các dự án mạng xã hội vì nó cho phép phát triển nhanh chóng, dễ dàng mở rộng và cung cấp trải nghiệm người dùng tốt. Ngoài ra, cộng đồng MERN Stack rất lớn, cung cấp nhiều tài nguyên và hỗ trợ cho các nhà phát triển. Nhờ đó, các vấn đề phát sinh trong quá trình phát triển có thể được giải quyết một cách nhanh chóng và hiệu quả. Theo tài liệu, "MERN Stack được tạo ra để cung cấp quá trình phát triển mượt mà hơn. Nó là một nhóm các framework, cơ sở dữ liệu và môi trường thời gian chạy dựa trên JavaScript. Công nghệ này cung cấp một khuôn khổ end-to-end cho các nhà phát triển và nó đang trở nên phổ biến nhanh hơn."

II. Thách Thức Khi Xây Dựng Mạng Xã Hội Với MERN Stack 58 ký tự

Xây dựng một mạng xã hội không phải là một nhiệm vụ dễ dàng. Có rất nhiều thách thức cần phải vượt qua, từ việc thiết kế cơ sở dữ liệu đến việc đảm bảo tính bảo mật và khả năng mở rộng của ứng dụng. Một trong những thách thức lớn nhất là xây dựng một hệ thống authenticationauthorization an toàn. Người dùng cần phải có thể đăng ký, đăng nhập và quản lý tài khoản của họ một cách an toàn. Ngoài ra, cần phải có các biện pháp để bảo vệ người dùng khỏi các cuộc tấn công như cross-site scripting (XSS) và SQL injection. Một thách thức khác là xây dựng một hệ thống quản lý nội dung hiệu quả. Người dùng cần phải có thể tạo, chỉnh sửa và xóa nội dung của họ một cách dễ dàng. Ngoài ra, cần phải có các biện pháp để kiểm duyệt nội dung và ngăn chặn việc đăng tải nội dung không phù hợp. Theo tài liệu gốc, cần phải “Kiểm tra, sửa lỗi, hoàn thành các chức năng và giao diện đã phát triển trong Tiểu Luận Chuyên Ngành. Tìm hiểu, phân tích các công nghệ, các API mới để áp dụng vào đề tài mạng xã hội và phát triển thêm các tính năng khác cho trang web”.

2.1. Bảo Mật Dữ Liệu Người Dùng Trong Mạng Xã Hội MERN Stack

Bảo mật là một yếu tố quan trọng hàng đầu trong bất kỳ ứng dụng web nào, đặc biệt là mạng xã hội, nơi thông tin cá nhân của người dùng được lưu trữ. Trong MERN Stack, có nhiều cách để tăng cường bảo mật. Sử dụng HTTPS để mã hóa tất cả các giao tiếp giữa máy khách và máy chủ. Sử dụng JSON Web Tokens (JWT) để xác thực người dùng. Thực hiện kiểm tra đầu vào để ngăn chặn các cuộc tấn công SQL injectioncross-site scripting (XSS). Sử dụng một thư viện bảo mật như helmet để bảo vệ chống lại các lỗ hổng bảo mật đã biết. Thường xuyên cập nhật các thư viện và framework để vá các lỗ hổng bảo mật mới. Thực hiện các biện pháp bảo mật vật lý để bảo vệ máy chủ khỏi truy cập trái phép. Sử dụng các công cụ giám sát bảo mật để phát hiện và ngăn chặn các cuộc tấn công. Theo tài liệu gốc, "Phát triển tính năng chặn từ ngữ tiêu cực bằng cách áp dụng công nghệ AI. • Phát triển tính năng tìm kiếm bằng giọng nói."

2.2. Quản Lý Hiệu Suất Khi Mạng Xã Hội MERN Stack Lớn Mạnh

Khi mạng xã hội phát triển, việc quản lý hiệu suất trở nên quan trọng hơn. Có nhiều cách để cải thiện hiệu suất của ứng dụng MERN Stack. Sử dụng caching để giảm tải cho cơ sở dữ liệu. Sử dụng load balancing để phân phối lưu lượng truy cập đến nhiều máy chủ. Tối ưu hóa truy vấn cơ sở dữ liệu để giảm thời gian phản hồi. Sử dụng một mạng phân phối nội dung (CDN) để phân phối nội dung tĩnh. Sử dụng các công cụ giám sát hiệu suất để xác định các điểm nghẽn. Tối ưu hóa mã JavaScript để giảm thời gian tải trang. Nén hình ảnh và các tài sản khác để giảm kích thước tệp. Sử dụng các kỹ thuật lazy loading để chỉ tải các tài sản cần thiết. Sử dụng các công cụ phân tích hiệu suất để xác định các khu vực cần cải thiện. Theo tài liệu, cần phải "Thống kê lượt xem của hình ảnh, video và bài đăng. • Bổ sung tính năng trò chuyện nhóm. • Bổ sung tính năng gọi điện thoại và gọi điện video giữa các người dùng."

III. Giải Pháp Chặn Nội Dung Tiêu Cực Với MERN Stack 56 ký tự

Nội dung tiêu cực là một vấn đề nghiêm trọng trên mạng xã hội. Có nhiều loại nội dung tiêu cực khác nhau, bao gồm ngôn ngữ thù hận, quấy rối và tin tức giả mạo. Để giải quyết vấn đề này, cần phải có các biện pháp để kiểm duyệt nội dung và ngăn chặn việc đăng tải nội dung không phù hợp. Một giải pháp là sử dụng các thuật toán machine learning để tự động phát hiện và xóa nội dung tiêu cực. Các thuật toán này có thể được đào tạo để nhận dạng các mẫu ngôn ngữ và hành vi liên quan đến nội dung tiêu cực. Ngoài ra, cần phải có một hệ thống để người dùng báo cáo nội dung tiêu cực. Khi một người dùng báo cáo nội dung, nội dung đó sẽ được xem xét bởi một người kiểm duyệt. Nếu người kiểm duyệt xác định rằng nội dung đó là tiêu cực, nội dung đó sẽ bị xóa. Theo tài liệu gốc, "Tiếp tục tìm hiểu, nghiên cứu về công nghệ MERN STACK, bao gồm: MongoDB, ExpressJS, ReactJSNodeJS. Kiểm tra, sửa lỗi, hoàn thành các chức năng và giao diện đã phát triển trong Tiểu Luận Chuyên Ngành."

3.1. Ứng Dụng AI Trong Kiểm Duyệt Nội Dung Mạng Xã Hội MERN Stack

Ứng dụng trí tuệ nhân tạo (AI) trong kiểm duyệt nội dung là một giải pháp hiệu quả để đối phó với nội dung tiêu cực trên mạng xã hội. Các thuật toán machine learning có thể được sử dụng để tự động phát hiện và xóa nội dung không phù hợp. Các thuật toán này có thể được đào tạo để nhận dạng các mẫu ngôn ngữ và hành vi liên quan đến nội dung tiêu cực. Ngoài ra, AI có thể được sử dụng để phân tích hình ảnh và video để phát hiện nội dung không phù hợp. Một trong những công cụ phổ biến để phát hiện nội dung độc hại là TensorFlow Toxicity. Công cụ này có thể được sử dụng để phân loại văn bản dựa trên các thuộc tính như lăng mạ, tục tĩu, đe dọa và thù hận. Bằng cách tích hợp TensorFlow Toxicity vào ứng dụng MERN Stack, có thể tự động phát hiện và gắn cờ nội dung có khả năng gây hại. Tuy nhiên, cần lưu ý rằng AI không phải là một giải pháp hoàn hảo. Các thuật toán machine learning có thể mắc lỗi và đôi khi gắn cờ nội dung vô hại là tiêu cực. Do đó, cần phải có một hệ thống để con người xem xét và sửa chữa các lỗi do AI gây ra. Theo tài liệu, chúng em cũng quan tâm đến việc xác định xem nhận xét có chứa ngôn từ tục tĩu, nội dung khiêu dâm, các cuộc tấn công dựa trên danh tính, ngôn từ đe dọa và lăng mạ hay không. Vui lòng sử dụng các định nghĩa sau làm mẫu.

3.2. Xây Dựng Hệ Thống Báo Cáo Nội Dung Tiêu Cực Cho Người Dùng

Một hệ thống báo cáo nội dung hiệu quả là rất quan trọng để duy trì một môi trường an toàn và lành mạnh trên mạng xã hội. Hệ thống này cho phép người dùng báo cáo nội dung mà họ cho là không phù hợp, chẳng hạn như ngôn ngữ thù hận, quấy rối hoặc tin tức giả mạo. Khi một người dùng báo cáo nội dung, nội dung đó sẽ được xem xét bởi một người kiểm duyệt. Nếu người kiểm duyệt xác định rằng nội dung đó là tiêu cực, nội dung đó sẽ bị xóa và người dùng đã đăng nội dung đó có thể bị cảnh cáo hoặc cấm. Để xây dựng một hệ thống báo cáo nội dung hiệu quả, cần phải có một giao diện người dùng đơn giản và dễ sử dụng. Người dùng cần phải có thể báo cáo nội dung một cách nhanh chóng và dễ dàng. Ngoài ra, cần phải có một hệ thống để theo dõi các báo cáo và đảm bảo rằng chúng được xử lý một cách kịp thời. Theo tài liệu, cần phải “Đảm bảo người dùng có thể đăng ký, đăng nhập và quản lý tài khoản của họ một cách an toàn."

IV. Ứng Dụng MERN Stack Tính Năng Tìm Kiếm Bằng Giọng Nói 58 ký tự

Tính năng tìm kiếm bằng giọng nói là một tính năng tiện lợi cho phép người dùng tìm kiếm nội dung trên mạng xã hội bằng cách sử dụng giọng nói của họ. Tính năng này có thể đặc biệt hữu ích cho những người khuyết tật hoặc những người không thể sử dụng bàn phím hoặc chuột. Để triển khai tính năng tìm kiếm bằng giọng nói, có thể sử dụng Web Speech API, một API JavaScript cho phép truy cập vào các dịch vụ nhận dạng giọng nói. Web Speech API có thể được sử dụng để chuyển đổi giọng nói thành văn bản, sau đó có thể được sử dụng để thực hiện tìm kiếm. Ngoài ra, có thể sử dụng các thư viện JavaScript khác như react-speech-recognition để đơn giản hóa quá trình phát triển. Theo tài liệu gốc, “Mục đích chính của đề tài là vận dụng những gì đã tìm hiểu được từ tiểu luận chuyên ngành trước đó về MERN stack để phát triển thêm tính năng cho mạng xã hội, cụ thể được nói đến là tính năng tìm kiếm bằng giọng nói, chặn nội dung tiêu cực và một số tính năng như chat group, audio/video call, đếm view."

4.1. Tích Hợp Web Speech API Vào Ứng Dụng Mạng Xã Hội MERN

Để tích hợp Web Speech API vào ứng dụng MERN Stack, cần phải có một trình duyệt hỗ trợ API này. Hầu hết các trình duyệt hiện đại đều hỗ trợ Web Speech API. Đầu tiên, cần phải yêu cầu quyền truy cập vào microphone của người dùng. Sau đó, có thể sử dụng SpeechRecognition object để bắt đầu nhận dạng giọng nói. Khi giọng nói được nhận dạng, kết quả sẽ được trả về dưới dạng văn bản. Văn bản này có thể được sử dụng để thực hiện tìm kiếm hoặc thực hiện các hành động khác. Theo tài liệu gốc, cần phải “Tiếp tục tìm hiểu, nghiên cứu về công nghệ MERN STACK, bao gồm: MongoDB, ExpressJS, ReactJSNodeJS. Kiểm tra, sửa lỗi, hoàn thành các chức năng và giao diện đã phát triển trong Tiểu Luận Chuyên Ngành."

4.2. Nâng Cao Trải Nghiệm Tìm Kiếm Với React Speech Recognition

react-speech-recognition là một thư viện React đơn giản hóa việc sử dụng Web Speech API. Thư viện này cung cấp các hooks và components giúp dễ dàng tích hợp tính năng nhận dạng giọng nói vào ứng dụng React. Để sử dụng react-speech-recognition, cần phải cài đặt thư viện này bằng lệnh npm install react-speech-recognition. Sau đó, có thể sử dụng hook useSpeechRecognition để truy cập vào các thuộc tính như transcript (văn bản được nhận dạng) và listening (trạng thái của microphone). Theo tài liệu, "Trong giao diện tìm kiếm bằng giọng nói, có thể chọn 2 ngôn ngữ: Tiếng việt, Tiếng Anh." Đây là một điểm quan trọng để nâng cao trải nghiệm người dùng, khi họ có thể lựa chọn ngôn ngữ phù hợp với mình.

V. Kết Luận Tiềm Năng Phát Triển Mạng Xã Hội MERN Stack 52 ký tự

Dự án xây dựng mạng xã hội bằng MERN Stack đã đạt được những kết quả đáng kể. Các tính năng cơ bản như đăng ký, đăng nhập, tạo và chia sẻ nội dung đã được triển khai thành công. Ngoài ra, các tính năng nâng cao như tìm kiếm bằng giọng nóichặn nội dung tiêu cực cũng đã được tích hợp. Tuy nhiên, vẫn còn nhiều tiềm năng để phát triển thêm cho dự án này. Trong tương lai, có thể tập trung vào việc cải thiện hiệu suất, tăng cường bảo mật và bổ sung các tính năng mới. Theo tài liệu gốc, “Với hạn chế về kinh nghiệm và thời gian, đồ án này sẽ không thể tránh được những thiếu sót. Chúng em rất mong nhận được sự chỉ bảo, đóng góp ý kiến của thầy để bọn em có thể bổ sung và nâng cao kiến thức của mình nhằm phục vụ tốt hơn các đồ án sau này."

5.1. Hướng Phát Triển Mạng Xã Hội MERN Stack Trong Tương Lai

Trong tương lai, có thể tập trung vào việc cải thiện hiệu suất của ứng dụng bằng cách sử dụng caching, load balancing và tối ưu hóa truy vấn cơ sở dữ liệu. Ngoài ra, có thể tăng cường bảo mật bằng cách sử dụng HTTPS, JSON Web Tokens và thực hiện kiểm tra đầu vào. Các tính năng mới có thể được bổ sung bao gồm tích hợp với các mạng xã hội khác, hỗ trợ cho video streaming và triển khai các thuật toán machine learning để cá nhân hóa trải nghiệm người dùng. Theo tài liệu gốc, “Phát triển tính năng chặn từ ngữ tiêu cực bằng cách áp dụng công nghệ AI. • Phát triển tính năng tìm kiếm bằng giọng nói."

5.2. Đóng Góp Của Đồ Án Vào Lĩnh Vực Phát Triển Web Full Stack

Đồ án này đóng góp vào lĩnh vực phát triển web full-stack bằng cách cung cấp một ví dụ thực tế về cách sử dụng MERN Stack để xây dựng một ứng dụng mạng xã hội. Đồ án này cũng cung cấp các hướng dẫn chi tiết về cách triển khai các tính năng quan trọng như tìm kiếm bằng giọng nóichặn nội dung tiêu cực. Ngoài ra, đồ án này có thể được sử dụng làm cơ sở cho các dự án phát triển web full-stack khác. Theo tài liệu gốc, luận văn góp thêm một góc nhìn về những ảnh hưởng của mạng xã hội đến giới trẻ sau sự phát triển bùng nổ của mạng xã hội phổ biến hiện nay. Về giá trị thực tiễn, đề tài sẽ nêu chi tiết cách mà một trang web mạng xã hội hoạt động cũng như quy trình và công nghệ tạo ra nó.

Tóm tắt và mô tả trên trang này được tạo với sự hỗ trợ của AI từ nội dung tài liệu gốc; tài liệu do người dùng đóng góp và được kiểm duyệt trước khi xuất bản. Báo lỗi nội dung.

22/09/2025
Đồ án hcmute xây dựng mạng xã hội bằng mern stack

Trích đoạn nội dung tài liệu

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 1. Giới thiệu về MERN Stack 1. MERN Stack là gì? MERN stack là sự kết hợp của các công nghệ phổ biến nhất hiện nay và các công nghệ này đều liên quan đến JavaScript như MongoDB, ExpressJS, ReactJS, NodeJS. Lập trình viên thường dùng MERN stack để xây dựng ứng dụng React Universal.

Giới thiệu NodeJS NodeJS là một mã nguồn mở, một môi trường được thiết kế để viết các ứng dụng mạng có khả năng mở rộng, đặc biệt là máy chủ web. NodeJS được viết bằng ngôn ngữ JavaScript và có thể chạy trên các hệ điều hành như Mac OS X, Windows, Linux, FreeBSD và IBM i. Lịch sử ra đời Năm 2009, NodeJS được viết bởi lập trình viên Ryan Dahl. Ban đầu chỉ có hệ điều hành Linux và MacOS X mới được hỗ trợ.

Ngoài ra, Ryan Dahl cũng là người phát triển và bảo trì NodeJS (được tài trợ bởi Joyent). Tháng 1 năm 2010, trình quản lí gói npm cho NodeJS được ra mắt. Tháng 6 năm 2011, phiên bản Windows gốc của NodeJS được triển khai bởi Microsoft và Joyent. Tháng 12 năm 2014, do sung đột nội bộ nên NodeJS bị chia rẽ, IO.js được hình thành.

Tháng 6 năm 2015, cộng đồng IO.js và cộng đồng NodeJS đã thống nhất bỏ phiếu để hợp tác với nhau dưới dạng NodeJS Foundation. Ưu và nhược điểm Ưu điểm: Tất cả đều viết bằng JavaScript: với NodeJS thì JavaScript có thể viết trên server. Khả năng mở rộng: NodeJS có khả năng mở rộng cao và tốc độ xây dựng ứng dụng nhanh, đó là nhờ vào kiến trúc Event Loop. 7 Công nghệ Web thời gian thực: Các công nghệ thời gian hiện nay rất phổ biến.

Chẳng hạn như công nghệ WebSocket đã làm cho các ứng dụng web gần như không có độ trễ. Chính những công nghệ này đã giúp cho NodeJS có thể xử lý một lượng kết nối khổng lồ. Hiệu năng: NodeJS sử dụng engine V8 của Google cùng với non-blocking IO thì việc tạo một trang web với tốc độ xử lí nhanh là điều vô cùng dễ dàng. Nhược điểm: NodeJS gây tiêu tốn cả về thời gian lẫn tài nguyên CPU.

Nodejs được viết bằng JavaScript và C++ đo đó cần phải trải qua một quá trình biên dịch khi xử lí. Lập trình viên không nên sử dụng NodeJS cho những ứng dụng tiêu tốn tài nguyên CPU. NodeJS không khác nhiều so với các ngôn ngữ khác như Python, Ruby hay PHP. Lập trình viên có thể chọn NodeJS cho việc phát triển các ứng dụng mới.

Tuy nhiên, NodeJS không phải là một lựa chọn sáng suốt khi xây dựng, triển khai các dự án quan trọng. Ứng dụng trong đề tài Hệ thống Notification: thông báo cho người dùng tương tự các mạng xã hội hiện hành như Facebook hay Instagram. WebSocket server: cung cấp giao thức giao tiếp hai chiều mạnh mẽ do có độ trễ thấp và dễ dàng xử lý khi xảy ra lỗi. WebSocket được sử dụng cho những trường hợp yêu cầu thời gian như trong trò chuyện.

Ứng dụng truy vấn tới cơ sở dữ liệu NoSQL: với cơ sở dữ liệu MongoDB thì NodeJS là sự lựa chọn hoàn hảo vì nó có nhiều thư viện hỗ trợ mạnh. Fast File Upload Client: dùng để upload file tốc độ cao. Cài đặt NodeJS Download NodeJS: Vào trang chủ của NodeJS: https://nodejs.org/en/download/ 8 Hình 1. Tải về NodeJS Sau khi download thành công ta có 1 file như hình dưới: Hình 2.

Chạy file cài đặt NodeJS Cài đặt NodeJS: Chấp nhận các tùy chọn mặc định, nhấn tiếp theo cho tới bước cuối cùng và nhấn hoàn thành. Cấu hình NodeJS Hình 4. Chấp nhận điều khoản cài đặt NodeJS 10 Hình 5. Chọn thư mục cài đặt NodeJS Phần mềm quản lý các thư viện JavaScript cũng được cài đặt theo mặc định.

Cài đặt npm 11 Hình 7. Hoàn thành cài đặt NodeJS Kiểm tra và cấu hình: Nhập lần lượt các lệnh như bên dưới trong CMD để kiểm tra phiên bản của NodeJS và npm package: Hình 8. Kiểm tra việc cài đặt NodeJS Như vậy là đã cài đặt thành công NodeJS trên window. Giới thiệu ExpressJS ExpressJS là một framework mã nguồn mở miễn phí dành cho NodeJS.

ExpressJS được sử dụng trong thiết kế và xây dựng các ứng dụng web một cách đơn giản và nhanh chóng. 12 Do ExpressJS chỉ yêu cầu ngôn ngữ lập trình JavaScript nên góp phần giúp các lập trình viên và nhà phát triển xây dựng các ứng dụng web và API dễ dàng hơn. Lịch sử phát triển ExpressJS là một framework mã nguồn mở, miễn phí dành cho NodeJS vì vậy hầu hết các đoạn code đã được viết sẵn cho các lập trình viên có thể làm việc. ExpressJS giúp các nhà phát triển dễ dàng tạo các ứng dụng đơn web, đa web hoặc kết hợp.

ExpressJS tương đối nhẹ, giúp cho việc tổ chức các ứng dụng web theo kiến trúc MVC có tổ chức hơn. Lập trình viên cần phải biết về JavaScript và HTML để sử dụng được ExpressJS. ExpressJS cũng là một phần của công nghệ giúp quản lý các ứng dụng web một cách dễ dàng hơn hay còn được gọi là MEAN stack. Nhờ có ExpressJS, các nhà lập trình có thể xây dựng nên các ứng dụng web hiệu quả và nhanh chóng hơn.

Trên thực tế, lập trình viên sẽ phải thực hiện rất nhiều bước lập trình phức tạp để có thể tạo ra một API hiệu quả nếu như không có ExpressJS. ExpressJS đã đơn giản hóa việc lập trình trong NodeJS và bổ sung thêm nhiều tính năng mới. Ưu và nhược điểm Ưu điểm Mức độ phổ biến của JavaScript: ngày nay, JavaScript là một ngôn ngữ lập trình được sử dụng rộng rãi, dễ đọc và có một cộng đồng người dùng lớn. Việc sử dụng ExpressJS sẽ trở nên vô cùng đơn giản nếu đã biết JavaScript từ trước do ExpressJS hỗ trợ JavaScript.

Phát triển trang web nhanh hơn: Do Express có nhiều tính năng hỗ trợ khác nhau giúp giảm một nửa thời gian viết mã và giảm những áp lực cần thiết khi xây dựng mà vẫn giữ tính hiệu quả của ứng dụng web. Hỗ trợ định tuyến: ExpressJS giúp việc xây dựng các thành phần định tuyến ít tốn thời gian nhưng lại hiệu quả và đơn giản hơn. Nhược điểm: ExpressJS phù hợp với các dự án có quy mô nhỏ: với ExpressJS ta có thể xây đựng website một cách nhanh chóng nhưng để xây dựng những dự án lớn có độ phức tạp cao thì đây không là lựa chọn phù hợp. Ứng dụng trong đề tài 13 Các chức năng của ExpressJS được sử dụng trong đề tài: - Cấu hình các lớp trung gian để trả về các HTTP request.

- Cho phép sử dụng với các hành động khác nhau dựa trên các phương thức HTTP và URL bằng define router. - Trả về các trang HTML dựa vào các tham số. Cài đặt ExpressJS Lưu ý: cần phải có NodeJS trước để có thể cài đặt và sử dụng ExpressJS Mở CMD ở thư mục cần tạo ứng dụng ExpressJS: Hình 9. Tạo thư mục cần cài đặt ExpressJS Sử dụng lệnh như hình dưới để khởi tạo các tệp ban đầu cho ứng dụng: Hình 10.

Khởi tạo các tệp ban đầu cho ứng dụng ExpressJS Cuối cùng là cài đặt ExpressJS bằng câu lệnh như hình dưới.Cài đặt ExpressJS bằng lệnh 14 1. Giới thiệu ReactJS React là một trong những thư viện JavaScript phổ biến nhất để xây dựng giao diện người dùng (UI). React sử dụng phương pháp mới để render trang web nên cung cấp khả năng phản hồi tốt hơn khi có input từ người dùng. Components của react là một công cụ JavaScript mã nguồn mở được phát triển bởi Facebook và được ra mắt vào năm 2014.

React hiện tại thì vượt trội so với các đối thủ cạnh tranh lớn như Angular và Bootstrap (hai thư viện JavaScript bán chạy nhất vào thời điểm đó). Lịch sử phát triển ReactJS được hiểu nôm na là một thư viện trong đó có chứa nhiều JavaScript mã nguồn mở. Mục đích của việc tạo ReactJS là tạo ra các ứng dụng web nhanh, hiệu quả và viết ít code. Hiện tại, Facebook và toàn bộ nhóm phát triển ReactJS vẫn đang làm việc để cải thiện hiệu quả của ReactJS.

Đây là một trong những yêu cầu để cho thấy tốc độ phát triển đáp ứng nhanh như thế nào và vượt trội so với các framework khác như Vue. React được sử dụng bởi hàng trăm công ty hàng đầu trên thế giới, bao gồm Netflix, Airbnb, American Express, Facebook, WhatsApp, eBay, Instagram. Ưu và nhược điểm Ưu điểm Dễ sử dụng: Thư viện react chỉ tập trung vào việc tạo ra UI hiệu quả và được phân loại thành kiểu “V” trong mô hình MVC (Model-View-Controller). Hỗ trợ tái sử dụng Component: Người dùng có thể tái sử dụng các component có cùng chức năng.

Viết component dễ dàng hơn: React sử dụng JSX là sự kết hợp giữa HTML và JavaScript. Hiệu suất tốt hơn với DOM ảo: React sẽ cập nhật hiệu quả quá trình DOM (Document Object Model – Mô hình đối tượng tài liệu). Thân thiện với SEO: React cho phép tạo giao diện người dùng có thể được truy cập trên các công cụ tìm kiếm khác nhau. 15 Nhược điểm ReactJS chỉ phục vụ cho tầng View do chỉ là View Library (không phải MVC framework).

Đo dó React sẽ không có phần Model và Controller, 2-way binding hay là Ajax. Yêu cầu cần phải cấu hình lại khi tích hợp vào các framework MVC truyền thống. Có dung lượng nặng so với cái thư viện khác. Khó tiếp cận cho người mới học.

Ứng dụng trong đề tài ReactJS kết hợp với Redux để tạo nên front end. Redux: Là một thành phần quan trọng trong react, được dùng để quản lí các state. Cài đặt ReactJS Lưu ý: cần phải có NodeJS trước để có thể cài đặt và sử dụng React Tạo thư mục cần chứa ứng dụng react và mở CMD: Hình 12. Tạo thư mục chứa ứng dụng ReactJS Gõ câu lệnh như hình để tạo ứng dụng react 16 Hình 13.

Cài đặt ReactJS bằng lệnh Npm sẽ tạo một ứng dụng react tên là my-app và mặc định cài đặt các package cần thiết. NoSQL là gì? NoSQL (None-Relational SQL hay Not-Only SQL) là 1 dạng cơ sở dữ liệu mã nguồn mở. NoSQL có kiểu dữ liệu JSON, dạng dữ liệu theo kiểu key và value và được phát triển trên JavaScript Framework. NoSQL ra đời để khắc phục những hạn chế của cơ sở dữ liệu quan hệ về tốc độ, tính năng, khả năng mở rộng,.

NoSQL cho phép tạo cơ sở dữ liệu mà không cần quan tâm đến khoá chính, khoá ngoại hay ràng buộc. NoSQL chọn hiệu suất nhanh và khả năng mở rộng thay vì tính toàn vẹn của dữ liệu hay transaction. NoSQL được sử dụng ở rất nhiều công ty, tập đoàn lớn chẳng hạn như Facebook phát triển và sử dụng Cassandra, Google phát triển và sử dụng BigTable,. MongoDB: MongoDB là một hệ quản trị cơ sở dữ liệu NoSQL mã nguồn mở, được nhiều người dùng.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ