Bối cảnh và vấn đề nghiên cứu

Trong kỷ nguyên số hóa, mạng xã hội đã trở thành phương tiện kết nối, chia sẻ thông tin và giao tiếp không thể tách rời trong đời sống thường nhật. Tuy nhiên, cùng với sự gia tăng về số lượng người dùng, các nền tảng mạng xã hội đang phải đối mặt với nhiều thách thức nghiêm trọng liên quan đến việc lạm dụng dữ liệu cá nhân, sự lan truyền của các nội dung độc hại (quấy rối, xúc phạm, ngôn từ thù ghét) và hình ảnh bạo lực, vũ khí nguy hiểm. Bên cạnh đó, các thuật toán kết nối truyền thống bộc lộ hạn chế trong việc hỗ trợ người dùng tìm kiếm bạn bè có cùng sở thích, nền tảng học vấn hay vị trí địa lý một cách tự nhiên. Từ bối cảnh thực tiễn đó, nhóm tác giả Đỗ Duy Nhựt và Hồ Hà Thanh Lâm (ngành Công nghệ Thông tin, Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh) đã thực hiện khóa luận tốt nghiệp với đề tài "Xây dựng website mạng xã hội" (hệ thống mang tên WebSocialMedia) dưới sự hướng dẫn của TS. Lê Vĩnh Thịnh, hoàn thành vào tháng 7 năm 2024.

Mục tiêu chính của đề tài là nghiên cứu, thiết kế và phát triển hoàn chỉnh một nền tảng mạng xã hội trực tuyến an toàn, thân thiện và hiệu quả. Hệ thống tập trung giải quyết đồng thời bài toán giao tiếp thời gian thực và việc ứng dụng trí tuệ nhân tạo (AI/Machine Learning) nhằm kiểm duyệt nội dung độc hại, tự động gắn thẻ qua nhận diện khuôn mặt và cung cấp công cụ chatbot hỗ trợ kết bạn thông minh.

Nhiệm vụ nghiên cứu của khóa luận được phân định cụ thể theo 4 nội dung trọng tâm:

  1. Nghiên cứu tổng quan về mạng xã hội, phân tích các đặc điểm vận hành và khảo sát các nền tảng phổ biến hiện nay.
  2. Phân tích, xác định yêu cầu chức năng, yêu cầu phi chức năng và thiết kế kiến trúc hệ thống, cơ sở dữ liệu và luồng giao tiếp.
  3. Xây dựng, cài đặt và triển khai các phân hệ giao diện người dùng, máy chủ dịch vụ, truyền thông thời gian thực và các mô-đun trí tuệ nhân tạo.
  4. Đánh giá, kiểm thử toàn diện các chức năng của hệ thống phần mềm và đề xuất giải pháp hoàn thiện trong tương lai.

Đối tượng và phạm vi nghiên cứu của đề tài được xác định như sau:

  • Đối tượng nghiên cứu: Nhóm đối tượng người dùng mạng xã hội trên toàn quốc có nhu cầu kết nối và chia sẻ trực tuyến, được phân hóa thành 4 nhóm đặc thù: người dùng trẻ tuổi (chú trọng trải nghiệm giải trí, tương tác đa dạng), người dùng trung niên (ưu tiên tính đơn giản, giữ liên lạc gia đình), người dùng lớn tuổi (đòi hỏi giao diện dễ hiểu, thao tác thuận tiện) và nhóm người dùng có yêu cầu cao về quyền riêng tư, an toàn thông tin cá nhân.
  • Phạm vi nghiên cứu: Khóa luận tập trung vào 4 khía cạnh cốt lõi bao gồm: thiết kế tính năng và giao diện người dùng (User Interface); đảm bảo an toàn và bảo mật thông tin; tích hợp các công nghệ trí tuệ nhân tạo (xử lý ngôn ngữ tự nhiên, thị giác máy tính, chatbot); và tuân thủ các chính sách bảo vệ dữ liệu cá nhân theo quy định pháp luật.

