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

Sự bùng nổ của mạng Internet và công nghệ thông tin đã biến mạng xã hội thành phương tiện thiết yếu phục vụ nhu cầu kết nối, giao tiếp và kinh doanh toàn cầu. Sau đại dịch Covid-19, nhu cầu kết nối trực tuyến cùng xu hướng tìm kiếm các phương thức giải trí, "chữa lành" tâm lý sau giờ làm việc căng thẳng ngày càng gia tăng. Trong bối cảnh đó, podcast nổi lên như một kênh truyền tải âm thanh hiệu quả, mang lại sự thư giãn và giá trị nội dung sâu sắc. Tuy nhiên, phần lớn các nền tảng mạng xã hội hiện nay vẫn tập trung chủ yếu vào hình ảnh hoặc video ngắn, thiếu vắng các không gian chuyên biệt tích hợp podcast vào môi trường tương tác xã hội hoàn chỉnh. Mặt khác, các ứng dụng chuyên về podcast truyền thống lại có tính phi tập trung cao, thiếu tính kết nối cộng đồng, trong khi các mạng xã hội nội địa từng xuất hiện tại Việt Nam (như Gapo, Lotus hay Zing Me) đã bộc lộ nhiều nguyên nhân suy thoái do chưa tối ưu được trải nghiệm và giá trị cốt lõi cho người dùng.

Xuất phát từ thực tiễn trên, đề tài khóa luận tốt nghiệp kỹ sư ngành Công nghệ phần mềm tại Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh mang tên: "Xây dựng mạng xã hội Podcast – Blankcil sử dụng Spring Boot, ReactJS và MongoDB" được thực hiện bởi nhóm sinh viên Huỳnh Trung Kiên, Ngô Minh Thuận và Nguyễn Thế Thành dưới sự hướng dẫn của TS. Mai Anh Thơ.

Mục tiêu và nhiệm vụ nghiên cứu của đề tài được xác định cụ thể:

  1. Nghiên cứu mô hình kiến trúc phát triển web Client - Server sử dụng chuẩn giao tiếp RESTful API.
  2. Tìm hiểu và ứng dụng công nghệ ReactJS kết hợp ViteJS nhằm xây dựng giao diện người dùng tối ưu hóa tốc độ và trải nghiệm tương tác.
  3. Nghiên cứu framework Spring Boot để phát triển hệ thống backend xử lý nghiệp vụ, quản lý cơ chế xác thực và bảo mật thông qua Spring Security cùng JSON Web Token (JWT).
  4. Phân tích, thiết kế và triển khai cơ sở dữ liệu NoSQL với MongoDB; tích hợp hệ thống bộ nhớ đệm Redis nhằm tối ưu hóa hiệu năng truy xuất và giảm tải cho hệ thống dữ liệu chính.
  5. Ứng dụng công nghệ Docker để đóng gói và triển khai ứng dụng đồng bộ trên các môi trường.
  6. Xây dựng hoàn chỉnh nền tảng mạng xã hội Blankcil với các chức năng tương tác xã hội chuyên sâu cho podcast, bao gồm đăng tải, bình luận, tin nhắn thời gian thực, phòng xem chung (watch party), cửa hàng BlankShop và phân hệ quản trị kiểm duyệt nội dung.
  • Đối tượng nghiên cứu: Các cá nhân đam mê podcast, người sáng tạo nội dung (creators/podcasters) mong muốn chia sẻ trải nghiệm cá nhân và cộng đồng thính giả có nhu cầu lắng nghe, tương tác qua âm thanh.
  • Phạm vi nghiên cứu:
    • Về tính năng: Tập trung vào các chức năng cốt lõi của mạng xã hội xoay quanh nội dung podcast video, tích hợp cơ chế tương tác (bình luận, yêu thích, chia sẻ), hệ thống danh hiệu cá nhân ("Podcaster", "Người truyền cảm hứng"), tin nhắn tức thời, phòng xem chung và cửa hàng vật phẩm ảo.
    • Về không gian và thời gian: Đề tài được triển khai tại Khoa Công nghệ Thông tin, Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh trong khoảng thời gian từ ngày 06/01/2025 đến ngày 16/06/2025.

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

