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

Trong bối cảnh khoa học công nghệ, đặc biệt là lĩnh vực công nghệ thông tin và chuyển đổi số phát triển nhanh chóng, nhu cầu quản lý công việc trong các tổ chức ngày càng tăng cao. Hoạt động quản lý công việc hiệu quả đóng vai trò then chốt đối với năng suất và sự thành công của các dự án. Tuy nhiên, đây vẫn là một thách thức lớn đối với nhiều doanh nghiệp và tổ chức, nhất là trong các dự án đòi hỏi sự hợp tác chặt chẽ giữa nhiều cá nhân ở các vị trí, địa điểm khác nhau hoặc hoạt động theo mô hình làm việc từ xa (remote). Trong các dự án quy mô lớn, việc theo dõi chi tiết từng công việc nhỏ, đánh giá mức độ hoàn thành và kịp thời điều chỉnh kế hoạch là yếu tố quyết định. Sự thiếu hụt một hệ thống quản trị chuyên biệt dễ dẫn đến việc mất kiểm soát tiến độ, thiếu hụt sự liên kết thông tin và làm suy giảm chất lượng đầu ra của dự án. Đồng thời, giao tiếp kém giữa các thành viên được xác định là nguyên nhân chính dẫn đến thất bại trong vận hành nhóm, đòi hỏi phải có giải pháp công nghệ tích hợp các kênh tương tác trực tiếp, trao đổi và cảnh báo kịp thời.

Xuất phát từ thực tế đó, đề tài "Hệ thống quản lý công việc nhóm (Team Task Management System)" được thực hiện bởi hai sinh viên Hoàng Đình Minh Thông và Lê Bá Điền dưới sự hướng dẫn của TS. Lê Vĩnh Thịnh tại Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh (Khoa Công nghệ Thông tin, Bộ môn Công nghệ Phần mềm) trong học kỳ 2 năm học 2024 - 2025.

Mục tiêu và các nhiệm vụ nghiên cứu cụ thể của đề tài bao gồm bốn nội dung chính:

  1. Khảo sát nhu cầu quản lý công việc nhóm trong môi trường phát triển phần mềm và các dự án công nghệ thông tin hiện đại; từ đó xác định các yêu cầu chức năng và phi chức năng làm cơ sở cho các bước thiết kế và xây dựng hệ thống.
  2. Nghiên cứu các nền tảng xây dựng hệ thống hiện đại, lựa chọn MERN Stack làm nền tảng phát triển cốt lõi; thiết kế hệ thống theo mô hình client-server, kiến trúc RESTful API, tổ chức cơ sở dữ liệu linh hoạt trên MongoDB và xây dựng giao diện người dùng trực quan, có khả năng tái sử dụng cao dựa trên thư viện Material-UI kết hợp với Axios và Socket.IO Client.
  3. Đề xuất cấu trúc tổng thể hệ thống theo hướng linh hoạt, dễ mở rộng; triển khai các cơ chế bảo mật xác thực bằng JSON Web Token (JWT); tích hợp Socket.IO phục vụ tính năng trao đổi thời gian thực và thông báo; tích hợp dịch vụ lưu trữ Cloudinary và Google Cloud Storage; ứng dụng Gemini API hỗ trợ tự động gợi ý phân chia công việc; tích hợp Stripe phục vụ thanh toán trực tuyến và sử dụng Agora.io nhằm hiện thực hóa chức năng gọi video giữa các thành viên.
  4. Tích hợp các module thành một hệ thống thống nhất và tiến hành kiểm thử tổng thể nhằm đánh giá tính đúng đắn, độ ổn định và hiệu năng vận hành trước khi triển khai ứng dụng.

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

  • Đối tượng nghiên cứu: Các cá nhân, đội ngũ và tổ chức có nhu cầu quản lý công việc nhóm trong môi trường phát triển phần mềm hoặc các dự án công nghệ thông tin; các giải pháp công nghệ phát triển web hiện đại (ReactJS, Node.js, Express.js, MongoDB, Socket.IO, WebRTC, API trí tuệ nhân tạo).
  • Phạm vi nghiên cứu:
    • Về không gian và nghiệp vụ: Nghiên cứu các quy trình tổ chức, phân công, giám sát công việc và trao đổi thông tin trong các nhóm phát triển phần mềm.
    • Về công nghệ: Tập trung vào kiến trúc MERN Stack, giao thức RESTful API, bảo mật phiên làm việc qua JWT và việc tích hợp các dịch vụ bên thứ ba (Gemini, Agora.io, Stripe, Cloudinary, Google Cloud Storage).
    • Về thời gian: Đề tài được triển khai thực hiện từ ngày 06/01/2025 đến ngày 09/06/2025.

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