Cơ sở lý thuyết và phương pháp

Khóa luận thiết lập nền tảng lý luận và công nghệ kỹ thuật dựa trên các khái niệm chuyên ngành công nghệ thông tin và kiến trúc web hiện đại:

  • Lý thuyết mạng xã hội: Định nghĩa mạng xã hội là ứng dụng trực tuyến hoạt động trên Internet, nơi nội dung hoàn toàn do người dùng tự khởi tạo và chia sẻ; mỗi cá nhân sở hữu một hồ sơ tài khoản định danh để thiết lập mạng lưới quan hệ xã hội ảo phục vụ mục đích kết nối, trao đổi thông tin, quảng cáo và phát triển cộng đồng.
  • Nền tảng máy chủ NodeJS: Môi trường thực thi JavaScript server-side dựa trên Chrome V8 JavaScript Engine, vận hành theo mô hình đơn luồng (single-threaded) kết hợp cơ chế xử lý I/O không chặn (non-blocking event-driven I/O) và vòng lặp sự kiện (Event Loop), sử dụng callback/Promise nhằm đáp ứng các yêu cầu xây dựng API và microservices có lưu lượng truy cập cao.
  • Thư viện giao diện ReactJS: Thư viện giao diện người dùng theo kiến trúc Model-View-Controller (đảm nhiệm View layer), áp dụng cú pháp mở rộng JSX, luồng truyền dữ liệu một chiều (one-way data flow) và cơ chế DOM ảo (Virtual DOM) giúp tối ưu hóa tốc độ kết xuất (rendering) và tái sử dụng các thành phần UI (components).
  • Thư viện truyền thông Socket.IO: Giải pháp truyền thông hai chiều thời gian thực (real-time communication) giữa máy chủ và máy khách theo kiến trúc hướng sự kiện (event-based), tự động điều hướng giữa giao thức WebSocket và các kỹ thuật dự phòng (long polling, server-sent events) để xử lý tính năng nhắn tin và thông báo.
  • Giao thức WebRTC: Công nghệ truyền thông thời gian thực mã nguồn mở cho phép thiết lập kết nối ngang hàng (Peer-to-Peer - P2P) trực tiếp giữa các trình duyệt mà không qua máy chủ chuyển tiếp media, thông qua các API tiêu chuẩn như RTCPeerConnection (quản lý kết nối và luồng media), getUserMedia (thu thập âm thanh/hình ảnh từ thiết bị phần cứng) và RTCDataChannel (truyền dữ liệu tùy biến) kết hợp với cơ chế báo hiệu (signaling qua giao thức SDP và ứng viên ICE).
  • Ngôn ngữ lập trình Python: Ngôn ngữ thông dịch đa mục đích được sử dụng để xây dựng các dịch vụ trí tuệ nhân tạo và xử lý dữ liệu thông qua các pha phân tích từ vựng (lexical analysis), biên dịch mã bytecode và thực thi trên trình thông dịch Python.

Phương pháp nghiên cứu thực tế được triển khai trong đồ án bao gồm:

  • Phương pháp khảo sát hiện trạng và đối sánh: Nhóm tác giả thực hiện khảo sát, phân tích so sánh trực tiếp hai nền tảng mạng xã hội tiêu biểu là Facebook và Instagram về giao diện, tính năng nổi bật và cơ chế vận hành để xây dựng bảng tiêu chí chức năng cần thiết.
  • Phương pháp phân tích và thiết kế hướng đối tượng (OOAD/UML): Mô hình hóa toàn bộ yêu cầu phần mềm bằng biểu đồ Use Case, biểu đồ tuần tự (Sequence Diagram) và biểu đồ hoạt động (Activity Diagram).
  • Phương pháp thiết kế dữ liệu quan hệ: Xây dựng mô hình dữ liệu quan hệ chuẩn hóa phục vụ việc quản trị dữ liệu người dùng, bài viết, tương tác và hệ thống kiểm duyệt.
  • Phương pháp kiểm thử hộp đen (Black-box Testing): Xây dựng các kịch bản kiểm thử (Testcase) chi tiết cho toàn bộ các chức năng của hệ thống nhằm xác minh tính chính xác của các luồng xử lý (Basic Flow, Alternative Flow).