Khóa luận kết hợp nền tảng lý thuyết kỹ thuật phần mềm hiện đại và phương pháp phát triển hệ thống thông tin theo quy trình chuẩn:

  • Khung lý thuyết và mô hình kiến trúc:

    • Kiến trúc Client - Server dựa trên RESTful API: Tách biệt hoàn toàn tầng giao diện người dùng (Frontend) và tầng logic nghiệp vụ (Backend), giao tiếp qua giao thức HTTP/HTTPS với định dạng dữ liệu JSON.
    • Kiến trúc Spring MVC: Điều phối luồng xử lý thông qua DispatcherServlet, ánh xạ yêu cầu qua Handler Mapping và Handler Adapter tới các REST Controller, sau đó thực thi qua các tầng Service và Repository.
    • Cơ chế xác thực phi trạng thái (Stateless Authentication): Triển khai giải pháp bảo mật với Spring Security và JSON Web Token (JWT), hỗ trợ chuẩn OAuth JWT phiên bản 5+, loại bỏ việc lưu trữ trạng thái phiên (session) trên máy chủ web.
    • Mô hình cơ sở dữ liệu hướng tài liệu (Document Database): Sử dụng MongoDB để lưu trữ dữ liệu dưới định dạng JSON/BSON linh hoạt, phục vụ mở rộng quy mô theo chiều ngang (scale-out).
    • Kỹ thuật đệm dữ liệu (Caching): Áp dụng Redis (REmote DIctionary Server) lưu trữ trên RAM, tận dụng các cấu trúc dữ liệu chuỗi, danh sách, tập hợp và cơ chế Publish/Subscribe cho các tác vụ thời gian thực và giảm tải truy vấn lặp lại tới MongoDB.
  • Phương pháp nghiên cứu thực tế đã áp dụng:

    • Phương pháp phân tích hệ thống tương tự: Nhóm nghiên cứu khảo sát và đánh giá mô hình phân phối video của YouTube từ giai đoạn sơ khai (năm 2005) đến phiên bản hiện tại, từ đó xác định các khoảng trống tính năng cần bổ sung cho Blankcil như phòng xem chung, nhắn tin trực tiếp theo thời gian thực và cửa hàng BlankShop.
    • Phương pháp khảo sát định lượng người dùng: Nhóm thực hiện khảo sát trên một tập mẫu người dùng thực tế nhằm lượng hóa mức độ hài lòng và kỳ vọng đối với mạng xã hội mới. Dữ liệu khảo sát ghi nhận:
      • Về yếu tố làm người dùng hài lòng nhất ở mạng xã hội hiện tại: Nội dung phong phú, đa dạng đạt 39,4%; Kết nối dễ dàng đạt 36,4%; Tính năng tiện ích đạt 24,2%.
      • Về yếu tố giữ chân và thúc đẩy sử dụng nền tảng mới: Nhóm yếu tố nội dung, tính năng và giao diện chiếm áp đảo với 81,8%.
      • Về tính năng mong đợi: Tập trung vào tối ưu hóa giao diện, hỗ trợ video ngắn, tạo nguồn thu từ sáng tạo nội dung và đặc biệt là nhu cầu giảm thiểu môi trường độc hại (toxic), kiểm soát tin giả và nội dung vi phạm bản quyền số.
    • Phương pháp mô hình hóa hướng đối tượng (UML): Xây dựng hệ thống sơ đồ ca sử dụng (Use Case Diagram), sơ đồ lớp (Class Diagram), sơ đồ tuần tự (Sequence Diagram) và bảng đặc tả chi tiết cho từng nghiệp vụ.
    • Phương pháp kiểm thử phần mềm: Áp dụng kiểm thử hộp đen (Black-box testing) để kiểm chứng tính đúng đắn của toàn bộ các ca sử dụng trên môi trường thực nghiệm.

Thiết kế và triển khai

Hệ thống Blankcil được thiết kế theo mô hình phân tầng module hóa, đảm bảo khả năng mở rộng và duy trì hiệu năng cao:

Phân tầng hệ thống Công nghệ / Thư viện sử dụng Vai trò và chức năng chính
Frontend ReactJS, ViteJS Xây dựng Single Page Application (SPA), render giao diện nhanh chóng nhờ esbuild và cơ chế Hot Module Replacement (HMR) dựa trên Native ESM.
Redux Quản lý trạng thái tập trung toàn cục (Global State Management) xuyên suốt phiên làm việc.
Tailwind CSS Thiết kế giao diện phản hồi (Responsive Design) theo phương pháp tiếp cận Utility-first, tối ưu hóa kích thước tệp định dạng.
Axios & React Router Điều hướng trang và thực hiện các yêu cầu HTTP/REST API bất đồng bộ tới máy chủ backend.
Backend Spring Boot Framework (Java) Máy chủ xử lý logic nghiệp vụ trung tâm, cung cấp các đầu mút RESTful API.
Spring Security & JWT Xác thực tài khoản người dùng, phân quyền truy cập (Guest, User, Admin) và bảo vệ API không trạng thái.
Flask (Python) Đóng vai trò máy chủ dịch vụ bổ trợ (cấu hình trong môi trường triển khai hệ thống).
Lưu trữ & Cache MongoDB Cơ sở dữ liệu chính, lưu trữ các tài liệu người dùng, bài đăng podcast, bình luận, phòng xem chung dưới dạng BSON/JSON linh hoạt.
Redis Bộ nhớ đệm trung gian (In-memory cache) giữa tầng Service và MongoDB, giảm độ trễ truy xuất dữ liệu có tần suất đọc lớn.
Triển khai & Môi trường Docker Đóng gói toàn bộ mã nguồn và phụ thuộc hệ thống vào container, bảo đảm tính di động và nhất quán trên các môi trường phân phối.
Google OAuth & App Passwords Cấu hình dịch vụ xác thực tài khoản bên thứ ba và hệ thống gửi thư điện tử kích hoạt tài khoản qua SMTP.

Luồng xử lý dữ liệu giữa các thành phần diễn ra chặt chẽ:

  1. Giao diện React gửi yêu cầu HTTP bằng Axios tới Spring Boot REST Controller.
  2. Tầng Controller tiếp nhận, chuyển giao xử lý tới tầng Service.
  3. Tầng Service kiểm tra dữ liệu trong Redis cache; nếu dữ liệu đã tồn tại (cache hit), kết quả được trả về ngay lập tức; nếu chưa có (cache miss), tầng Repository sẽ truy vấn từ MongoDB, đồng thời nạp dữ liệu vào Redis để phục vụ cho các truy vấn kế tiếp.
  4. Kết quả phản hồi được chuẩn hóa sang định dạng JSON gửi về giao diện client.

Hệ thống phân quyền phục vụ ba nhóm tác nhân (Actors):

  • Khách truy cập (Guest): Xem danh sách podcast công khai, xem thông tin trang cá nhân của người dùng khác, tìm kiếm thông tin và đăng ký tài khoản.
  • Người dùng hệ thống (Registered User): Thực hiện đăng nhập, đăng tải podcast tại phân hệ Studio, tương tác (thích, chia sẻ, bình luận), nhắn tin trò chuyện tức thời, tạo và tham gia phòng xem chung, quản lý danh sách phát, sử dụng cửa hàng BlankShop để mua/tặng khung ảnh đại diện và báo cáo vi phạm nội dung.
  • Quản trị viên (Admin): Quản lý toàn bộ tài khoản người dùng (khóa/mở khóa), kiểm duyệt các nội dung bị báo cáo, quản lý thể loại podcast, phê duyệt khung ảnh đại diện do người dùng đóng góp và theo dõi báo cáo thống kê hoạt động hệ thống.

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

Chương 1. Tổng quan đề tài

Chương mở đầu phân tích bối cảnh phát triển của Internet, sự thay đổi thói quen tiếp nhận thông tin sau đại dịch Covid-19 và nhu cầu giải trí qua âm thanh. Nhóm tác giả trình bày mục tiêu xây dựng mạng xã hội podcast Blankcil, phân định đối tượng nghiên cứu và giới hạn phạm vi đề tài xoay quanh các tính năng xã hội hóa nội dung podcast, tạo môi trường kết nối lành mạnh.

Chương 2. Khảo sát hiện trạng

Nội dung chương tập trung khảo sát hai khía cạnh:

  • Khảo sát mạng xã hội tương tự: Phân tích lịch sử phát triển giao diện và mô hình chia sẻ video của YouTube từ năm 2005 đến nay, chỉ ra các tính năng còn thiếu để tạo tiền đề bổ sung cho Blankcil (như Watch Party, Real-time Messenger, BlankShop).
  • Khảo sát người dùng thực tế: Trình bày số liệu thống kê về sự hài lòng (39,4% chọn nội dung đa dạng; 36,4% chọn kết nối dễ dàng; 24,2% chọn tính năng), các yếu tố giữ chân người dùng (81,8% ưu tiên nội dung, tính năng và giao diện), cùng phản hồi định tính về nhu cầu kiểm duyệt nội dung độc hại và chống tin giả. Chương này kết thúc bằng bảng tổng hợp phân tích yêu cầu chức năng hoàn chỉnh cho ba nhóm tác nhân.