Để giải quyết các bài toán đặt ra, tác giả đã sử dụng hệ thống khung lý thuyết, công nghệ và phương pháp nghiên cứu phần mềm chuyên ngành:

Khung lý thuyết và công nghệ ứng dụng

  • Kiến trúc phần mềm Client-Server và RESTful API: Ứng dụng mô hình phân tách độc lập giữa tầng hiển thị phía máy khách (Client) và tầng xử lý nghiệp vụ phía máy chủ (Server), giao tiếp thông qua giao thức HTTP/HTTPS với định dạng dữ liệu chuẩn JSON.
  • Tiêu chuẩn bảo mật JSON Web Token (JWT): Vận dụng chuẩn mở RFC 7519 để mã hóa, truyền tải thông tin xác thực an toàn giữa các bên dưới dạng đối tượng JSON có chữ ký số (ký bằng thuật toán bí mật HMAC hoặc khóa công khai/khóa riêng RSA).
  • Giao thức tương tác thời gian thực Socket.IO: Ứng dụng thư viện Socket.IO dựa trên sự kiện, hỗ trợ kết nối hai chiều độ trễ thấp thông qua WebSocket, đồng thời cung cấp cơ chế tự động chuyển đổi dự phòng (fallback) sang HTTP long-polling hoặc WebTransport khi môi trường mạng không hỗ trợ WebSocket thuần.
  • Dịch vụ tích hợp đám mây và trí tuệ nhân tạo: Tích hợp mô hình ngôn ngữ lớn thông qua Gemini API; giải pháp truyền thông âm thanh/hình ảnh thời gian thực Agora.io; cổng xử lý thanh toán điện tử Stripe; dịch vụ lưu trữ tệp tin Google Cloud Storage và dịch vụ lưu trữ, tối ưu hóa hình ảnh Cloudinary.

Phương pháp nghiên cứu

  • Phương pháp khảo sát và phân tích hiện trạng: Thực hiện phân tích, đánh giá giao diện, luồng xử lý và tính năng của hệ thống quản lý dự án phổ biến Jira (về các trang tổng quan, danh sách công việc, bảng Kanban, lịch trình). Qua đó, tác giả chỉ ra các điểm mạnh về quản lý quy trình, phân quyền, nhưng cũng nhận diện rõ các hạn chế như giao diện phức tạp, cấu hình rườm rà, gây khó khăn cho người dùng mới và không tối ưu cho các nhóm phát triển quy mô nhỏ.
  • Phương pháp mô hình hóa hướng đối tượng (UML): Sử dụng các biểu đồ Use Case để xác định các ca sử dụng của người dùng thông thường và quản trị viên (Admin); sử dụng biểu đồ hoạt động (Activity Diagrams) và biểu đồ tuần tự (Sequence Diagrams) để chi tiết hóa các luồng dữ liệu, hành vi chức năng (đăng nhập, tạo dự án, xem chi tiết công việc, thêm/xóa thành viên, bình luận, phân chia công việc bằng AI).
  • Phương pháp thiết kế cơ sở dữ liệu hướng tài liệu: Thiết kế lược đồ dữ liệu NoSQL trên MongoDB, định nghĩa rõ các thuộc tính và mối quan hệ giữa các bộ sưu tập nhằm phục vụ truy vấn tốc độ cao.
  • Phương pháp kiểm thử phần mềm: Lập kế hoạch kiểm thử chức năng (Functional Testing) chi tiết, thực hiện kiểm thử trên môi trường nội bộ (Local) và môi trường thực tế (Production).