Thiết kế và triển khai

Hệ thống WebSocialMedia được xây dựng theo mô hình kiến trúc phân tầng, phân tách rõ ràng giữa giao diện người dùng (Frontend), máy chủ xử lý logic/API (Backend), máy chủ truyền thông thời gian thực và máy chủ dịch vụ trí tuệ nhân tạo (AI Services).

[ Client: ReactJS UI / WebRTC P2P ]

1. Kiến trúc công nghệ và ngăn xếp kỹ thuật

  • Frontend: ReactJS (kết hợp các thành phần UI tái sử dụng, quản lý trạng thái, hỗ trợ chuyển đổi giao diện sáng/tối Dark Mode).
  • Backend API & Real-time: NodeJS, ExpressJS framework, Socket.IO.
  • Truyền thông media trực tiếp: WebRTC (Peer-to-Peer cho cuộc gọi thoại và video call).
  • Trí tuệ nhân tạo: Python (đảm nhiệm các tác vụ học máy: nhận diện khuôn mặt, phát hiện ngôn từ phản cảm, phát hiện hình ảnh vũ khí và chatbot tìm kiếm bạn bè).

2. Mô hình cơ sở dữ liệu

Cơ sở dữ liệu của WebSocialMedia được thiết kế bao gồm 17 thực thể dữ liệu chính nhằm quản lý toàn diện các mối quan hệ và hành vi của người dùng:

STT Tên bảng dữ liệu Mục đích và nội dung lưu trữ
1 Users Lưu trữ thông tin tài khoản, hồ sơ cá nhân, mật khẩu, trạng thái xác thực email
2 Posts Lưu trữ thông tin bài viết do người dùng đăng tải trên dòng thời gian
3 Likes Quản lý trạng thái tương tác thích (thả tim) của người dùng đối với bài viết
4 Comments Lưu trữ nội dung bình luận, đánh giá của người dùng trên bài viết
5 Stories Lưu trữ thông tin và nội dung bản tin ngắn (Stories) tạm thời
6 Publicgroups Quản lý thông tin các hội nhóm cộng đồng công khai
7 Membergroups Lưu trữ thông tin thành viên tham gia trong các nhóm
8 Relationships Quản lý quan hệ kết nối giữa các người dùng (theo dõi / hủy theo dõi)
9 Conversations Lưu trữ thông tin định danh các phòng/cuộc trò chuyện
10 Conversations_members Quản lý danh sách thành viên tham gia từng cuộc trò chuyện
11 Messages Lưu trữ nội dung tin nhắn văn bản và tệp tin đa phương tiện
12 Reaction_message Quản lý cảm xúc tương tác trực tiếp trên từng tin nhắn
13 Notifactions Lưu trữ và điều phối các thông báo hệ thống gửi đến người dùng
14 Reports Lưu trữ thông tin báo cáo bài viết vi phạm tiêu chuẩn cộng đồng
15 Posts_images Quản lý liên kết hình ảnh đính kèm theo từng bài viết
16 Storage Quản lý bộ sưu tập và lưu trữ dữ liệu đa phương tiện
17 UserOfTag Lưu trữ thông tin gắn thẻ (tag) người dùng trong các bài viết và hình ảnh

3. Phân hệ chức năng và luồng xử lý Use Case

