I. Tổng quan về hệ thống mạng xã hội nội bộ UTEALO
UTEALO là hệ thống mạng xã hội nội bộ được xây dựng cho Trường Đại học Sư Phạm Kỹ Thuật TP.HCM. Hệ thống phục vụ nhu cầu kết nối, chia sẻ thông tin và học tập của sinh viên, giảng viên trong môi trường đại học. Dự án được thực hiện bởi hai sinh viên Ngô Diệp Quang Huy và Võ Hồng Khang, dưới sự hướng dẫn của ThS. Nguyễn Hữu Trung, hoàn thành vào tháng 7 năm 2024.
Hệ thống UTEALO cung cấp các chức năng cốt lõi của một mạng xã hội. Người dùng có thể quản lý hồ sơ cá nhân, đăng bài viết, kết bạn, tìm kiếm theo tên, email, lớp học hoặc chuyên ngành. Ngoài ra, hệ thống hỗ trợ quản lý nhóm học tập, sự kiện ngoại khóa và câu lạc bộ.
Điểm đặc biệt của UTEALO nằm ở kiến trúc kỹ thuật. Hệ thống áp dụng kiến trúc microservice thay vì kiến trúc monolithic truyền thống. Điều này giúp từng thành phần hoạt động độc lập, dễ mở rộng và bảo trì. Giao diện người dùng được xây dựng bằng ReactJS, đảm bảo trải nghiệm mượt mà trên cả thiết bị di động và máy tính để bàn. Hệ thống bảo mật được thiết kế chặt chẽ, bao gồm cơ chế phân quyền và báo cáo nội dung không phù hợp.
1.1. Bối cảnh và mục tiêu của dự án UTEALO
UTEALO ra đời từ nhu cầu thực tế của cộng đồng sinh viên và giảng viên Trường Đại học Sư Phạm Kỹ Thuật TP.HCM. Các nền tảng mạng xã hội thông thường không đáp ứng được yêu cầu đặc thù của môi trường học thuật nội bộ. Mục tiêu của dự án là xây dựng một nền tảng kết nối chuyên biệt, nơi các thành viên có thể chia sẻ tài liệu học tập, thảo luận chuyên môn và tổ chức hoạt động ngoại khóa trong một hệ sinh thái an toàn, được kiểm soát chặt chẽ theo quy định của nhà trường.
1.2. Phạm vi chức năng của hệ thống UTEALO
Hệ thống UTEALO bao gồm nhiều module chức năng. Quản lý thông tin cá nhân cho phép cập nhật hồ sơ, ảnh đại diện và thông tin học tập. Quản lý bài viết hỗ trợ tạo, chỉnh sửa và xóa nội dung. Tính năng tìm kiếm nâng cao cho phép lọc theo tên, email, lớp học và chuyên ngành. Hệ thống phân quyền xác định rõ ràng quyền hạn của từng vai trò người dùng, từ sinh viên đến quản trị viên, đảm bảo vận hành an toàn và có tổ chức.
II. Phân tích kiến trúc microservice trong hệ thống UTEALO
Kiến trúc microservice là phương pháp thiết kế phần mềm trong đó ứng dụng được chia thành nhiều dịch vụ nhỏ, độc lập và chạy trong các tiến trình riêng biệt. Mỗi dịch vụ thực hiện một chức năng cụ thể và giao tiếp với nhau thông qua API.
Trong bối cảnh xây dựng UTEALO, kiến trúc này giải quyết nhiều vấn đề mà kiến trúc monolithic gặp phải. Với kiến trúc monolithic, toàn bộ ứng dụng được triển khai như một khối thống nhất. Khi một thành phần gặp lỗi, toàn bộ hệ thống có thể bị ảnh hưởng. Việc cập nhật một tính năng nhỏ đòi hỏi triển khai lại toàn bộ ứng dụng.
Microservice khắc phục điểm yếu này. Mỗi service của UTEALO như xác thực người dùng, quản lý bài viết, tìm kiếm hay thông báo có thể được phát triển, kiểm thử và triển khai độc lập. Khi lưu lượng truy cập tăng đột biến ở một chức năng cụ thể, chỉ service đó cần được mở rộng quy mô. Điều này tối ưu hóa tài nguyên và giảm chi phí vận hành đáng kể so với phương pháp truyền thống.
2.1. So sánh kiến trúc microservice và monolithic
Kiến trúc monolithic tập trung toàn bộ logic vào một ứng dụng duy nhất. Ưu điểm là đơn giản khi mới bắt đầu nhưng khó bảo trì khi hệ thống lớn dần. Kiến trúc microservice phân tán chức năng thành các service nhỏ. Mỗi service có cơ sở dữ liệu riêng, ngôn ngữ lập trình riêng và vòng đời triển khai độc lập. UTEALO lựa chọn microservice vì khả năng mở rộng linh hoạt, phù hợp với môi trường đại học có lượng người dùng biến động theo học kỳ và sự kiện trường.
2.2. Thách thức khi triển khai microservice cho UTEALO
Triển khai microservice không thiếu thách thức kỹ thuật. Quản lý giao tiếp giữa các service đòi hỏi thiết kế API chuẩn xác. Vấn đề nhất quán dữ liệu giữa các cơ sở dữ liệu phân tán cần được xử lý cẩn thận. Giám sát và ghi log phân tán phức tạp hơn kiến trúc đơn khối. Nhóm phát triển UTEALO cần nắm vững các khái niệm như service discovery, load balancing và circuit breaker để đảm bảo hệ thống hoạt động ổn định trong môi trường sản xuất thực tế.
III. Giải pháp công nghệ xây dựng hệ thống UTEALO
Nhóm phát triển UTEALO lựa chọn một bộ công nghệ hiện đại và được kiểm chứng thực tế. ReactJS đảm nhận vai trò xây dựng giao diện người dùng. Đây là thư viện JavaScript được phát triển bởi Facebook, sử dụng mô hình component-based và virtual DOM.
Virtual DOM là điểm mạnh cốt lõi của ReactJS. Thay vì cập nhật trực tiếp DOM thực tế mỗi khi có thay đổi, ReactJS tạo một bản sao ảo, so sánh sự khác biệt rồi chỉ cập nhật những phần cần thiết. Phương pháp này cải thiện hiệu suất đáng kể, đặc biệt với ứng dụng có nhiều tương tác như mạng xã hội.
Mô hình component-based cho phép tái sử dụng mã nguồn hiệu quả. Một component được viết một lần có thể sử dụng ở nhiều nơi trong ứng dụng. Điều này rút ngắn thời gian phát triển và giảm thiểu lỗi phát sinh.
Phía backend, kiến trúc microservice được triển khai với các service giao tiếp qua API chuẩn RESTful. Mỗi service phụ trách một domain nghiệp vụ rõ ràng. Hệ thống bảo mật được tích hợp ở nhiều tầng, từ xác thực người dùng đến phân quyền chi tiết cho từng hành động trong ứng dụng.
3.1. Ứng dụng ReactJS trong phát triển giao diện UTEALO
ReactJS phù hợp với UTEALO vì tính linh hoạt và hiệu suất cao. Các component như thanh điều hướng, bảng tin, hồ sơ cá nhân hay danh sách bạn bè được xây dựng độc lập và tái sử dụng xuyên suốt ứng dụng. Giao diện phản hồi ngay lập tức với hành động người dùng nhờ cơ chế quản lý state hiệu quả. ReactJS cũng tương thích tốt với nhiều trình duyệt và thiết bị di động, đảm bảo sinh viên và giảng viên có trải nghiệm nhất quán trên mọi nền tảng truy cập.
3.2. Thiết kế API và giao tiếp giữa các microservice
API Gateway đóng vai trò cổng vào duy nhất của hệ thống UTEALO. Mọi yêu cầu từ giao diện người dùng đều đi qua gateway trước khi được điều phối đến service phù hợp. Cách thiết kế này ẩn đi độ phức tạp nội bộ của hệ thống và cung cấp điểm tập trung để xử lý xác thực, giới hạn tốc độ và ghi log. Các service giao tiếp nội bộ thông qua giao thức nhẹ, đảm bảo độ trễ thấp và khả năng phục hồi khi một service gặp sự cố.
IV. Kết quả và ứng dụng thực tiễn của hệ thống UTEALO
Hệ thống UTEALO được hoàn thiện sau quá trình nghiên cứu và phát triển trong khuôn khổ khóa luận tốt nghiệp kỹ sư CNTT khóa 2020-2024. Kết quả đạt được thể hiện qua một nền tảng mạng xã hội nội bộ hoàn chỉnh với đầy đủ chức năng cốt lõi.
Về mặt kỹ thuật, kiến trúc microservice đã chứng minh hiệu quả trong việc phân tách các mối quan tâm. Mỗi service hoạt động độc lập, cho phép nhóm phát triển tập trung vào từng domain nghiệp vụ mà không ảnh hưởng đến các phần khác của hệ thống.
Về mặt người dùng, hệ thống đáp ứng các yêu cầu thiết thực của cộng đồng đại học. Sinh viên có thể kết nối với bạn cùng lớp, cùng chuyên ngành. Giảng viên có thể chia sẻ thông tin học thuật. Các câu lạc bộ và tổ chức sinh viên có không gian riêng để hoạt động.
Hệ thống UTEALO đặt nền móng quan trọng cho việc số hóa hoạt động cộng đồng trong trường đại học. Kinh nghiệm triển khai dự án cung cấp bài học thực tiễn quý giá về quy trình phát triển phần mềm chuyên nghiệp theo kiến trúc microservice trong môi trường học thuật Việt Nam.
4.1. Đánh giá hiệu quả kiến trúc microservice của UTEALO
Kiến trúc microservice của UTEALO thể hiện rõ ưu thế về khả năng mở rộng và bảo trì. Khi một tính năng cần cập nhật, chỉ service liên quan được triển khai lại mà không gián đoạn toàn bộ hệ thống. Độ tin cậy tăng cao vì lỗi ở một service không lan rộng sang các service khác. Đây là bài học thực tiễn quan trọng về thiết kế hệ thống phần mềm quy mô lớn mà nhóm phát triển tích lũy được trong suốt quá trình thực hiện đề tài tốt nghiệp.
4.2. Hướng phát triển và mở rộng hệ thống trong tương lai
UTEALO có tiềm năng mở rộng đáng kể nhờ nền tảng kiến trúc linh hoạt. Các tính năng như gợi ý kết bạn dựa trên machine learning, tích hợp lịch học từ hệ thống quản lý đào tạo hay ứng dụng di động native có thể bổ sung dưới dạng service mới. Hệ thống phân tích dữ liệu hành vi người dùng giúp cải thiện trải nghiệm theo thời gian. Mô hình này có thể nhân rộng sang các trường đại học khác tại Việt Nam với chi phí tùy chỉnh thấp nhờ kiến trúc module hóa rõ ràng.