Thiết kế và triển khai

Hệ thống được thiết kế và hiện thực hóa dựa trên kiến trúc phân tầng MERN Stack với các thành phần công nghệ và hạ tầng triển khai cụ thể:

Kiến trúc công nghệ

  • Frontend: Xây dựng ứng dụng đơn trang (Single-Page Application - SPA) với ReactJS, sử dụng hệ thống thư viện thành phần giao diện Material-UI để tạo tính nhất quán. Thư viện Axios được dùng để quản lý các truy vấn HTTP gửi đến hệ thống backend, kết hợp cùng Socket.IO Client để nhận và phát các sự kiện thời gian thực.
  • Backend: Xây dựng trên môi trường Node.js kết hợp framework Express.js, cung cấp hệ thống điểm cuối (endpoints) RESTful API xử lý toàn bộ logic nghiệp vụ, quản lý phiên qua JWT và lắng nghe các kết nối Socket.IO Server.
  • Cơ sở dữ liệu: Hệ quản trị cơ sở dữ liệu MongoDB lưu trữ dữ liệu dưới dạng tài liệu (document) JSON/BSON, tổ chức thành 17 bộ sưu tập chính phục vụ đầy đủ các chức năng quản trị và nghiệp vụ.
Tên bộ sưu tập (Collection) Mục đích lưu trữ và vai trò trong hệ thống
user Thông tin người dùng, tài khoản, mật khẩu mã hóa, thông tin cá nhân và quyền hạn
task Thông tin công việc, tiêu đề, mô tả, hạn chót, trạng thái tiến độ
starred Danh sách các dự án hoặc nội dung được đánh dấu ưu tiên/yêu thích
project Thông tin chi tiết về dự án, mô tả, trạng thái hoạt động
project-role Phân quyền vai trò người dùng trong từng dự án cụ thể
member task Bảng liên kết phân công thành viên tham gia vào từng công việc
list Danh mục quản lý phân loại các trạng thái công việc trong dự án
label Nhãn gắn màu sắc và từ khóa phục vụ phân loại công việc
comment Nội dung bình luận, trao đổi của thành viên bên trong công việc
audit log Ghi nhận toàn bộ lịch sử thao tác, thay đổi dữ liệu trong dự án
attachments Quản lý thông tin và đường dẫn các tệp tài liệu đính kèm
conversation Dữ liệu phòng trò chuyện cá nhân hoặc trò chuyện nhóm
notification Dữ liệu thông báo hệ thống gửi đến người dùng
Subscription_plan Định nghĩa các gói tài khoản (gói dịch vụ miễn phí và gói nâng cao Premium)
Subscriptions Ghi nhận trạng thái đăng ký, thời hạn sử dụng gói dịch vụ của người dùng
VideoCall Lưu trữ trạng thái phòng gọi và phiên kết nối cuộc gọi video qua Agora
Message Nội dung tin nhắn, tệp gửi kèm và thời gian gửi trong các cuộc hội thoại

Quy trình triển khai và kiểm thử

  • Môi trường cục bộ (Local): Cài đặt và cấu hình Node.js runtime, MongoDB local/Atlas, các gói phụ thuộc qua npm cho cả hai thư mục client và server.
  • Môi trường thực tế (Production): Hệ thống được cấu hình triển khai trên nền tảng đám mây Vercel. Việc triển khai sử dụng tệp cấu hình vercel.json để định tuyến ứng dụng và thiết lập danh mục biến môi trường (Environment Variables) bảo mật như khóa bí mật JWT, chuỗi kết nối MongoDB, API Key của Gemini, Agora App ID, Stripe Secret Key và cấu hình Google Cloud/Cloudinary.
  • Kiểm thử: Thực hiện kế hoạch kiểm thử theo bảng kiểm thử chức năng cho tất cả các luồng Use Case chính (xác thực, quản lý dự án, cộng tác nhóm, gọi video, phân chia công việc AI, thanh toán).

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