Hệ thống phân quyền truy cập thành 3 nhóm tác nhân (Actors):

  • Khách (Người dùng chưa đăng nhập): Thực hiện Use case Đăng ký tài khoản (kèm cơ chế gửi email xác thực) và Đăng nhập hệ thống (phân luồng chuyển hướng trang chủ người dùng hoặc trang quản trị admin).
  • Người dùng đã đăng nhập (User):
    • Quản trị cá nhân: Đăng xuất, Đổi mật khẩu, Cập nhật thông tin cá nhân, Xem trang cá nhân của mình và của người dùng khác, Theo dõi/Hủy theo dõi bạn bè.
    • Tìm kiếm và kết nối: Tìm kiếm tài khoản bằng ký tự, tiếp nhận danh sách đề xuất theo dõi từ hệ thống, tìm kiếm bạn bè thông qua Chatbot thông minh (theo tiêu chí sở thích, trường học, nơi ở, sở trường).
    • Quản lý bài viết và tương tác: Đăng bài viết; tự động phát hiện ngôn từ phản cảm và nhận diện hình ảnh vũ khí để cảnh báo và che nội dung vi phạm; tương tác thả tim (thích/hủy thích); bình luận; chia sẻ bài viết; gắn thẻ bạn bè theo tên; tự động đề xuất gắn thẻ thông qua nhận diện khuôn mặt trên ảnh; báo cáo bài viết vi phạm; xóa bài viết cá nhân.
    • Truyền thông đa phương tiện: Quản lý bản tin (xem và đăng bản tin/story); tạo cuộc trò chuyện, xem và gửi tin nhắn thời gian thực; thực hiện cuộc gọi thoại và gọi video (WebRTC); quản lý bộ sưu tập hình ảnh.
  • Quản trị viên (Admin): Đăng nhập/Đăng xuất phân hệ quản trị; Quản lý tài khoản người dùng (xem danh sách, xóa tài khoản vi phạm); Quản lý bài viết toàn hệ thống (xem danh sách bài đã đăng, xem chi tiết bài viết, tìm kiếm bài viết, xóa bài viết vi phạm); Xem thống kê số liệu hoạt động của hệ thống.

4. Hệ thống thiết kế giao diện (Screen Flow)

Giao diện ứng dụng được chuẩn hóa qua hệ thống mã định danh màn hình (SCP):

  • Nhóm màn hình Khách: SCP001 (Giao diện đăng nhập), SCP002 (Giao diện đăng ký).
  • Nhóm màn hình Người dùng: SCP003 (Trang chủ), SCP004 (Trang chủ chế độ tối Dark Mode), SCP005 (Trang người theo dõi Follower), SCP006 (Trang cá nhân), SCP007 (Trang cá nhân người dùng khác), SCP008 (Trang thông tin Group), SCP009 (Trang All Group), SCP010 (Trang tin nhắn), SCP011 (Tìm kiếm user), SCP012 (Xem thông báo), SCP013 (Form đổi mật khẩu), SCP014 (Form cập nhật thông tin cá nhân), SCP015 (Form tạo nhóm mới), SCP016 (Form cập nhật thông tin nhóm), SCP017 (Form đăng bản tin), SCP018 (Form chia sẻ bài viết), SCP019 (Form thành viên nhóm), SCP020 (Xem hình ảnh), SCP021 (Xem bình luận), SCP022 (Xem bản tin), SCP023 (Tạo cuộc trò chuyện mới).
  • Nhóm màn hình Tính năng AI: SCP029 (Nhận diện khuôn mặt và đề xuất gắn thẻ), SCP030 (Nhận diện ngôn ngữ phản cảm và cảnh báo), SCP032 (Nhận diện vũ khí).
  • Nhóm màn hình Quản trị viên: SCP024 (Trang chủ admin), SCP025 (Trang quản lý bài viết), SCP026 (Trang quản lý tài khoản), SCP027 (Xem chi tiết bài viết).

Nội dung chính theo từng chương

Chương I: Cơ sở lý thuyết