Chương 3. Kiến trúc tổng quan

Chương 3 mô tả chi tiết mô hình kiến trúc kỹ thuật Client - Server kết hợp cơ sở dữ liệu MongoDB và bộ đệm Redis. Nhóm tác giả trình bày cơ sở lý thuyết của các công nghệ nòng cốt: cơ chế DispatcherServlet trong Spring MVC, giải pháp bảo mật với Spring Security và JWT, ưu thế mở rộng của cơ sở dữ liệu MongoDB, tốc độ và cấu trúc dữ liệu của Redis, cùng quy trình phát triển giao diện bằng ReactJS, ViteJS và TailwindCSS.

Chương 4. Phân tích thiết kế hệ thống

Chương chiếm dung lượng lớn nhất trong báo cáo, bao gồm:

  • Sơ đồ ca sử dụng tổng quan và Class Diagram.
  • Hệ thống đặc tả chi tiết 23 Use Case: từ xem podcast, xem hồ sơ, đăng ký, đăng nhập, tìm kiếm, đến các ca sử dụng phức tạp như đăng tải podcast (kiểm tra tiêu đề không quá 100 ký tự, mô tả không quá 5000 ký tự, định dạng video, chọn từ 1 đến 5 thể loại, tự động cắt khung hình làm ảnh thu nhỏ), trò chuyện trực tiếp, quản trị phòng xem chung, cửa hàng BlankShop và kiểm duyệt vi phạm.
  • Hệ thống sơ đồ tuần tự (Sequence Diagrams) minh họa luồng xử lý dữ liệu giữa Actor, Giao diện, Controller, Service, Cache và Database.
  • Thiết kế chi tiết giao diện người dùng và quản trị: Giao diện xem podcast, Studio quản lý podcast, trang tìm kiếm, trang danh sách phát, phòng xem chung, cửa hàng BlankShop nạp xu và hệ thống trang quản trị của Admin.

Chương 5. Cài đặt và kiểm thử hệ thống

Chương 5 hướng dẫn chi tiết quy trình thiết lập môi trường:

  • Cài đặt và chạy mã nguồn Frontend trên nền tảng Vite/React.
  • Cài đặt và cấu hình máy chủ Backend Spring Boot cùng máy chủ phụ trợ Flask Python.
  • Hướng dẫn cấu hình các biến môi trường nhạy cảm, thiết lập App Passwords trên tài khoản Google và tạo Google OAuth Client ID phục vụ xác thực.
  • Toàn bộ kết quả kiểm thử chức năng được trình bày qua các bảng kiểm thử chi tiết (từ Bảng 5.1 đến Bảng 5.41), xác nhận tính chính xác của các luồng nghiệp vụ từ đăng nhập, đăng tải, xem chung đến kiểm duyệt nội dung và đổi mật khẩu.

Chương 6. Kết luận

Chương tổng kết toàn bộ kết quả kỹ thuật đạt được của dự án, đánh giá khách quan các hạn chế còn tồn đọng và đề xuất các định hướng phát triển trong tương lai nhằm nâng cao chất lượng nền tảng.


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

  • Kết quả thực nghiệm:

    • Thiết kế và lập trình hoàn chỉnh hệ thống mạng xã hội Blankcil với đầy đủ 23 chức năng nghiệp vụ đặc tả.
    • Xây dựng thành công cơ chế xác thực an toàn thông qua JWT kết hợp liên kết xác thực gửi trực tiếp qua hòm thư điện tử của người dùng và hỗ trợ đăng nhập qua Google OAuth.
    • Triển khai phân hệ Studio hỗ trợ quản lý nội dung đa phương tiện, tích hợp tính năng tự động trích xuất khung hình từ video để tạo ảnh thu nhỏ (thumbnail) bên cạnh tính năng tải ảnh định dạng webp.
    • Xây dựng phân hệ phòng xem chung (Watch Party) cho phép người dùng cùng theo dõi video theo thời gian thực và giao lưu qua khung trò chuyện tương tác.
    • Thiết lập mô hình kinh tế ảo thông qua BlankShop, cho phép người dùng nạp tiền mua xu, mua và tặng khung ảnh đại diện, tạo động lực tương tác cho cộng đồng.
    • Hoàn thiện bảng điều khiển quản trị (Admin Dashboard) với các công cụ kiểm duyệt báo cáo vi phạm, quản lý danh sách tài khoản, quản lý thể loại nội dung và kiểm duyệt khung ảnh đại diện.
  • Đóng góp so với các nền tảng trước:

    • Giải quyết bài toán xã hội hóa nội dung podcast: Không dừng lại ở việc phát âm thanh đơn thuần như các nền tảng podcast truyền thống, Blankcil tích hợp đầy đủ không gian thảo luận, xếp hạng, danh hiệu người truyền cảm hứng và không gian xem chung tương tác tức thời.
    • Đưa ra giải pháp cân bằng giữa tính giải trí và sự lành mạnh: Hệ thống kết hợp cơ chế báo cáo từ người dùng và bảng điều khiển kiểm duyệt chuyên biệt cho quản trị viên, đáp ứng trực tiếp mối quan ngại về hiện tượng "toxic" trên mạng xã hội được chỉ ra trong kết quả khảo sát thực tế.