Bố cục của khóa luận được phân bổ qua 4 chương nội dung cốt lõi:

Chương 1. Kiến trúc hệ thống

Chương này tập trung giới thiệu và làm rõ nền tảng kiến trúc tổng thể của hệ thống. Tác giả phân tích chi tiết mô hình MERN Stack (MongoDB, Express, React, Node.js) và cách thức các tầng công nghệ tương tác với nhau thông qua kiến trúc RESTful API. Bên cạnh đó, chương 1 trình bày cơ sở lý thuyết và vai trò của các công nghệ hỗ trợ:

  • Chuẩn xác thực JSON Web Token (JWT) theo tiêu chuẩn RFC 7519 nhằm bảo mật đường truyền và phân quyền người dùng.
  • Thư viện Socket.IO hỗ trợ giao tiếp hai chiều độ trễ thấp thông qua các phương thức HTTP long-polling, WebSocket và WebTransport; đồng thời phân tích rõ ưu điểm (hỗ trợ thời gian thực, fallback linh hoạt) và nhược điểm (khó mở rộng ở quy mô lớn nếu thiếu Redis và Load Balancer, tốn tài nguyên kết nối).
  • Các dịch vụ tích hợp bên thứ ba gồm Cloudinary, Google Cloud Storage, Gemini API, Agora.io và Stripe.

Chương 2. Khảo sát hiện trạng và mô hình hoá yêu cầu

Chương 2 trình bày kết quả khảo sát thực tế phần mềm quản lý công việc Jira thông qua các màn hình tổng quan, bảng công việc, danh sách và lịch trình. Từ việc đánh giá ưu - nhược điểm của các giải pháp hiện hữu, nhóm tác giả xác định chi tiết hai nhóm yêu cầu:

  • Yêu cầu chức năng: Phân định rõ chức năng cho Admin (đăng nhập, quên mật khẩu, quản lý người dùng, quản lý dự án, thống kê hệ thống, quản lý thông tin cá nhân) và chức năng cho User (đăng ký/đăng nhập/quên mật khẩu, quản lý thông tin cá nhân, xem thống kê công việc cá nhân, nhắn tin, tạo nhóm chat, nhắn tin AI, thanh toán nâng cấp tài khoản, quản lý dự án, quản lý công việc, phân chia công việc bằng AI).
  • Yêu cầu phi chức năng: Đảm bảo giao diện thân thiện, dễ thao tác; tốc độ xử lý nhanh và chính xác; tính bảo mật dữ liệu cao; hệ thống dễ bảo trì, nâng cấp và mở rộng.
  • Mô hình hóa yêu cầu: Xây dựng hệ thống lược đồ Use Case tổng thể và thiết lập bảng đặc tả chi tiết (từ UC-01 đến UC-16 và các Use Case liên quan) bao gồm điều kiện tiên quyết, điều kiện kết thúc, luồng sự kiện chính (Basic Flow), luồng thay thế (Alternate Flow) và luồng ngoại lệ (Exception Flow).

Chương 3. Thiết kế phần mềm