Chương này thiết lập khung lý thuyết tổng quan về mạng xã hội, bao gồm các khái niệm, mục đích kết nối và các đặc trưng cơ bản của các nền tảng trực tuyến. Trọng tâm của chương là phân tích sâu cấu trúc kỹ thuật của các công nghệ nền tảng được lựa chọn: cơ chế hoạt động của NodeJS (V8 engine, non-blocking I/O, event loop), các đặc tính vượt trội của ReactJS (JSX, Virtual DOM, luồng dữ liệu đơn hướng), nguyên lý truyền thông thời gian thực của Socket.IO, cấu trúc các tầng API của giao thức WebRTC (RTCPeerConnection, getUserMedia, RTCDataChannel, Signaling) và vai trò của Python trong việc xây dựng các thuật toán học máy và dịch vụ xử lý dữ liệu.

Chương II: Khảo sát hiện trạng và xác định yêu cầu

Chương II tiến hành khảo sát thực tiễn hai nền tảng mạng xã hội lớn là Facebook và Instagram, xây dựng bảng đối sánh về giao diện, tính năng nổi bật và cách thức sử dụng:

Tiêu chí Facebook Instagram
Giao diện Đa dạng, bắt mắt, tích hợp nhiều chức năng Đơn giản, gần gũi với người dùng
Tính năng nổi bật Đăng bài viết, nhật ký, tương tác bình luận, chia sẻ, gắn thẻ, bạn bè, nhắn tin, xem video, nhóm cộng đồng, trang, tìm kiếm tài khoản, trang thông tin cá nhân, game Đăng bài viết, nhật ký, tương tác bình luận, chia sẻ, gắn thẻ, theo dõi, nhắn tin, xem video, tìm kiếm tài khoản, trang thông tin cá nhân
Cách sử dụng Đơn giản, dễ thực hiện Đơn giản, dễ thực hiện

Dựa trên kết quả khảo sát, chương xác lập danh mục yêu cầu chức năng cho từng tác nhân (User, Admin), yêu cầu phi chức năng (tốc độ truy cập ổn định, tính bảo mật, khả năng bảo trì, giao diện thân thiện) và chi tiết hóa 24 bảng đặc tả Use Case đầy đủ các điều kiện tiên quyết, luồng sự kiện cơ bản và luồng rẽ nhánh.

Chương III: Thiết kế ứng dụng

Chương III trình bày chi tiết bản thiết kế kỹ thuật của hệ thống, bao gồm cấu trúc mô tả chi tiết của 17 bảng dữ liệu quan hệ. Nội dung chương tập trung xây dựng hệ thống biểu đồ tuần tự (Sequence Diagram) và biểu đồ hoạt động (Activity Diagram) phản ánh đầy đủ các quy trình nghiệp vụ: quy trình xác thực (đăng nhập, đăng ký, đổi mật khẩu), quy trình tương tác xã hội (theo dõi, đăng bài, thích, bình luận, chia sẻ, báo cáo, xóa bài), quy trình truyền thông (nhắn tin, gọi điện WebRTC, đăng và xem story), quy trình quản trị (quản lý tài khoản, quản lý bài viết, thống kê) và các quy trình xử lý thông minh (đề xuất kết bạn, nhận diện ngôn từ phản cảm, nhận diện vũ khí, nhận diện khuôn mặt đề xuất gắn thẻ).

Chương IV: Thiết kế giao diện

Chương này đặc tả luồng chuyển màn hình (Screen flow) và giao diện người dùng chi tiết của ứng dụng. Nhóm tác giả thiết kế và mô tả 27 giao diện chuẩn (từ SCP001 đến SCP027) cùng 3 giao diện tích hợp xử lý thông minh (SCP029, SCP030, SCP032). Điểm nổi bật trong thiết kế là việc xây dựng hoàn chỉnh giao diện chế độ tối (SCP004 Trang chủ Chế độ tối) song song với chế độ sáng tiêu chuẩn, cùng các giao diện tương tác trực quan cho phép người dùng quan sát cảnh báo nội dung phản cảm và xem các vùng nhận diện khuôn mặt được hệ thống tự động đánh dấu trên hình ảnh.