Hạn chế và hướng phát triển

  • Hạn chế:

    • Quy mô khảo sát người dùng thực tế còn nằm trong phạm vi nhỏ, chưa bao quát được toàn diện các nhóm đối tượng người nghe podcast chuyên sâu trên cả nước.
    • Hệ thống chưa hỗ trợ đầy đủ các thuật toán gợi ý nội dung thông minh dựa trên hành vi cá nhân hóa của người dùng.
    • Hạ tầng xử lý truyền phát đa phương tiện vẫn còn phụ thuộc vào các tài nguyên máy chủ cục bộ, chưa tích hợp hệ thống mạng phân phối nội dung (CDN) chuyên dụng cho quy mô tải lớn.
  • Hướng phát triển:

    • Phát triển tính năng tạo và chia sẻ video podcast định dạng ngắn (short video/clips) theo xu hướng tiếp nhận thông tin nhanh của giới trẻ.
    • Tối ưu hóa sâu hơn giao diện người dùng trên nền tảng di động và nghiên cứu phát triển ứng dụng di động độc lập bằng React Native.
    • Xây dựng các cơ chế thương mại hóa, chia sẻ doanh thu quảng cáo hoặc tài trợ trực tiếp để giúp các nhà sáng tạo nội dung tạo ra lợi nhuận bền vững từ sản phẩm podcast.
    • Nâng cấp hệ thống kiểm duyệt tự động nhằm phát hiện nội dung độc hại, tin giả và bảo vệ bản quyền kỹ thuật số tốt hơn.
    • Hợp tác và thu hút các nhà sáng tạo podcast nổi tiếng (host) từ các nền tảng như Spotify hay On Mic tham gia phát triển nội dung trên hệ thống.

Giá trị tham khảo

Báo cáo khóa luận Blankcil là tài liệu kỹ thuật có giá trị thực tiễn cao đối với:

  • Sinh viên ngành Công nghệ phần mềm và Công nghệ thông tin: Cung cấp tài liệu tham khảo chi tiết về quy trình công nghệ phát triển ứng dụng web hiện đại (Web Application Development) theo mô hình phân tách hoàn toàn Client - Server.
  • Lập trình viên Full-stack: Cung cấp ví dụ thực tế về việc kết hợp Spring Boot làm máy chủ API RESTful bảo mật bằng JWT và Spring Security, giao tiếp cùng cơ sở dữ liệu MongoDB và tối ưu hiệu năng bằng bộ nhớ đệm Redis.
  • Người thiết kế hệ thống: Tài liệu là nguồn tham khảo mẫu mực về cấu trúc tài liệu phân tích thiết kế phần mềm, từ bảng yêu cầu chức năng, bảng đặc tả Use Case chi tiết có điều kiện trước/sau, luồng ngoại lệ, hệ thống sơ đồ tuần tự và ma trận kịch bản kiểm thử hộp đen.

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

1. Hệ thống Blankcil giải quyết bài toán tối ưu hóa hiệu năng truy xuất dữ liệu giữa tầng ứng dụng và cơ sở dữ liệu như thế nào?
Hệ thống sử dụng Redis làm bộ nhớ đệm (in-memory cache) trung gian giữa tầng nghiệp vụ (Service) của Spring Boot và cơ sở dữ liệu MongoDB. Khi có yêu cầu truy vấn, tầng Service kiểm tra dữ liệu trong Redis trước; nếu dữ liệu đã được lưu trong bộ nhớ đệm, hệ thống lập tức trả kết quả về giao diện người dùng. Nếu chưa có, hệ thống mới truy vấn từ MongoDB và đồng thời ghi kết quả vào Redis để phục vụ cho các lần gọi tiếp theo, giúp giảm tải trực tiếp cho cơ sở dữ liệu chính.