Chương 3 hiện thực hóa các yêu cầu đã phân tích thành tài liệu kỹ thuật chi tiết:

  • Lược đồ hoạt động (Activity Diagrams): Mô tả quy trình xử lý nghiệp vụ đối với các tác vụ cốt lõi như đăng ký, đăng nhập, xem chi tiết dự án, xem chi tiết công việc, thêm thành viên vào dự án, tạo dự án mới, thêm bình luận và xóa thành viên khỏi công việc.
  • Lược đồ tuần tự (Sequence Diagrams): Mô tả chi tiết trình tự gửi nhận thông điệp giữa tác nhân người dùng (Actor), giao diện (Client/UI), tầng điều khiển (Controller/Backend) và cơ sở dữ liệu cho từng thao tác nghiệp vụ, bao gồm cả luồng hỗ trợ phân chia công việc thông qua AI.
  • Thiết kế cơ sở dữ liệu: Xây dựng lược đồ cơ sở dữ liệu tổng thể và bảng mô tả chi tiết thuộc tính cho 17 bộ sưu tập trong MongoDB.
  • Thiết kế giao diện: Thiết kế hệ thống màn hình trực quan cho cả Admin (quản lý tài khoản đang hoạt động/bị xóa, thêm người dùng thủ công hoặc qua tệp đính kèm, quản lý dự án, thống kê) và User (trang chủ, trang cá nhân, bảng Kanban, danh sách công việc List, Dashboard thống kê, lịch trình Calendar, dòng thời gian Timeline, lịch sử Audit Log, giao diện phòng chat, cửa sổ gọi video, giao diện nâng cấp tài khoản qua Stripe, giao diện trợ lý Task Assignment Assistant với Gemini API).

Chương 4. Cài đặt ứng dụng và kiểm thử

Chương này mô tả chi tiết quá trình hiện thực hóa phần mềm vào môi trường thực nghiệm:

  • Môi trường Local: Cung cấp danh mục công cụ cần cài đặt và hướng dẫn từng bước thiết lập mã nguồn, cài đặt gói thư viện phụ thuộc và chạy ứng dụng máy chủ/máy khách.
  • Môi trường Production: Trình bày các yêu cầu môi trường và quy trình đóng gói, cấu hình tệp định tuyến vercel.json, cũng như việc khai báo các biến môi trường phục vụ kết nối cơ sở dữ liệu và các API bên thứ ba.
  • Kế hoạch và kết quả kiểm thử: Xây dựng bảng kế hoạch kiểm thử hệ thống; tiến hành thực thi các ca kiểm thử chức năng đối với từng module nghiệp vụ và thống kê kết quả kiểm thử đạt được nhằm đảm bảo tính ổn định của hệ thống trước khi vận hành.

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

Kết quả chính

  • Xây dựng hoàn chỉnh ứng dụng web "Hệ thống quản lý công việc nhóm" theo kiến trúc MERN Stack với hai giao diện phân quyền độc lập cho User và Admin.
  • Thiết kế và triển khai cơ sở dữ liệu NoSQL hoàn chỉnh trên MongoDB gồm 17 bộ sưu tập, phục vụ lưu trữ đầy đủ thông tin người dùng, dự án, công việc, bình luận, tệp tin, phòng chat, thông báo và lịch sử thao tác.
  • Hiện thực hóa đầy đủ các luồng nghiệp vụ quản lý dự án đa dạng góc nhìn: dạng bảng (Board), danh sách (List), biểu đồ thống kê (Dashboard), lịch trình (Calendar), dòng thời gian (Timeline) và nhật ký thay đổi (Audit Log).
  • Tích hợp thành công tính năng trao đổi thời gian thực và gọi video trực tuyến giữa các thành viên dự án bằng Socket.IO và Agora.io.
  • Ứng dụng thành công Gemini API để phát triển chức năng trợ lý phân chia công việc (Task Assignment Assistant) và chatbot AI hỗ trợ tự động hóa gợi ý phân bổ nhiệm vụ.
  • Xây dựng quy trình thanh toán nâng cấp tài khoản Premium thông qua cổng thanh toán Stripe và hoàn tất cấu hình triển khai hệ thống lên nền tảng đám mây Vercel.