Chương V: Cài đặt và kiểm thử

Chương V trình bày quá trình hiện thực hóa các bản thiết kế thành phần mềm chạy thực tế và thiết lập bộ kịch bản kiểm thử (Testcase) chi tiết. Nhóm tác giả đã xây dựng và thực thi 24 bảng kiểm thử chức năng bao quát toàn bộ các usecase: kiểm thử đăng nhập, đổi mật khẩu, tìm kiếm tài khoản, cập nhật thông tin cá nhân, theo dõi/hủy theo dõi, đăng bài viết, bình luận, chia sẻ, báo cáo, quản lý bản tin, tạo cuộc trò chuyện, gửi/nhận tin nhắn, đăng xuất, các chức năng quản trị tài khoản, quản lý bài viết và thống kê của admin. Kết quả kiểm thử cho thấy các chức năng đều đáp ứng đúng yêu cầu thiết kế logic.

Chương VI: Kết luận

Chương tổng kết toàn bộ kết quả thực hiện đề tài sau một học kỳ nghiên cứu; phân tích các ưu điểm về tính năng hiện đại và mức độ hoàn thiện của hệ thống; chỉ ra các nhược điểm cần khắc phục; chia sẻ các kinh nghiệm kỹ thuật thu nhận được trong quá trình phát triển dự án fullstack và đề ra định hướng phát triển trong tương lai.


Kết quả và đóng góp

1. Kết quả chính đạt được

  • Xây dựng thành công hệ thống website mạng xã hội WebSocialMedia với đầy đủ các tính năng cơ bản của một mạng xã hội hiện đại: xác thực người dùng qua email, quản lý trang cá nhân, đăng bài viết, tương tác thích/bình luận/chia sẻ, quản lý bản tin (Stories), tạo nhóm cộng đồng (Group), nhắn tin thời gian thực và gọi thoại/video trực tiếp qua kết nối P2P WebRTC.
  • Tích hợp thành công các mô-đun xử lý trí tuệ nhân tạo vào quy trình vận hành mạng xã hội:
    • Tự động nhận diện ngôn từ phản cảm trong văn bản bài đăng và cảnh báo người dùng, tự động làm mờ/che các nội dung vi phạm tiêu chuẩn cộng đồng.
    • Tự động nhận diện hình ảnh vũ khí nguy hiểm trong bài đăng nhằm ngăn chặn phát tán nội dung bạo lực.
    • Tự động nhận diện khuôn mặt người dùng trong hình ảnh để đưa ra gợi ý gắn thẻ (tag) chính xác.
    • Xây dựng công cụ Chatbot hỗ trợ người dùng tìm kiếm và kết nối bạn bè dựa trên các tiêu chí cá nhân hóa (sở thích, địa điểm, trường học, sở trường).
  • Thiết kế hoàn chỉnh cấu trúc cơ sở dữ liệu với 17 bảng thực thể và xây dựng hệ thống 30 màn hình giao diện người dùng chuẩn hóa (bao gồm cả chế độ sáng và chế độ tối).
  • Đồ án được Hội đồng chấm thi và Giảng viên hướng dẫn TS. Lê Vĩnh Thịnh đánh giá đạt loại Giỏi và đồng ý cho phép bảo vệ tốt nghiệp.

2. Giải pháp và kiến nghị của tác giả

  • Cần tiếp tục nghiên cứu và tăng cường các giải pháp bảo mật dữ liệu, mã hóa thông tin người dùng và phân quyền chuyên sâu nhằm đáp ứng tốt hơn các tiêu chuẩn an toàn thông tin (như ghi nhận trong phiếu nhận xét của GVHD).
  • Tối ưu hóa hiệu năng và độ chính xác của các mô hình nhận diện khuôn mặt và xử lý ngôn từ phản cảm khi hệ thống mở rộng quy mô dữ liệu lớn.

