Đồ án xây dựng hệ thống mạng xã hội nội bộ UTEALO sử dụng kiến trúc microservice ĐH SPKT TP.HCM

Đồ án xây dựng hệ thống mạng xã hội nội bộ UTEALO sử dụng kiến trúc microservice, Spring Boot, NodeJS và ReactJS tại ĐH Sư phạm Kỹ thuật TP.HCM.

Trường đại học

Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh

Chuyên ngành

Công nghệ thông tin

Tác giả

Ngô Diệp Quang Huy, Võ Hồng Khang

Thể loại

Khóa luận tốt nghiệp

2024

168
0
0

Phí lưu trữ

45 Point

Tóm tắt

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.

Tóm tắt và mô tả trên trang này được tạo với sự hỗ trợ của AI. Nếu bạn thấy nội dung không chính xác hoặc có vấn đề, vui lòng Báo lỗi nội dung.

15/10/2026

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

Chương 1: Cơ sở lý thuyết REST API, v. Điều này có thể giúp bạn tiết kiệm thời gian và công sức trong việc tìm hiểu và cấu hình các thư viện phụ thuộc. Hỗ trợ các tiêu chuẩn: Spring Boot hỗ trợ các tiêu chuẩn hiện đại, chẳng hạn như REST, JSON, v. Điều này có thể giúp bạn dễ dàng tích hợp ứng dụng của mình với các ứng dụng và dịch vụ khác.

Tích hợp với các công cụ: Spring Boot tích hợp với các công cụ phổ biến, chẳng hạn như Maven, Gradle, v. Điều này có thể giúp bạn đơn giản hóa quá trình xây dựng, kiểm thử và triển khai ứng dụng. Hoạt động liên tục: Spring Boot cung cấp các tính năng giúp bạn dễ dàng triển khai và duy trì ứng dụng của mình trong môi trường hoạt động liên tục (continuous delivery/deployment). Điều này có thể giúp bạn giảm thiểu thời gian và công sức cần thiết để đưa ứng dụng mới lên sản xuất.

Khả năng mở rộng: Spring Boot là một framework linh hoạt có thể được mở rộng để đáp ứng các yêu cầu cụ thể của ứng dụng của bạn. Điều này có thể giúp bạn xây dựng các ứng dụng mạnh mẽ và linh hoạt. Tăng tính bảo mật: Spring Boot cung cấp các tính năng bảo mật tích hợp, giúp bạn bảo vệ ứng dụng của mình khỏi các mối đe dọa bảo mật. b) Nhược điểm: Không phù hợp cho tất cả các loại ứng dụng: Spring Boot có thể không phù hợp cho các ứng dụng có yêu cầu cấu hình phức tạp hoặc yêu cầu bảo mật cao.

Yêu cầu kiến thức cơ bản về Spring Framework: Spring Boot được xây dựng trên nền tảng Spring Framework, vì vậy bạn cần có kiến thức cơ bản về Spring Framework trước khi bắt đầu sử dụng Spring Boot. Có thể khó khăn để tìm hiểu: Spring Boot là một framework phức tạp, vì vậy có thể khó khăn để tìm hiểu nếu bạn không có kinh nghiệm với các framework Java khác. 6 Chương 1: Cơ sở lý thuyết Có thể không phù hợp cho các ứng dụng quy mô lớn: Spring Boot có thể không phù hợp cho các ứng dụng quy mô lớn, vì nó có thể khó quản lý và bảo trì. bạn bảo vệ ứng dụng của mình khỏi các mối đe dọa bảo mật.

• Các tính năng của Spring Boot [3] Spring Data JPA Spring Boot JPA là một bản ghi chi tiết của Java để quản lý dữ liệu quan hệ trong các ứng dụng Java. JPA tuân theo Object-Relational Mapping (ORM). Nó là một tập hợp các interface. Nó sử dụng ngôn ngữ truy vấn hướng đối tượng độc lập nền tảng JPQL (Java Persistence Query Language).1 Spring Data JPA [4] Tính năng hỗ trợ: ● Là một repository mạnh mẽ và object-mapping abstraction tùy chỉnh.

● Hỗ trợ cho cross-store persistence. Tức là một entity có thể được lưu trữ một phần trong MySQL và Neo4j (Hệ thống quản lý cơ sở dữ liệu đồ thị). ● Tự động tạo các truy vấn từ ngay chính tên các phương thức truy vấn. ● Các lớp dựa vào tên miền cung cấp các thuộc tính cơ bản.

● Hỗ trợ kiểm tra quản lý minh bạch. ● Khả năng tích hợp mã repository tùy chỉnh. ● Dễ dàng tích hợp với Spring Framework với namespace tùy chỉnh. 7 Chương 1: Cơ sở lý thuyết Spring Security Spring Security là một framework tập trung vào việc cung cấp cả xác thực và ủy quyền cho các ứng dụng Java.2 Spring Security [5] Các tính năng: - Hỗ trợ toàn diện và có thể mở rộng cho cả Xác thực và Ủy quyền - Bảo vệ chống lại các cuộc tấn công như cố định phiên, clickjacking, giả mạo yêu cầu chéo trang, v.