Giải pháp và đóng góp của đề tài

  • Cung cấp một giải pháp quản lý công việc nhóm tinh gọn, giao diện thân thiện, khắc phục được tình trạng cồng kềnh, cấu hình phức tạp của các nền tảng thương mại lớn (như Jira) đối với các nhóm phát triển vừa và nhỏ.
  • Tích hợp tập trung nhiều tiện ích trong cùng một nền tảng duy nhất: kết hợp quản lý tiến độ công việc với các công cụ giao tiếp trực tiếp (nhắn tin, gửi tệp, gọi video) và công cụ trí tuệ nhân tạo hỗ trợ lập kế hoạch, giúp giảm thiểu phân mảnh công cụ làm việc và nâng cao hiệu quả cộng tác từ xa.

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

Hạn chế được ghi nhận

  • Thư viện Socket.IO khi chưa kết hợp với bộ cân bằng tải (Load Balancer) và Redis sẽ gặp khó khăn trong việc mở rộng quy mô hệ thống khi lượng người dùng đồng thời tăng cao.
  • Hiệu suất của Socket.IO thấp hơn so với chuẩn kết nối WebSocket thuần nếu không được cấu hình tối ưu, đồng thời gây tiêu hao tài nguyên máy chủ nếu không kiểm soát chặt chẽ số lượng phiên kết nối.
  • Các tính năng nâng cao như gọi video, phân chia công việc tự động và thanh toán phụ thuộc hoàn toàn vào dịch vụ và độ ổn định API của bên thứ ba (Agora, Google Gemini, Stripe). Chức năng tương tác với AI bị giới hạn đối với các tài khoản nâng cấp Premium.

Hướng nghiên cứu tiếp

  • Cấu hình và tích hợp giải pháp Redis kết hợp Load Balancer vào tầng backend nhằm tối ưu hóa khả năng mở rộng và quản lý kết nối thời gian thực cho Socket.IO.
  • Tối ưu hóa hiệu năng kết nối WebSocket và cơ chế quản lý bộ nhớ đệm.
  • Nâng cấp và mở rộng các thuật toán phân tích dữ liệu dự án chuyên sâu, hoàn thiện thêm các tính năng tự động hóa trong quản lý và điều phối nguồn lực nhóm.

Giá trị tham khảo

Đồ án là tài liệu tham khảo thực tiễn và hữu ích cho:

  • Sinh viên và học viên chuyên ngành Công nghệ thông tin, Công nghệ phần mềm: Đặc biệt là những người đang nghiên cứu và xây dựng đồ án tốt nghiệp về các ứng dụng web toàn diện sử dụng MERN Stack.
  • Người làm đề tài về hệ thống cộng tác nhóm và quản lý tiến độ: Tài liệu cung cấp mẫu tham khảo chuẩn mực về quy trình khảo sát hiện trạng, phân tích yêu cầu, xây dựng bảng đặc tả Use Case đầy đủ các luồng (Basic, Alternate, Exception Flows) và chuyển đổi thành lược đồ UML (Activity, Sequence Diagrams).
  • Lập trình viên muốn tham khảo tích hợp dịch vụ bên thứ ba: Khóa luận cung cấp tài liệu mô tả thực tế về phương thức tích hợp đa dịch vụ trong cùng một sản phẩm (giao tiếp thời gian thực Socket.IO, video call Agora, thanh toán Stripe, lưu trữ Google Cloud/Cloudinary và ứng dụng API mô hình ngôn ngữ Gemini).

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

1. Hệ thống sử dụng kiến trúc công nghệ nào làm nền tảng phát triển chính?

Hệ thống được xây dựng hoàn toàn dựa trên kiến trúc MERN Stack theo mô hình Client-Server. Tầng giao diện phía máy khách (Frontend) sử dụng ReactJS kết hợp thư viện giao diện Material-UI và Axios. Tầng xử lý nghiệp vụ phía máy chủ (Backend) sử dụng framework Express.js chạy trên nền tảng môi trường thực thi Node.js, cung cấp hệ thống điểm cuối RESTful API. Toàn bộ dữ liệu của hệ thống được quản trị và lưu trữ trên cơ sở dữ liệu hướng tài liệu MongoDB.