3. Đóng góp về mặt kỹ thuật

Khóa luận đã cung cấp một mô hình triển khai thực tế về việc kết hợp giữa kiến trúc ứng dụng web hướng sự kiện (NodeJS, ReactJS, Socket.IO, WebRTC) với các dịch vụ xử lý trí tuệ nhân tạo bằng Python, giải quyết đồng thời hai bài toán: tối ưu hóa trải nghiệm truyền thông thời gian thực và tự động hóa kiểm duyệt bảo vệ môi trường mạng xã hội.


Hạn chế và hướng nghiên cứu tiếp

  • Hạn chế:
    • Theo nhận xét trực tiếp của Giảng viên hướng dẫn (TS. Lê Vĩnh Thịnh), đồ án còn khuyết điểm là cần tìm hiểu thêm và bổ sung các biện pháp chuyên sâu về bảo mật thông tin người dùng.
    • Do thời gian thực hiện giới hạn trong khuôn khổ một học kỳ, các thuật toán nhận diện và lọc nội dung AI cần tiếp tục được tối ưu về tốc độ xử lý khi chịu tải cao.
  • Hướng nghiên cứu tiếp:
    • Nghiên cứu và triển khai bổ sung các cơ chế bảo mật nâng cao, tăng cường mã hóa dữ liệu đầu cuối cho hệ thống tin nhắn và thông tin cá nhân.
    • Nâng cấp và mở rộng khả năng xử lý của Chatbot kết bạn và các mô hình AI nhận diện nội dung độc hại.
    • Mở rộng phát triển ứng dụng trên các nền tảng di động đa thiết bị để gia tăng tính tiện ích cho người dùng.

Giá trị tham khảo

Tài liệu khóa luận có giá trị tham khảo thiết thực cho các nhóm đối tượng:

  • Sinh viên ngành Công nghệ Thông tin, Kỹ thuật Phần mềm: Tài liệu cung cấp quy trình mẫu chuẩn mực về việc xây dựng một đồ án tốt nghiệp kỹ thuật phần mềm hoàn chỉnh, từ bước khảo sát hiện trạng, phân tích yêu cầu, thiết lập bảng usecase, vẽ sơ đồ Sequence/Activity đến quy trình thiết kế cơ sở dữ liệu và xây dựng testcase kiểm thử.
  • Lập trình viên và người nghiên cứu phát triển ứng dụng Web: Cung cấp tài liệu tham khảo chi tiết về kiến trúc tích hợp giữa ReactJS, NodeJS, Socket.IO và WebRTC trong việc xây dựng tính năng nhắn tin thời gian thực và gọi video P2P, cùng giải pháp kết nối backend NodeJS với các module AI Python.
  • Các chương đáng tham khảo nhất: Chương II (Bảng đặc tả Use Case chi tiết), Chương III (Mô tả 17 thực thể CSDL và hệ thống sơ đồ Sequence/Activity) và Chương IV (Hệ thống thiết kế Screen flow SCP).

Câu hỏi thường gặp

1. Khóa luận sử dụng những công nghệ chủ chốt nào để xây dựng hệ thống WebSocialMedia?
Hệ thống sử dụng NodeJS (môi trường server-side non-blocking I/O) kết hợp ExpressJS để xây dựng API; ReactJS (sử dụng JSX, Virtual DOM, one-way data flow) để xây dựng giao diện người dùng; Socket.IO để xử lý giao tiếp hai chiều thời gian thực (chat, thông báo); WebRTC (với các API RTCPeerConnection, getUserMedia, RTCDataChannel) để thiết lập cuộc gọi video/thoại P2P; và ngôn ngữ Python để triển khai các mô hình trí tuệ nhân tạo (nhận diện khuôn mặt, lọc toxic, nhận diện vũ khí, chatbot).

