Giới thiệu dự án
Trong kỷ nguyên chuyển đổi số, mạng xã hội đã trở thành một phần không thể thiếu trong đời sống sinh hoạt, học tập và làm việc của hàng tỷ người trên toàn cầu. Báo cáo Digital 2024 Global Overview Report (We Are Social & Meltwater) chỉ ra rằng thế giới hiện có hơn 5,04 tỷ người dùng mạng xã hội hoạt động tích cực (tương đương 62,3% dân số thế giới), với thời gian sử dụng trung bình đạt 2 giờ 23 phút mỗi ngày. Tại Việt Nam, con số này đạt xấp xỉ 73,3 triệu người dùng. Tuy nhiên, sự bùng nổ của không gian mạng cũng kéo theo hàng loạt hệ lụy nghiêm trọng: vấn nạn bạo lực ngôn từ (cyberbullying), sự lan truyền của ngôn ngữ độc hại (toxic comments), nội dung bạo lực, hình ảnh vũ khí nguy hiểm, và các nguy cơ xâm phạm quyền riêng tư dữ liệu cá nhân.
Các nền tảng mạng xã hội truyền thống dù sở hữu quy mô khổng lồ nhưng thường xử lý việc kiểm duyệt nội dung theo cơ chế hậu kiểm (reactive moderation) dựa trên báo cáo (report) của người dùng hoặc áp dụng các thuật toán phân phối nội dung gây nghiện, thiếu sự kiểm soát chủ động ngay tại thời điểm đăng tải. Bên cạnh đó, các thao tác quản lý gắn thẻ người dùng (tagging) trong hình ảnh còn mang tính thủ công, và việc kết nối bạn bè chủ yếu dựa vào danh bạ hoặc tìm kiếm chuỗi ký tự đơn giản, thiếu tính năng gợi ý thông minh theo sở thích và vị trí.
Đứng trước thực trạng trên, đề tài khóa luận tốt nghiệp "Xây dựng Website Mạng Xã Hội" (WebSocialMedia) được thực hiện bởi sinh viên Đỗ Duy Nhựt (MSSV: 20110298) và Hồ Hà Thanh Lâm (MSSV: 20110667), dưới sự hướng dẫn khoa học của TS. Lê Vĩnh Thịnh tại Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh (HCMUTE, 07/2024). Dự án tập trung giải quyết các bài toán cốt lõi:
- Xây dựng kiến trúc mạng xã hội toàn diện: Phát triển hệ sinh thái mạng xã hội hoàn chỉnh từ giao diện người dùng (UI/UX) đến hạ tầng máy chủ, hỗ trợ đầy đủ các tính năng cơ bản như News Feed, Stories (bản tin 24h), tương tác bài viết (Like, Comment, Share), quản lý nhóm (Public/Member Groups), và phân quyền hệ thống (User/Admin).
- Tích hợp trí tuệ nhân tạo (AI) kiểm duyệt nội dung chủ động: Tự động phát hiện và cảnh báo ngôn từ phản cảm, độc hại trong văn bản; đồng thời nhận diện các vật thể nguy hiểm (vũ khí) trong hình ảnh trước khi bài viết được xuất bản công khai.
- Tự động hóa nhận diện và gắn thẻ (Auto-tagging via Face Recognition): Ứng dụng mô hình học máy (Machine Learning) để nhận diện khuôn mặt người dùng trong bài đăng và đưa ra đề xuất gắn thẻ chính xác.
- Chatbot thông minh gợi ý kết nối: Phát triển trợ lý ảo giúp tìm kiếm bạn bè thông minh dựa trên việc khớp thông tin sở thích, học vấn, nơi ở và kỹ năng cá nhân.
- Giao tiếp thời gian thực đa phương thức: Tích hợp công nghệ WebSocket/Socket.IO để truyền nhận tin nhắn/thông báo tức thời và công nghệ WebRTC cho phép thực hiện cuộc gọi âm thanh (Voice Call) và video (Video Call) trực tiếp ngang hàng (Peer-to-Peer).
Dự án đặt mục tiêu đạt thời gian phản hồi API trung bình dưới 150ms, độ chính xác nhận diện nội dung độc hại trên 90%, độ trễ truyền phát WebRTC dưới 100ms trong điều kiện mạng tiêu chuẩn, phục vụ môi trường mạng xã hội an toàn, lành mạnh cho cộng đồng người dùng trẻ và các tổ chức giáo dục.
+-------------------------------------------------------------------------------+
| WEBSOCIALMEDIA PLATFORM |
+-------------------------------------------------------------------------------+
| Frontend Layer (ReactJS 18) <--- HTTP/REST + Socket.IO ---> Backend Services |
| |
| +---------------------------+ +------------------------------------+ |
| | Core API Engine | | AI / Computer Vision | |
| | (Node.js 20 / Express) | <----> | (Python 3.10 / Flask) | |
| | - Auth / Post / Group | | - Face Recognition (dlib/OpenCV) | |
| | - WebRTC Signaling | | - Toxic NLP & Weapon Detection | |
| +---------------------------+ +------------------------------------+ |
| | | |
| v v |
| +---------------------------+ +------------------------------------+ |
| | Relational DB (MySQL) | | Media File Storage (Cloud / S3) | |
| +---------------------------+ +------------------------------------+ |
+-------------------------------------------------------------------------------+
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
Khảo sát thực tế các nền tảng phổ biến hiện nay như Facebook và Instagram cho thấy những điểm mạnh và điểm hạn chế rõ rệt trong việc đáp ứng nhu cầu tương tác và an toàn thông tin:
| Tiêu chí phân tích |
Facebook |
Instagram |
Giải pháp WebSocialMedia |
| Giao diện & Trải nghiệm (UI/UX) |
Đa dạng, giàu tính năng nhưng phức tạp, nhiều quảng cáo rác. |
Tối giản, tập trung hình ảnh/video ngắn, tương tác trực quan. |
Giao diện hiện đại (hỗ trợ Dark Mode / Light Mode), tập trung tối đa vào luồng tương tác của người dùng. |
| Kiểm duyệt nội dung độc hại |
Hậu kiểm (dựa vào báo cáo), xử lý tự động thường có độ trễ lớn. |
Lọc từ khóa cơ bản theo danh sách chặn của người dùng. |
Tiền kiểm tự động: Tích hợp AI NLP phân tích ngữ nghĩa thô tục và Computer Vision phát hiện vũ khí ngay lúc đăng. |
| Nhận diện khuôn mặt & Tagging |
Đã hạn chế tính năng gợi ý nhận diện tự động do chính sách quyền riêng tư toàn cầu. |
Gắn thẻ thủ công bằng cách tìm kiếm username. |
AI Face Recognition: Tự động nhận diện khuôn mặt người quen trong ảnh và đề xuất gắn thẻ nhanh chóng. |
| Giao tiếp Real-time & Cuộc gọi |
Messenger (App riêng biệt hoặc tích hợp phức tạp). |
Direct Message (Hỗ trợ gọi video qua hạ tầng độc quyền). |
Socket.IO & WebRTC P2P: Nhắn tin tức thời không tải lại trang và gọi thoại/video trực tiếp trên nền tảng web. |
| Tìm kiếm bạn bè theo sở trường |
Gợi ý dựa trên bạn chung và dữ liệu định vị phức tạp. |
Tìm kiếm theo hashtag, tài khoản hoặc danh bạ. |
Chatbot thông minh: Hỗ trợ hội thoại tự nhiên để lọc bạn bè theo sở thích, trường học, chuyên môn. |
Dựa trên phân tích yêu cầu phần mềm, hệ thống được cấu trúc theo mô hình phân loại MoSCoW:
- Must-have (Bắt buộc có): Xác thực người dùng (JWT, xác thực email qua SMTP), CRUD bài viết, bình luận đa cấp, thả cảm xúc (Like/Unlike), nhắn tin trực tiếp qua Socket.IO, bảng điều khiển quản trị (Admin Dashboard).
- Should-have (Nên có): Gọi video WebRTC P2P, module AI nhận diện ngôn từ độc hại và phát hiện vũ khí trong ảnh, bản tin ngắn biến mất sau 24h (Stories), quản lý nhóm công khai/thành viên.
- Could-have (Có thể có): Nhận diện khuôn mặt đề xuất tag tự động, Chatbot tìm bạn thông minh theo metadata.
- Won't-have (Chưa thực hiện ở giai đoạn này): Tích hợp cổng thanh toán điện tử (Payment Gateway), livestream đa điểm (SFU/MCU architecture).
Thiết kế hệ thống
Kiến trúc WebSocialMedia được xây dựng theo mô hình Client-Server kết hợp Service-Oriented Architecture (SOA), tách biệt giữa tầng hiển thị giao diện, tầng xử lý nghiệp vụ trung tâm và tầng dịch vụ tính toán AI chuyên biệt:
- Frontend Client: Xây dựng trên nền tảng Single Page Application (SPA) với ReactJS 18.2.0, tận dụng Virtual DOM để tối ưu hóa hiệu năng render, kết hợp React Context API / Redux Toolkit để quản lý trạng thái luồng dữ liệu một chiều (Unidirectional Data Flow).
- Backend Core Server: Sử dụng NodeJS v20.11.0 LTS kết hợp framework ExpressJS 4.19.2. Kiến trúc non-blocking I/O và Event Loop đơn luồng của NodeJS giúp xử lý hàng nghìn kết nối đồng thời với mức tiêu thụ bộ nhớ thấp.
- AI Processing Microservice: Xây dựng bằng Python 3.10.12, sử dụng Flask/FastAPI để cung cấp các REST API chuyên dụng xử lý tác vụ Machine Learning, Computer Vision và Xử lý ngôn ngữ tự nhiên (NLP).
- Real-time & Media Layer: Socket.IO 4.7.5 chịu trách nhiệm thiết lập kênh WebSocket 2 chiều cho tính năng Chat/Notification. WebRTC API kết hợp giao thức Signaling trên Socket.IO điều phối thiết lập kết nối ngang hàng (P2P) qua
RTCPeerConnection, getUserMedia và trao đổi SDP/ICE Candidates.
- Database Architecture: Cơ sở dữ liệu quan hệ được thiết kế chuẩn hóa (3NF) gồm 17 thực thể chính:
Users (UserId, Username, Email, PasswordHash, Avatar, Bio, Hobbies, Location, School, CreatedAt, IsVerified).
Posts (PostId, UserId, Content, PrivacyMode, IsToxic, HasWeapon, CreatedAt).
Posts_images (ImageId, PostId, ImageUrl, ExtractedFaces).
Comments (CommentId, PostId, UserId, Content, CreatedAt).
Likes (LikeId, PostId, UserId, CreatedAt).
Stories (StoryId, UserId, MediaUrl, ExpiredAt).
Publicgroups & Membergroups (Quản lý cộng đồng và phân quyền nhóm).
Relationships (RelationshipId, FollowerId, FollowingId, Status).
Conversations, Conversations_members, Messages, Reaction_message (Hạ tầng lưu trữ tin nhắn chat).
Notifications, Reports, Storage, UserOfTag (Quản lý gắn thẻ và báo cáo vi phạm).
+------------------------------------------------------------------------------------+
| DATABASE ENTITY RELATIONSHIP DIAGRAM |
+------------------------------------------------------------------------------------+
| [Users] 1 <----- N [Posts] 1 <----- N [Posts_images] |
| | | |
| | 1 +-- 1 <----- N [Comments] |
| v N | |
| [Relationships] +-- 1 <----- N [Likes] |
| | | |
| | 1 +-- 1 <----- N [UserOfTag] N -----> 1 [Users] |
| v N |
| [Conversations_members] N -----> 1 [Conversations] 1 <----- N [Messages] |
| |
| [Users] 1 <----- N [Stories] |
| [Users] 1 <----- N [Reports] |
| [Users] 1 <----- N [Notifications] |
+------------------------------------------------------------------------------------+
Methodology
Dự án áp dụng mô hình phát triển phần mềm linh hoạt (Agile/Scrum) với chu kỳ 5 Sprint trải dài trong 16 tuần:
- Sprint 1 (Tuần 1 - 3): Khảo sát thực tế, thu thập yêu cầu người dùng, thiết kế sơ đồ Use Case, Activity Diagram và thiết kế kiến trúc cơ sở dữ liệu.
- Sprint 2 (Tuần 4 - 7): Xây dựng Core Backend API (NodeJS/Express), triển khai JWT Auth, CRUD bài viết, bình luận, quan hệ theo dõi (Follow). Xây dựng cấu trúc UI/UX Frontend với ReactJS.
- Sprint 3 (Tuần 8 - 10): Nghiên cứu và huấn luyện/triển khai các module AI trên Python: Xử lý ngôn ngữ tự nhiên phát hiện toxic text, mô hình Computer Vision nhận diện vũ khí và trích xuất vector khuôn mặt.
- Sprint 4 (Tuần 11 - 13): Tích hợp kênh truyền thông thời gian thực: Hệ thống Chatbot thông minh, phòng chat trực tuyến Socket.IO và chức năng Video Call thông qua WebRTC Signaling.
- Sprint 5 (Tuần 14 - 16): Kiểm thử toàn diện (Unit Testing, Integration Testing, UAT), đo đạc hiệu năng hệ thống, tối ưu hóa truy vấn dữ liệu và đóng gói triển khai.
Implementation và kết quả
Development process
Quá trình hiện thực hóa hệ thống được phân rã thành các module kỹ thuật chuyên sâu. Tầng Backend áp dụng mô hình MVC mở rộng kết hợp Service Repository Pattern nhằm đảm bảo tính phân tách độc lập (Separation of Concerns).
Dưới đây là đoạn mã nguồn hiện thực hóa Bộ điều phối tín hiệu WebRTC (Signaling Handler) trên môi trường NodeJS / Socket.IO:
// signalingServer.js - WebRTC Peer-to-Peer Signaling Coordinator
const setupWebRTCSignaling = (io) => {
const activeRooms = new Map();
io.on('connection', (socket) => {
socket.on('join-call-room', ({ roomId, userId }) => {
socket.join(roomId);
activeRooms.set(socket.id, { roomId, userId });
socket.to(roomId).emit('user-connected', { peerSocketId: socket.id, userId });
});
socket.on('offer-signal', ({ targetSocketId, callerSDP }) => {
io.to(targetSocketId).emit('receive-offer', {
callerSocketId: socket.id,
sdp: callerSDP,
});
});
socket.on('answer-signal', ({ targetSocketId, calleeSDP }) => {
io.to(targetSocketId).emit('receive-answer', {
responderSocketId: socket.id,
sdp: calleeSDP,
});
});
socket.on('ice-candidate', ({ targetSocketId, candidate }) => {
io.to(targetSocketId).emit('receive-ice-candidate', {
senderSocketId: socket.id,
candidate: candidate,
});
});
socket.on('disconnect', () => {
const session = activeRooms.get(socket.id);
if (session) {
socket.to(session.roomId).emit('user-disconnected', { peerSocketId: socket.id });
activeRooms.delete(socket.id);
}
});
});
};
module.exports = setupWebRTCSignaling;
Tại tầng AI Service, Python sử dụng các thư viện tiền xử lý NLP cùng mô hình phát hiện đối tượng nhằm sàng lọc nội dung trước khi lưu trữ vào hệ thống:
# ai_moderation_service.py - Multi-modal Content Moderation
import cv2
import numpy as np
from flask import Flask, request, jsonify
import face_recognition
app = Flask(__name__)
# Danh mục từ khóa độc hại & trọng số phân loại
TOXIC_LEXICON = {"chửi_thề", "xúc_phạm", "thù_hận", "quấy_rối", "bạo_lực"}
def evaluate_toxic_text(text: str) -> dict:
tokens = set(text.lower().split())
matched_toxic = tokens.intersection(TOXIC_LEXICON)
toxicity_score = len(matched_toxic) / max(len(tokens), 1)
is_toxic = len(matched_toxic) > 0 or toxicity_score > 0.15
return {"is_toxic": is_toxic, "toxicity_score": round(toxicity_score, 4), "flagged_words": list(matched_toxic)}
def detect_faces_and_embeddings(image_bytes):
nparr = np.frombuffer(image_bytes, np.uint8)
image = cv2.imdecode(nparr, cv2.IMREAD_COLOR)
rgb_image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
face_locations = face_recognition.face_locations(rgb_image, model="hog")
face_encodings = face_recognition.face_encodings(rgb_image, face_locations)
results = []
for loc, enc in zip(face_locations, face_encodings):
results.append({
"box": {"top": loc[0], "right": loc[1], "bottom": loc[2], "left": loc[3]},
"embedding": enc.tolist()
})
return results
@app.route('/api/v1/moderate', methods=['POST'])
def moderate_content():
content_text = request.form.get('content', '')
text_result = evaluate_toxic_text(content_text)
image_result = []
if 'image' in request.files:
img_file = request.files['image'].read()
image_result = detect_faces_and_embeddings(img_file)
return jsonify({
"text_moderation": text_result,
"faces_detected": len(image_result),
"face_data": image_result
}), 200
if __name__ == '__main__':
app.run(host='0.0.0.0', port=5001)
Testing và validation
Quá trình kiểm thử được triển khai toàn diện trên 3 cấp độ: Unit Testing, Integration Testing và User Acceptance Testing (UAT).
| Hạng mục kiểm thử |
Công cụ / Phương pháp |
Số test cases |
Số ca Pass |
Tỷ lệ thành công (%) |
| Xác thực & Bảo mật (Auth) |
Jest / Supertest |
35 |
35 |
100.0% |
| Quản lý Bài viết & Bình luận |
Jest / Postman Newman |
48 |
47 |
97.9% |
| Chat & WebSocket Real-time |
Socket.io-client Mock |
25 |
24 |
96.0% |
| Cuộc gọi WebRTC P2P |
Manual Test / WebRTC Internals |
20 |
19 |
95.0% |
| AI Content Moderation |
Python PyTest (Dataset 500 mẫu) |
500 |
462 |
92.4% |
| AI Face Tagging Recommendation |
LFW Dataset Subset + Thực nghiệm |
150 |
141 |
94.0% |
| Tổng thể kiểm thử |
End-to-End Suite |
778 |
728 |
93.57% |
+---------------------------------------------------------------------------------+
| PERFORMANCE BENCHMARK DASHBOARD |
+---------------------------------------------------------------------------------+
| API Gateway Response Time (Cold Cache): 128ms | WebRTC P2P Latency: 48ms |
| API Gateway Response Time (Warm Cache): 22ms | Concurrent WebSockets: 2,500 |
| AI Moderation Pipeline Throughput: 18 req/sec | Lighthouse Score: 92/100 |
+---------------------------------------------------------------------------------+
Kết quả đạt được
Hệ thống đã hoàn thiện 100% các chức năng cốt lõi theo đề cương được duyệt, bao gồm 27 màn hình giao diện người dùng và quản trị viên:
- Thời gian phản hồi nghiệp vụ: Đạt mức trung bình 42ms - 135ms cho các tác vụ CRUD thông thường.
- Hiệu năng truyền thông thời gian thực: Trễ tin nhắn tức thời qua Socket.IO đạt < 35ms; cuộc gọi video WebRTC ổn định ở độ phân giải HD 720p với mức khung hình 30 FPS, độ trễ đường truyền P2P chỉ 45ms - 75ms.
- Mức độ hài lòng của người dùng (UAT): Thử nghiệm trên 60 sinh viên khoa CNTT cho thấy 91,6% đánh giá giao diện thân thiện, dễ sử dụng và 88,3% đánh giá cao tính năng tự động lọc ngôn từ phản cảm.
Đổi mới và đóng góp
- Mô hình kiểm duyệt nội dung tiền kiểm (Proactive Pre-moderation): Khác với cơ chế hậu kiểm truyền thống, WebSocialMedia ứng dụng bộ lọc kép (Dual-layer AI). Khi người dùng nhập văn bản và tải ảnh, hệ thống phân tích đồng thời độ thô tục của chuỗi ký tự và quét đối tượng vũ khí nguy hiểm trong ảnh, ngăn chặn tức thời hành vi phát tán nội dung tiêu cực.
- Cơ chế gợi ý gắn thẻ tự động (AI Auto-tagging Suggestion): Hệ thống sử dụng mạng trích xuất 128 chiều đặc trưng khuôn mặt (Face Embeddings). Khi người dùng đăng ảnh nhóm, hệ thống tính toán khoảng cách Euclidean giữa vector khuôn mặt trong ảnh với vector hồ sơ của bạn bè để tự động gợi ý danh sách gắn thẻ với độ chính xác trên 94%.
- Trợ lý Chatbot tìm kiếm theo ngữ nghĩa xã hội (Social Semantic Search): Tích hợp Chatbot đàm thoại tự nhiên cho phép người dùng nhập các tiêu vấn phức tạp (ví dụ: "Tìm bạn ở TP.HCM thích học lập trình NodeJS"), bot tự động bóc tách thực thể và truy vấn cơ sở dữ liệu để đưa ra danh sách kết nối phù hợp nhất.
- Tối ưu chi phí hạ tầng với WebRTC P2P: Bằng cách sử dụng kiến trúc mạng ngang hàng cho chức năng gọi điện và video, toàn bộ băng thông truyền dẫn media được phân tải trực tiếp giữa 2 máy khách (client-to-client), giúp máy chủ NodeJS chỉ tiêu tốn tài nguyên cho quá trình Signaling, giảm 85% chi phí băng thông máy chủ so với mô hình SFU/MCU truyền thống.
Ứng dụng thực tế và triển khai
Kịch bản ứng dụng thực tế
- Mạng xã hội học đường / Doanh nghiệp nội bộ: WebSocialMedia là giải pháp lý tưởng để triển khai làm nền tảng kết nối sinh viên tại các trường đại học (như HCMUTE) hoặc mạng truyền thông nội bộ cho doanh nghiệp, nơi đòi hỏi môi trường trao đổi văn minh, an toàn dữ liệu và không bị thao túng bởi thuật toán quảng cáo thương mại.
- Cộng đồng học tập và nghiên cứu chuyên sâu: Tính năng Chatbot tìm kiếm theo sở thích và kỹ năng hỗ trợ đắc lực cho sinh viên tìm bạn cùng tiến, lập nhóm nghiên cứu khoa học hoặc ghép nhóm đồ án môn học.
+-------------------------------------------------------------------------------+
| DEPLOYMENT TOPOLOGY |
+-------------------------------------------------------------------------------+
| Internet / Client Browsers (HTTPS/WSS) |
| | |
| v |
| +-----------------------------------------+ |
| | Nginx Reverse Proxy & SSL (443) | |
| +-----------------------------------------+ |
| / \ |
| v v |
| +--------------------------------+ +--------------------------------+ |
| | Node.js / Express Core Service | | Python Flask AI Microservice | |
| | (Port 5000 - PM2 Cluster) | | (Port 5001 - Gunicorn Workers) | |
| +--------------------------------+ +--------------------------------+ |
| \ / |
| +-------------+-------------+ |
| v |
| +-------------------------------+ |
| | MySQL Database / S3 Storage | |
| +-------------------------------+ |
+-------------------------------------------------------------------------------+
Chiến lược triển khai (Deployment Architecture)
- Hạ tầng Container hóa: Toàn bộ hệ thống được đóng gói thành các Docker Container độc lập, điều phối thông qua
docker-compose.
- Cân bằng tải & Reverse Proxy: Cấu hình Nginx đứng trước làm nhiệm vụ phân phối tải, xử lý chứng chỉ bảo mật SSL/TLS (Let's Encrypt), nén gzip dữ liệu tĩnh và định tuyến thông minh (Reverse Proxy) tới các service NodeJS (Port 5000) và Python AI (Port 5001).
- Quy trình CI/CD: Thiết lập GitHub Actions tự động kiểm thử và build image mỗi khi có commit mới vào nhánh
main.
Hạn chế và hướng phát triển
Hạn chế kỹ thuật hiện tại
- Xử lý AI phụ thuộc tài nguyên máy chủ: Mô hình xử lý ngôn ngữ và nhận diện hình ảnh hiện chạy trên môi trường CPU của máy chủ, dẫn đến thông lượng xử lý bị giới hạn ở mức 18-25 yêu cầu/giây khi có tải đột biến.
- Phạm vi nền tảng: Ứng dụng hiện tại tập trung hoàn toàn vào nền tảng Web (Responsive Web Design), chưa có ứng dụng di động bản địa (Native Mobile Apps trên iOS và Android).
- Hỗ trợ đa ngôn ngữ: Bộ từ điển và thuật toán kiểm duyệt nội dung độc hại mới tối ưu cho tiếng Việt, chưa xử lý triệt để các biến thể tiếng lóng viết tắt phức tạp hoặc ngôn ngữ tiếng Anh/tiếng Pháp.
Hướng phát triển trong tương lai
- Chuyển đổi kiến trúc Microservices & Kubernetes (K8s): Tách nhỏ các dịch vụ cốt lõi thành các pod riêng biệt, tích hợp Redis Caching và Message Queue (RabbitMQ/Kafka) để phân tán tải bất đồng bộ cho các tác vụ AI.
- Nâng cấp AI với Large Language Models (LLMs): Thay thế bộ lọc từ khóa bằng các mô hình ngôn ngữ lớn (phù hợp với tiếng Việt như PhoBERT/ViLLMs) kết hợp cơ chế RAG (Retrieval-Augmented Generation) để nâng cao chất lượng đàm thoại của Chatbot.
- Phát triển ứng dụng Mobile Đa nền tảng: Sử dụng React Native hoặc Flutter để tái sử dụng tối đa logic nghiệp vụ từ hệ thống Backend hiện có.
Đối tượng hưởng lợi
+-------------------------------------------------------------------------------+
| TARGET BENEFICIARIES |
+-------------------------------------------------------------------------------+
| +-------------------+ +-------------------+ +---------------------------+ |
| | STUDENTS | | DEVELOPERS | | EDUCATIONAL / BUSINESS | |
| | Nền tảng kết nối | | Mã nguồn tham | | Nền tảng MXH an toàn, | |
| | học thuật an toàn | | khảo full-stack | | kiểm duyệt tự động, | |
| | không toxic. | | NodeJS, AI, WebRTC| | bảo mật dữ liệu nội bộ. | |
| +-------------------+ +-------------------+ +---------------------------+ |
+-------------------------------------------------------------------------------+
- Sinh viên & Học viên CNTT: Đồ án cung cấp tài liệu tham khảo hoàn chỉnh về quy trình xây dựng hệ thống web quy mô lớn từ khâu phân tích đặc tả use case, sequence diagram đến kiểm thử và triển khai thực tế.
- Kỹ sư phần mềm (Developers): Cung cấp mã nguồn và mẫu kiến trúc tích hợp giữa NodeJS (Event-driven) và Python (Machine Learning), cũng như kỹ thuật triển khai WebRTC Signaling thực chiến.
- Tổ chức giáo dục và Doanh nghiệp: Sở hữu một giải pháp mã nguồn mở có thể tùy biến nhanh chóng để làm mạng xã hội nội bộ với chi phí vận hành tối thiểu và kiểm soát 100% dữ liệu người dùng.
Câu hỏi thường gặp
1. Yêu cầu phần cứng và môi trường tối thiểu để triển khai hệ thống là gì?
Để triển khai hệ thống trong môi trường thử nghiệm (quy mô dưới 500 người dùng đồng thời), cấu hình khuyến nghị bao gồm:
- Server: CPU 4 Cores (x86_64), 8GB RAM, 50GB SSD lưu trữ.
- Môi trường: Ubuntu 22.04 LTS, Docker Engine v24+, NodeJS v20.x, Python v3.10.x, MySQL 8.0.
- Băng thông mạng: Tối thiểu 100 Mbps đối xứng, có mở các cổng 80, 443, 5000, 5001 và dải cổng UDP cho WebRTC ICE Candidates.
2. Giới hạn khả năng mở rộng (Scalability Limits) của hệ thống và giải pháp nâng cấp?
Hiện tại, nút thắt cổ chai nằm ở module AI inference trên CPU và kết nối WebSocket trên một instance NodeJS duy nhất. Để mở rộng lên quy mô 100.000+ người dùng:
- Xử lý Real-time: Sử dụng Socket.IO Redis Adapter để đồng bộ trạng thái giữa nhiều instance NodeJS chạy song song phía sau Nginx / HAProxy.
- Xử lý AI: Đưa các tác vụ nhận diện ảnh và toxic text vào hàng đợi phân tán (Celery + Redis) và xử lý trên các máy chủ có GPU chuyên dụng (NVIDIA T4/A10G).
3. Hệ thống có khả năng tích hợp với các nền tảng có sẵn không?
Hệ thống được thiết kế theo kiến trúc chuẩn RESTful API với định dạng dữ liệu JSON, cho phép dễ dàng tích hợp với các hệ thống xác thực tập trung (Single Sign-On qua LDAP/OAuth2), hệ thống quản lý học tập (LMS như Moodle, Canvas) hoặc nhúng vào cổng thông tin nội bộ của trường học/doanh nghiệp.
4. Nhu cầu bảo trì và vận hành hệ thống định kỳ bao gồm những gì?
- Sao lưu cơ sở dữ liệu: Thiết lập Cron Job tự động backup MySQL định kỳ hàng ngày và đồng bộ lên Cloud Storage.
- Cập nhật dữ liệu AI: Định kỳ cập nhật từ điển từ ngữ thô tục và fine-tune mô hình nhận diện khuôn mặt dựa trên phản hồi của người dùng.
- Giám sát hệ thống: Tích hợp công cụ giám sát hiệu năng như Prometheus & Grafana để theo dõi mức sử dụng CPU, RAM và độ trễ phản hồi API.
5. Dự toán chi phí vận hành và thời gian thu hồi vốn (ROI Timeline)?
- Chi phí hạ tầng: Vận hành trên 01 máy chủ VPS đám mây (Cloud Server) tiêu chuẩn có chi phí khoảng 20 - 40 USD/tháng (xấp xỉ 500.000 - 1.000.000 VNĐ/tháng).
- Hiệu quả đầu tư (ROI): Đối với các trường học hoặc tổ chức, việc tự chủ hoàn toàn nền tảng mạng xã hội nội bộ giúp tiết kiệm hàng ngàn USD chi phí bản quyền phần mềm nước ngoài mỗi năm, đồng thời bảo đảm an toàn dữ liệu học viên và nghiên cứu khoa học ngay từ tháng đầu tiên vận hành.
Kết luận
Đồ á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 đã hoàn thành xuất sắc mục tiêu nghiên cứu và phát triển một nền tảng truyền thông xã hội hiện đại, an toàn và thông minh. Bằng sự kết hợp chặt chẽ giữa các công nghệ web tiên tiến (ReactJS, NodeJS, Socket.IO, WebRTC) và các giải pháp trí tuệ nhân tạo chuyên sâu (Python, Computer Vision, NLP), đề tài đã giải quyết hiệu quả bài toán kiểm duyệt nội dung độc hại, tự động hóa tương tác người dùng và tối ưu hóa hạ tầng truyền thông thời gian thực.
Kết quả đánh giá loại Giỏi từ hội đồng chuyên môn Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh là minh chứng rõ nét cho giá trị khoa học, tính hoàn thiện kỹ thuật và khả năng ứng dụng thực tiễn cao của đề tài. Dự án mở ra tiền đề vững chắc cho việc phát triển các giải pháp mạng xã hội học thuật và chuyên biệt, hướng tới một không gian mạng văn minh và an toàn trong thời đại số.