2. Chức năng tương tác thời gian thực và gọi video giữa các thành viên được hiện thực hóa bằng giải pháp nào?

Chức năng giao tiếp thời gian thực (nhắn tin trao đổi trong cuộc hội thoại cá nhân, trò chuyện nhóm và gửi thông báo hệ thống) được xây dựng dựa trên thư viện Socket.IO, kết nối dựa trên sự kiện và tự động dự phòng giữa các giao thức WebSocket, HTTP long-polling và WebTransport. Đối với chức năng gọi video trực tuyến (Video Call), hệ thống tích hợp giải pháp của nền tảng Agora.io.

3. Trí tuệ nhân tạo (AI) được tích hợp vào hệ thống nhằm mục đích gì và sử dụng công nghệ nào?

Hệ thống tích hợp Gemini API để phục vụ hai mục đích:

  • Xây dựng tính năng trợ lý phân chia công việc (Task Assignment Assistant) trong quản lý dự án, giúp tự động phân tích và đưa ra gợi ý phân công công việc cho các thành viên.
  • Cung cấp tính năng trò chuyện trực tiếp với AI (Chat AI) hỗ trợ người dùng giải đáp các vấn đề trong công việc, dành riêng cho các tài khoản đã thực hiện nâng cấp lên gói Premium.

4. Cơ sở dữ liệu MongoDB của hệ thống được tổ chức thành bao nhiêu bộ sưu tập và gồm những thực thể nào?

Cơ sở dữ liệu của hệ thống bao gồm 17 bộ sưu tập (collections) chính: user (người dùng), task (công việc), starred (đánh dấu ưu tiên), project (dự án), project-role (vai trò trong dự án), member task (thành viên công việc), list (danh sách trạng thái), label (nhãn), comment (bình luận), audit log (nhật ký thao tác), attachments (tệp đính kèm), conversation (cuộc hội thoại), notification (thông báo), Subscription_plan (gói tài khoản), Subscriptions (đăng ký gói), VideoCall (cuộc gọi video) và Message (tin nhắn).

5. Quá trình kiểm thử và triển khai hệ thống lên môi trường production được thực hiện ra sao?

Hệ thống được kiểm thử chức năng theo bảng kế hoạch kiểm thử chi tiết bao phủ toàn bộ các Use Case chính của người dùng và quản trị viên. Về triển khai, sản phẩm được cấu hình đưa lên môi trường đám mây Vercel thông qua tệp thiết lập vercel.json và cấu hình hệ thống biến môi trường (Environment Variables) bảo mật để lưu trữ chuỗi kết nối MongoDB và các khóa bí mật của JWT, Gemini API, Agora, Stripe, Google Cloud và Cloudinary.


Kết luận

Đồ án tốt nghiệp "Hệ thống quản lý công việc nhóm" của sinh viên Hoàng Đình Minh Thông và Lê Bá Điền đã giải quyết trọn vẹn mục tiêu nghiên cứu và xây dựng một nền tảng quản trị công việc hiện đại dựa trên kiến trúc MERN Stack. Sản phẩm không chỉ đáp ứng các nghiệp vụ quản lý dự án linh hoạt theo các mô hình danh sách, bảng Kanban, lịch trình và dòng thời gian mà còn tích hợp các tiện ích thời gian thực, gọi video và trí tuệ nhân tạo Gemini hỗ trợ phân công nhiệm vụ. Báo cáo khóa luận thể hiện cấu trúc kỹ thuật chặt chẽ từ khảo sát, mô hình hóa yêu cầu, thiết kế kiến trúc phần mềm, tổ chức cơ sở dữ liệu đến triển khai và kiểm thử hệ thống. Đề tài là nguồn tài liệu tham khảo có giá trị học thuật và ứng dụng cao cho sinh viên ngành Công nghệ phần mềm trong việc phát triển các hệ thống cộng tác doanh nghiệp quy mô vừa và nhỏ.