- Tích hợp Servlet API Tích hợp tùy chọn với Spring Web MVC 1. ReactJS • ReactJS là gì? [6] ReactJS là một thư viện JavaScript mã nguồn mở được phát triển bởi Facebook và cộng đồng các nhà phát triển trên toàn thế giới. Nó được sử dụng để xây dựng giao diện người dùng (UI) cho các ứng dụng web và di động. ReactJS sử dụng mô hình component-based để xây dựng UI.

Mỗi component là một đơn vị độc lập có thể được tái sử dụng. Điều này làm cho ReactJS trở nên linh hoạt và dễ bảo trì. 8 Chương 1: Cơ sở lý thuyết ReactJS cũng sử dụng virtual DOM để tối ưu hóa việc render UI. Virtual DOM là một bản sao của DOM thực tế.

ReactJS chỉ cập nhật các phần của virtual DOM cần thiết khi có thay đổi. Điều này giúp cải thiện hiệu suất của ứng dụng. ReactJS là một thư viện mạnh mẽ và linh hoạt được sử dụng bởi nhiều công ty lớn, bao gồm Facebook, Instagram, Netflix, v. • Ưu điểm và nhược điểm [7] a) Ưu điểm Linh hoạt: ReactJS sử dụng mô hình component-based, giúp bạn dễ dàng xây dựng các ứng dụng UI phức tạp và có thể mở rộng.

Các component có thể được tái sử dụng, giúp bạn tiết kiệm thời gian và công sức phát triển ứng dụng. Tối ưu: ReactJS sử dụng virtual DOM để tối ưu hóa việc render UI, giúp cải thiện hiệu suất của ứng dụng. Virtual DOM là một bản sao của DOM thực tế. ReactJS chỉ cập nhật các phần của virtual DOM cần thiết khi có thay đổi.

Điều này giúp giảm thiểu số lượng thay đổi đối với DOM thực tế, do đó cải thiện hiệu suất của ứng dụng. Hiệu suất: ReactJS được tối ưu hóa cho hiệu suất, giúp ứng dụng của bạn chạy nhanh và mượt mà. Tương thích: ReactJS tương thích với nhiều trình duyệt web và thiết bị di động. Điều này giúp bạn dễ dàng phân phối ứng dụng của mình cho nhiều người dùng.

Hỗ trợ cộng đồng: ReactJS có một cộng đồng lớn và tích cực, cung cấp nhiều tài nguyên để giúp bạn học hỏi và sử dụng ReactJS. b) Nhược điểm Có thể khó học: ReactJS sử dụng một số khái niệm mới, chẳng hạn như virtual DOM và component-based. Điều này có thể khiến việc học ReactJS trở nên khó khăn nếu bạn không có kinh nghiệm với các thư viện JavaScript khác. 9 Chương 1: Cơ sở lý thuyết Có thể không phù hợp cho tất cả các loại ứng dụng: ReactJS là một thư viện mạnh mẽ và linh hoạt, nhưng nó có thể không phù hợp cho tất cả các loại ứng dụng.

Ví dụ, ReactJS có thể không phù hợp cho các ứng dụng có yêu cầu cấu hình phức tạp hoặc yêu cầu bảo mật cao. • Các tính năng nổi bật của ReactJS Mô hình component-based: ReactJS sử dụng mô hình component-based để xây dựng UI. Mỗi component là một đơn vị độc lập có thể được tái sử dụng. Điều này làm cho ReactJS trở nên linh hoạt và dễ bảo trì.

Virtual DOM: ReactJS sử dụng virtual DOM để tối ưu hóa việc render UI. Virtual DOM là một bản sao của DOM thực tế. ReactJS chỉ cập nhật các phần của virtual DOM cần thiết khi có thay đổi. Điều này giúp cải thiện hiệu suất của ứng dụng.1 Sơ đồ Virtual DOM và Browser DOM [8] JSX: ReactJS sử dụng JSX, một ngôn ngữ lập trình phân biệt được sử dụng để mô tả các component UI.

JSX giúp bạn viết code UI ngắn gọn và dễ đọc hơn. State: ReactJS cung cấp các tính năng để quản lý trạng thái của ứng dụng. Điều này giúp bạn dễ dàng theo dõi và cập nhật trạng thái của ứng dụng. 10 Chương 1: Cơ sở lý thuyết Redux: Redux là một thư viện mã nguồn mở giúp quản lý trạng thái của ứng dụng một cách hiệu quả.