2. Cơ chế kiểm duyệt nội dung độc hại trên website được thiết kế hoạt động ra sao?
Khi người dùng nhập văn bản và đính kèm hình ảnh để đăng bài viết, hệ thống tự động kích hoạt tiến trình kiểm tra: phân tích văn bản để phát hiện ngôn từ phản cảm và quét hình ảnh để nhận diện vũ khí. Nếu phát hiện vi phạm, hệ thống hiển thị cảnh báo cho người dùng và khi đăng tải, các nội dung mang tính phản cảm sẽ được tự động làm mờ hoặc che đi nhằm bảo vệ cộng đồng.

3. Tính năng tìm kiếm bạn bè bằng Chatbot trong hệ thống hoạt động dựa trên các tiêu chí nào?
Người dùng gửi thông tin yêu cầu tìm kiếm vào giao diện Chatbot thông minh. Chatbot sẽ xử lý và lọc thông tin người dùng trong hệ thống dựa trên 4 tiêu chí chính: sở thích, nơi ở (địa điểm), trường học và sở trường cá nhân, sau đó gửi trả kết quả danh sách tài khoản phù hợp nhất cho người dùng.

4. Cơ sở dữ liệu của WebSocialMedia quản lý những thực thể dữ liệu nào?
Hệ thống thiết kế 17 bảng dữ liệu quan hệ gồm: Users (tài khoản người dùng), Posts (bài viết), Likes (lượt thích), Comments (bình luận), Stories (bản tin), Publicgroups (nhóm công khai), Membergroups (thành viên nhóm), Relationships (quan hệ theo dõi), Conversations (cuộc trò chuyện), Conversations_members (thành viên trò chuyện), Messages (tin nhắn), Reaction_message (cảm xúc tin nhắn), Notifactions (thông báo), Reports (báo cáo vi phạm), Posts_images (ảnh bài viết), Storage (bộ sưu tập lưu trữ) và UserOfTag (gắn thẻ người dùng).

5. Giảng viên hướng dẫn nhận xét và đánh giá khóa luận tốt nghiệp này như thế nào?
Giảng viên hướng dẫn TS. Lê Vĩnh Thịnh đánh giá đề tài đáp ứng tốt nhu cầu kết nối số, khen ngợi nhóm sinh viên làm việc nghiêm túc, chăm chỉ, hoàn thành đầy đủ các bước từ khảo sát, thiết kế đến kiểm thử và tích hợp được nhiều tính năng hiện đại (nhận diện khuôn mặt, lọc toxic, chatbot). Khuyết điểm duy nhất được chỉ ra là cần tìm hiểu thêm các biện pháp bảo mật thông tin người dùng. Giảng viên đánh giá đồ án đạt loại Giỏi và đồng ý cho phép bảo vệ.


Kết luận

Khóa luận tốt nghiệp "Xây dựng website mạng xã hội" của sinh viên Đỗ Duy Nhựt và Hồ Hà Thanh Lâm tại Trường Đại học Sư phạm Kỹ thuật TP.HCM đã hoàn thành trọn vẹn mục tiêu phát triển nền tảng mạng xã hội WebSocialMedia hiện đại. Đề tài thể hiện khối lượng công việc bài bản thông qua việc thiết kế 17 bảng cơ sở dữ liệu, 30 giao diện người dùng và tích hợp thành công các công nghệ tiên tiến như WebRTC, Socket.IO cùng các dịch vụ AI kiểm duyệt nội dung, nhận diện khuôn mặt và chatbot kết bạn. Đồ án được đánh giá loại Giỏi, là tài liệu tham khảo học thuật có giá trị thực tiễn cao cho sinh viên và lập trình viên trong lĩnh vực phát triển phần mềm web đa dịch vụ.