2. Quy trình kiểm tra dữ liệu đầu vào khi người dùng tải lên podcast (Use Case UC-6) được quy định với các ràng buộc cụ thể nào?
Khi người dùng tải podcast tại Studio, hệ thống áp dụng các ràng buộc bắt buộc: tiêu đề (title) không được vượt quá 100 ký tự; nội dung mô tả (content) không được vượt quá 5000 ký tự; tệp video phải đúng định dạng quy định; người dùng phải chọn tối thiểu 1 thể loại (genre) và tối đa 5 thể loại. Đối với ảnh bìa (thumbnail), người dùng có thể tải lên tệp ảnh định dạng webp hoặc sử dụng tính năng "Auto generate" để hệ thống tự động trích xuất khung hình trực tiếp từ video đã chọn.

3. Kết quả khảo sát trực tiếp từ người dùng thực tế đã định hình những tính năng nào cho Blankcil?
Kết quả khảo sát chỉ ra rằng 81,8% người dùng quyết định lựa chọn mạng xã hội mới dựa trên nội dung, tính năng và giao diện; đồng thời người tham gia khảo sát bày tỏ mong muốn có cơ chế tạo doanh thu và một môi trường mạng ít độc hại. Từ dữ liệu này, nhóm nghiên cứu đã ưu tiên xây dựng cửa hàng BlankShop để hỗ trợ yếu tố kinh tế ảo, tối ưu hóa giao diện phẳng với Tailwind CSS và thiết kế phân hệ kiểm duyệt báo cáo vi phạm chặt chẽ nhằm duy trì cộng đồng thân thiện.

4. Cơ chế bảo mật và xác thực người dùng trong hệ thống Blankcil được cấu hình như thế nào?
Blankcil triển khai cơ chế xác thực không trạng thái (stateless) dựa trên Spring Security và JSON Web Token (JWT). Khi đăng ký tài khoản, hệ thống yêu cầu xác minh qua đường dẫn gửi tới thư điện tử cá nhân thông qua cấu hình Google App Password và SMTP. Ngoài ra, hệ thống tích hợp thư viện Google OAuth 2.0 Client ID, hỗ trợ xác thực tài khoản an toàn mà không cần quản lý phiên trên máy chủ.

5. Điểm khác biệt của tính năng Xem chung (Watch Party) trên Blankcil so với các nền tảng video thông thường là gì?
Tính năng Xem chung trên Blankcil cho phép người dùng tạo phòng hoặc tham gia vào phòng phát podcast để cùng theo dõi nội dung đồng bộ theo thời gian thực với những người dùng khác. Đi kèm với luồng video, hệ thống tích hợp khung trò chuyện trực tiếp (real-time chat) và các công cụ quản trị phòng (cài đặt thời gian tồn tại của phòng, quản lý danh sách người dùng bị cấm), mang lại trải nghiệm tương tác mang tính cộng đồng cao.


Kết luận

Đồ án tốt nghiệp "Xây dựng mạng xã hội Podcast – Blankcil sử dụng Spring Boot, ReactJS và MongoDB" của nhóm sinh viên Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh đã hiện thực hóa thành công một nền tảng mạng xã hội chuyên biệt, lấy âm thanh podcast làm trung tâm kết nối cộng đồng. Thông qua việc kết hợp các công nghệ hiện đại như Spring Boot, ReactJS, MongoDB, Redis và Docker, hệ thống đạt được hiệu năng cao, cơ chế bảo mật xác thực chặt chẽ cùng các tính năng tương tác đa dạng như phòng xem chung và cửa hàng vật phẩm ảo. Báo cáo đồ án thể hiện quy trình phát triển phần mềm chuẩn mực từ khảo sát nhu cầu thực tiễn, phân tích thiết kế hướng đối tượng đến cài đặt và kiểm thử chức năng toàn diện. Đây là tài liệu tham khảo có giá trị học thuật và kỹ thuật vững chắc cho việc nghiên cứu và triển khai các hệ thống ứng dụng web quy mô lớn.