Redux thường được sử dụng với ReactJS để xây dựng các ứng dụng phức tạp.8 đã giới thiệu các hooks, một cách mới để truy cập các tính năng của ReactJS trong các component. Hooks giúp bạn viết code component ngắn gọn và dễ đọc hơn. SQL Server Microsoft SQL Server là một hệ thống quản lý cơ sở dữ liệu quan hệ (RDBMS) có khả năng hỗ trợ nhiều loại ứng dụng khác nhau như xử lý giao dịch, thông minh kinh doanh và phân tích trong môi trường Công nghệ thông tin của các doanh nghiệp. Đứng trong hàng ngũ 3 công nghệ cơ sở dữ liệu hàng đầu trên thị trường, Microsoft SQL Server đồng hành cùng Oracle và DB2 của IBM.

[9] Tương tự như các phần mềm RDBMS khác, Microsoft SQL Server được xây dựng dựa trên ngôn ngữ truy vấn chuẩn SQL, là công cụ quản lý cơ sở dữ liệu được các chuyên gia CNTT và quản trị viên cơ sở dữ liệu (DBA) sử dụng để thực hiện các truy vấn và quản lý dữ liệu. Máy chủ SQL cũng tích hợp Transact-SQL (T-SQL), một triển khai SQL của Microsoft có cung cấp các công cụ lập trình mở rộng độc quyền cho ngôn ngữ tiêu chuẩn này. RESTFul API a) RESTFul API là gì? [10] RESTFul API là một tiêu chuẩn dùng trong việc thiết kế các API cho các ứng dụng web để quản lý các resource. RESTful là một trong những kiểu thiết kế API được sử dụng phổ biến ngày nay để cho các ứng dụng (web, mobile.) khác nhau giao tiếp với nhau.

Chức năng quan trọng nhất của REST là quy định cách sử dụng các HTTP method (như GET, POST, PUT, DELETE.) và cách định dạng các URL cho ứng dụng web để quản các resource. RESTful không quy định logic code ứng dụng và không giới hạn bởi 11 Chương 1: Cơ sở lý thuyết ngôn ngữ lập trình ứng dụng, bất kỳ ngôn ngữ hoặc framework nào cũng có thể sử dụng để thiết kế một RESTFul API. b) Cách hoạt động Hình 1.1 Cách hoạt động của RESTful API [11] REST hoạt động chủ yếu dựa vào giao thức HTTP. Các hoạt động cơ bản nêu trên sẽ sử dụng những phương thức HTTP riêng.

GET (SELECT): Trả về một Resource hoặc một danh sách Resource. POST (CREATE): Tạo mới một Resource. PUT (UPDATE): Cập nhật thông tin cho Resource. DELETE (DELETE): Xoá một Resource.

Những phương thức hay hoạt động này thường được gọi là CRUD tương ứng với Create, Read, Update, Delete – Tạo, Đọc, Sửa, Xóa. Microservices a) Định nghĩa [12] Mô hình microservice là một kiến trúc phần mềm trong đó ứng dụng được cấu trúc dưới dạng một tập hợp các dịch vụ nhỏ, mỗi dịch vụ thực hiện một nhiệm vụ cụ thể và độc 12 Chương 1: Cơ sở lý thuyết lập với các dịch vụ khác. Mỗi dịch vụ có thể được phát triển, triển khai và mở rộng một cách độc lập.1 Kiến trúc microservice [13] b) Đặc điểm chính Tính mô-đun cao: Mỗi microservice là một mô-đun độc lập, có thể phát triển và bảo trì riêng biệt. Khả năng mở rộng: Các dịch vụ có thể được mở rộng độc lập tùy theo nhu cầu sử dụng.

Độc lập về công nghệ: Mỗi dịch vụ có thể sử dụng các công nghệ, ngôn ngữ lập trình, và cơ sở dữ liệu khác nhau. Tính linh hoạt: Dễ dàng tích hợp và thay thế các dịch vụ mà không ảnh hưởng đến toàn bộ hệ thống.

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

Cách trích dẫn tài liệu này

Chuẩn Việt Nam
Ngô Diệp Quang Huy, Võ Hồng Khang (2024), Xây dựng hệ thống mạng xã hội nội bộ UTEALO sử dụng kiến trúc Microservice, Khóa luận tốt nghiệp, Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh, Hồ Chí Minh.
APA 7
Ngô, D. Q. H., & Võ, H. K. (2024). Xây dựng hệ thống mạng xã hội nội bộ UTEALO sử dụng kiến trúc Microservice [Khóa luận tốt nghiệp, Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh]. vn-document.net. https://vn-document.net/document/xay-dung-he-thong-mang-xa-hoi-noi-bo-utealo-kien-truc-microservice/9883753648
IEEE
D. Q. H. Ngô and H. K. Võ, "Xây dựng hệ thống mạng xã hội nội bộ UTEALO sử dụng kiến trúc Microservice," Khóa luận tốt nghiệp, Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh, Hồ Chí Minh, 2024. [Online]. Available: https://vn-document.net/document/xay-dung-he-thong-mang-xa-hoi-noi-bo-utealo-kien-truc-microservice/9883753648

Tạo trích dẫn cho tài liệu khác