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

Trong quá trình đào tạo bậc đại học khối ngành Công nghệ Thông tin, sinh viên thường xuyên phải thực hiện các bài tập lớn, đồ án môn học và khóa luận tốt nghiệp theo hình thức làm việc nhóm. Thực tế cho thấy, phần lớn các nhóm sinh viên hiện nay sử dụng nhiều công cụ rời rạc như Messenger, Zalo, Discord để trao đổi thông tin, chia sẻ tài liệu và phân chia công việc. Cách tiếp cận này dẫn đến việc dữ liệu bị phân tán, thiếu tính hệ thống, gây khó khăn cho việc tra cứu thông tin và tài liệu cũ. Đồng thời, việc giám sát tiến độ thực hiện công việc không được tổ chức bài bản, dẫn tới lãng phí thời gian và làm giảm hiệu quả cộng tác giữa các thành viên. Từ những khó khăn này, đề tài "Xây dựng và phát triển nền tảng quản lý dự án lập trình ProjectCT dành cho sinh viên" được nhóm tác giả Nguyễn Văn Thi và Phan Lê Thành Công thực hiện dưới sự hướng dẫn của TS. Mai Anh Thơ tại Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh.

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

  1. Xây dựng một môi trường làm việc tập trung, giúp sinh viên truy cập thông tin dự án, giao tiếp nhanh chóng và thực hiện nhiệm vụ được giao qua giao diện người dùng trực quan, thân thiện.
  2. Thiết lập cơ chế tổ chức và lưu trữ dữ liệu khoa học, tập trung hóa toàn bộ lịch sử trao đổi, tài liệu và tiến độ dự án nhằm gia tăng tính minh bạch trong nhóm làm việc.
  3. Ứng dụng các công nghệ hiện đại bao gồm ReactJS ở tầng giao diện và Spring Boot ở tầng máy chủ nhằm bảo đảm tính năng, hiệu suất và độ tin cậy trong quá trình vận hành.
  4. Xây dựng một nền tảng hỗ trợ sinh viên trong quá trình học tập, tạo không gian để các thành viên trao đổi kinh nghiệm và hỗ trợ lẫn nhau trong các đồ án lập trình.

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

  • Đối tượng người dùng: Sinh viên theo học các ngành liên quan đến công nghệ thông tin và lập trình có nhu cầu quản lý dự án nhóm trong môi trường học thuật.
  • Phạm vi chức năng: Xây dựng các mô-đun phục vụ quản lý dự án, quản lý phân kỳ/giai đoạn (phases), quản lý danh mục công việc (backlog), phân công nhiệm vụ (tasks/subtasks), quản lý cộng tác viên và vai trò, lưu trữ tệp tin đa phương tiện có kiểm soát phiên bản, cùng hệ thống thông báo và kênh trò chuyện trực tuyến.
  • Phạm vi kỹ thuật và khả năng mở rộng: Thiết kế hệ thống theo kiến trúc hướng dịch vụ microservices linh hoạt, cho phép tích hợp thêm các tính năng mở rộng trong tương lai mà không làm gián đoạn hay ảnh hưởng đến hiệu năng của các phân hệ đang vận hành.

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

Khóa luận thiết lập nền tảng dựa trên các khung lý thuyết về quản lý dự án phần mềm và các công nghệ hiện đại:

  • Phương pháp luận Agile và khung làm việc Scrum: Đề tài ứng dụng 4 giá trị cốt lõi của Tuyên ngôn Agile (Agile Manifesto, 2001) cùng 12 nguyên tắc thực hành. Khung làm việc Scrum được lựa chọn làm cơ sở để thiết kế các chu kỳ lặp (Sprint), với các vai trò điển hình gồm Chủ sở hữu sản phẩm (Product Owner - PO), Scrum Master và Nhóm phát triển (Development Team). Hệ thống áp dụng 3 tạo tác cơ bản (Product Backlog, Sprint Backlog, Increment) và mô phỏng chu trình thông qua 4 sự kiện: Lập kế hoạch Sprint (Sprint Planning), Họp hàng ngày (Daily Scrum), Đánh giá Sprint (Sprint Review) và Hồi cứu Sprint (Sprint Retrospective).
  • Ngăn xếp công nghệ phía máy chủ (Backend): Sử dụng framework Spring Boot kết hợp Spring Cloud Gateway để định tuyến API, Eureka Service Discovery quản lý định danh dịch vụ và OpenFeign cho các lời gọi nội bộ. Cơ sở dữ liệu quan hệ MySQL (sử dụng công cụ lưu trữ InnoDB, tuân thủ ACID) kết hợp với Spring Data JPA để xử lý dữ liệu. Redis được sử dụng làm bộ nhớ đệm (cache) nhằm tối ưu hóa tốc độ truy xuất.
  • Ngăn xếp công nghệ phía người dùng (Frontend): Ứng dụng thư viện ReactJS của Meta dựa trên kiến trúc thành phần (component-based), Virtual DOM, cú pháp JSX và luồng dữ liệu một chiều (Unidirectional Data Flow). Thư viện giao diện PrimeReact, Axios (kết nối API) và Redux (quản lý trạng thái) được tích hợp để tối ưu trải nghiệm người dùng theo mô hình Single Page Application (SPA).
  • Hạ tầng truyền tin và tích hợp dịch vụ: Nền tảng Apache Kafka đóng vai trò message broker phân tán (mô hình publish-subscribe) xử lý luồng dữ liệu thời gian thực cho hệ thống tin nhắn và sự kiện thông báo. Giao thức WebSocket phục vụ trao đổi tức thời. Firebase Cloud Messaging (FCM) và Firebase Cloud Storage của Google được tích hợp lần lượt cho tính năng thông báo đẩy đa nền tảng và lưu trữ tệp tin.

Phương pháp nghiên cứu thực tế được thực hiện theo 3 giai đoạn:

  1. Khảo sát và đánh giá hiện trạng: Áp dụng phương pháp đánh giá của The Digital Project Manager’s Software Review Methodology để phân tích các phần mềm quản lý dự án thương mại dựa trên 4 tiêu chí: tính phù hợp và đa dạng chức năng, tính trực quan trong thiết kế, khả năng tích hợp và giá thành.
  2. Thiết kế hệ thống: Đặc tả các luồng nghiệp vụ qua mô hình hóa use case, lược đồ lớp phân rã cho từng dịch vụ và lược đồ tuần tự.
  3. Phát triển và kiểm thử: Triển khai đồng thời giữa giao diện và dịch vụ máy chủ, thực hiện kiểm thử chức năng định kỳ để đảm bảo tính liên kết trước khi đóng gói và cài đặt.

Nguồn dữ liệu tham chiếu trong khảo sát thị trường bao gồm số liệu từ báo cáo của Straits Research (2024), thống kê sử dụng phần mềm của TeamStage, dữ liệu tỷ lệ thành công của Visual Planning và nghiên cứu xu hướng AI của ResearchGate (2024).

Thiết kế và triển khai

Hệ thống ProjectCT được xây dựng theo kiến trúc Microservices phân tán nhằm bảo đảm tính độc lập, khả năng mở rộng và dễ bảo trì. Các thành phần chính của kiến trúc được tổ chức như sau:

  • Tầng giao diện (Frontend): Xây dựng bằng ReactJS kết hợp thư viện PrimeReact và Redux. Client gửi các yêu cầu nghiệp vụ thông qua RESTful API bằng Axios và duy trì kết nối hai chiều thời gian thực qua giao thức WebSocket.
  • Tầng định tuyến và phân giải: Spring Cloud Gateway đóng vai trò cổng vào duy nhất, nhận các yêu cầu từ phía client và định tuyến đến các vi dịch vụ tương ứng. Eureka Service Discovery quản lý danh bạ và trạng thái của toàn bộ các dịch vụ nội bộ.
  • Hệ thống các dịch vụ microservices độc lập:
    1. Auth Service: Đảm nhiệm việc đăng ký, xác thực danh tính người dùng, cấp phát mã thông báo JWT, hỗ trợ xác thực qua Google và Github, cùng nghiệp vụ quản lý hồ sơ cá nhân.
    2. Project Service: Thực hiện quản lý vòng đời dự án, cấu hình các giai đoạn phát triển (phase) và quản lý danh mục backlog, phân công công việc.
    3. Collab Service: Điều phối danh sách cộng tác viên, quản lý cơ chế phân quyền và gán vai trò tùy biến trong từng dự án cụ thể.
    4. Message Service: Xử lý lưu trữ, điều phối các kênh trò chuyện nội bộ dự án, đồng bộ dữ liệu thời gian thực.
    5. Notification Service: Tiếp nhận các sự kiện phát sinh từ hệ thống thông qua Kafka và đẩy cảnh báo đến người dùng thông qua Firebase Cloud Messaging.
    6. Storage Service: Quản trị tập trung các tệp tin đa phương tiện, tích hợp trực tiếp với SDK của Firebase Storage để xử lý việc tải lên, chia sẻ và kiểm soát các phiên bản tệp.
  • Cơ chế truyền thông và đồng bộ: Giao tiếp nội bộ đồng bộ giữa các microservices được thực hiện qua REST API sử dụng OpenFeign. Giao tiếp bất đồng bộ được trung chuyển qua Apache Kafka để giảm thiểu độ trễ và tránh tắc nghẽn khi khối lượng sự kiện tăng cao.
  • Bảo mật hệ thống: Mã hóa đường truyền bằng giao thức HTTPS; xác thực và phân quyền bằng JSON Web Token (JWT) có cơ chế làm mới (refresh token); thông tin mật khẩu của người dùng được mã hóa bằng thuật toán băm an toàn bcrypt trước khi lưu trữ trong MySQL.
  • Đóng gói và triển khai: Toàn bộ hệ thống frontend, các khối dịch vụ backend Spring Boot, cụm môi trường Kafka, cơ sở dữ liệu MySQL và Redis được đóng gói thành các container riêng biệt bằng Docker Compose và triển khai trên máy chủ ảo cá nhân (VPS).

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

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

Chương 1 trình bày tổng quan về bối cảnh thực hiện đồ án, tập trung vào những vấn đề thực tế mà sinh viên CNTT gặp phải trong quá trình làm việc nhóm. Tác giả xác định 4 mục đích chính của đề tài, làm rõ đối tượng sử dụng trọng tâm là sinh viên kỹ thuật phần mềm, và vạch ra quy trình 3 giai đoạn từ nghiên cứu thị trường, thiết kế đặc tả đến phát triển và kiểm thử. Chương này cũng đặt ra các chỉ tiêu dự kiến hoàn thành về tính ổn định của hệ thống, giao diện trực quan và sự liên kết giữa công nghệ Spring Boot và ReactJS.

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

Chương 2 tổng hợp bức tranh toàn cảnh về thị trường phần mềm quản lý dự án trên thế giới. Theo số liệu trích dẫn từ Straits Research (2024), thị trường này đạt quy mô 7,36 tỷ USD vào năm 2023 và dự kiến đạt 15,06 tỷ USD vào năm 2032 với tốc độ tăng trưởng kép hàng năm (CAGR) là 18,48%. Thống kê từ TeamStage cho thấy chỉ 22% tổ chức ứng dụng phần mềm quản lý dự án toàn diện, dù số liệu từ Visual Planning ghi nhận các tổ chức áp dụng bài bản đạt tỷ lệ dự án thành công tới 92%. Đồng thời, số liệu từ ResearchGate (2024) phản ánh trí tuệ nhân tạo (AI) đã thâm nhập 70% trong giai đoạn thực thi và 85% trong khâu giám sát, kiểm soát dự án.

Chương này tiến hành đối sánh 4 nền tảng nổi bật gồm Microsoft Project (>20 triệu người dùng), Asana (>169.000 khách hàng trả phí, >2,5 triệu người dùng hoạt động hàng tuần), Trello (76,75 triệu lượt truy cập tháng 1/2025) và ClickUp (gần 10 triệu người dùng, tỷ lệ chuyển đổi trả phí 8-10%).

Tính năng Microsoft Project Trello Asana ClickUp
Quản lý công việc X X X X
Quản lý nhân sự X X X
Quản lý mã nguồn dự án X
Quản lý chi phí X
Quản lý tài liệu X X X X

Dựa trên phương pháp đánh giá của The Digital Project Manager, chương 2 đưa ra bảng đánh giá định tính:

Tiêu chí Microsoft Project Trello Asana ClickUp
Tính phù hợp và đa dạng của các chức năng Tốt Tốt Trung bình Tốt
Tính trực quan trong thiết kế Tốt Tốt Trung bình Tốt
Khả năng tích hợp Trung bình Trung bình Trung bình Tốt
Giá thành ứng dụng Tốt Tốt Tốt Trung bình

Từ phân tích trên, tác giả chỉ ra khoảng trống: các công cụ hiện nay hoặc quá cơ bản, hoặc quá phức tạp và chi phí cao, thiếu giải pháp chuyên biệt cho sinh viên CNTT. Trên cơ sở đó, chương 2 xác định chi tiết các yêu cầu chức năng (quản lý người dùng, dự án, giai đoạn, backlog, cộng tác viên, tệp tin) và yêu cầu phi chức năng (bảo mật HTTPS, JWT, bcrypt; khả năng bảo trì; trải nghiệm người dùng).

Chương 3: Cơ sở lý thuyết

Chương 3 trình bày các nền tảng lý luận và công nghệ cốt lõi phục vụ việc xây dựng sản phẩm:

  • Phương pháp luận Agile và quy trình Scrum (các chu kỳ Sprint 1-4 tuần, vai trò PO, Scrum Master, Nhóm phát triển, và các nghi thức Sprint Planning, Daily Scrum, Sprint Review, Sprint Retrospective).
  • Kiến trúc và đặc tính kỹ thuật của framework Spring Boot (cơ chế auto-configuration, starter dependencies, máy chủ nhúng Tomcat/Jetty, module Actuator).
  • Thư viện ReactJS với cơ chế Virtual DOM, cú pháp JSX và kiến trúc component.
  • Hệ quản trị cơ sở dữ liệu quan hệ MySQL, cơ chế lưu trữ InnoDB, tính nhất quán ACID và khả năng tương thích Spring Data JPA.
  • Nền tảng phân phối luồng dữ liệu thời gian thực Apache Kafka, kiến trúc cụm phân tán và nhóm tiêu thụ (Consumer Groups).
  • Nền tảng dịch vụ đám mây Firebase (Firebase Cloud Messaging và Firebase Storage).

Chương 4: Thiết kế hệ thống

Chương 4 là phần nội dung trọng tâm về mặt kỹ thuật của đồ án, mô tả chi tiết từ kiến trúc đến giao diện người dùng:

  • Lược đồ kiến trúc microservices và phân tách 6 dịch vụ thành phần (Auth, Project, Collab, Message, Notification, Storage Service).
  • Mô hình hóa ca sử dụng thông qua lược đồ use case tổng thể và hệ thống các bảng đặc tả use case chi tiết (Bảng 3 đến Bảng 15) bao gồm: Đăng ký (xác thực OTP qua email), Đăng nhập (hỗ trợ tài khoản hệ thống, Google, Github), Cập nhật hồ sơ, Quản lý dự án, Quản lý backlog (tạo task, subtask, chuyển task sang phase), Quản lý giai đoạn, Quản lý cộng tác viên, Quản lý vai trò, Quản lý tệp tin đa phương tiện (tạo mới, sửa, xóa, cập nhật phiên bản), Phản hồi công việc, Họp trực tuyến và Đăng xuất.
  • Xây dựng 6 lược đồ lớp tương ứng cho 6 microservices và 14 lược đồ tuần tự thể hiện sự tương tác giữa các thành phần và cơ sở dữ liệu.
  • Thiết kế giao diện chi tiết qua hệ thống 32 bảng mô tả thành phần giao diện (Bảng 16 đến Bảng 32) và danh mục ảnh giao diện từ Hình 23 đến Hình 39 (các màn hình: Đăng nhập, Đăng ký, Quên mật khẩu, Không gian làm việc, Chỉnh sửa hồ sơ, Quản lý dự án, Quản lý backlog, Tạo công việc mới, Di chuyển công việc, Quản lý giai đoạn, Quản lý cộng tác viên, Quản lý tệp tin và phiên bản, Kênh trò chuyện, Phòng họp trực tuyến).

Chương 5: Cài đặt và triển khai

Chương 5 cung cấp tài liệu kỹ thuật về các bước thiết lập và đóng gói ứng dụng:

  • Cài đặt và cấu hình môi trường Frontend sử dụng ReactJS, PrimeReact, các thư viện phụ thuộc Redux, Axios và cấu hình kết nối WebSocket.
  • Cài đặt các module Backend trên nền Spring Boot, tích hợp Eureka Server, cấu hình kết nối cơ sở dữ liệu MySQL, Redis cache, thiết lập các topic trên Apache Kafka và kết nối SDK Firebase.
  • Thiết lập tệp cấu hình Docker Compose để liên kết các container dịch vụ và triển khai thực tế trên môi trường máy chủ ảo cá nhân (VPS).

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

Chương 6 tổng kết toàn bộ quá trình nghiên cứu và thực nghiệm:

  • Tổng hợp các kết quả chức năng và phi chức năng đã hoàn thành theo mục tiêu ban đầu.
  • Nêu rõ các mặt hạn chế còn tồn tại của hệ thống sau quá trình thử nghiệm.
  • Đề xuất phương hướng nghiên cứu và hoàn thiện sản phẩm trong các giai đoạn tiếp theo.

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

Nghiên cứu mang lại các kết quả cụ thể:

  • Kết quả triển khai hệ thống: Nhóm tác giả đã xây dựng thành công nền tảng ProjectCT hoạt động ổn định trên máy chủ VPS. Hệ thống đáp ứng toàn bộ các chức năng cốt lõi đã đề ra: phân rã công việc theo cấu trúc Backlog và Phase, hỗ trợ phân công nhiệm vụ (task và subtask), quản lý cộng tác viên và phân quyền vai trò chi tiết, lưu trữ tệp tin đa phương tiện có kiểm soát lịch sử phiên bản, trò chuyện và họp trực tuyến, cùng cơ chế thông báo phân công tức thời qua Firebase Cloud Messaging.
  • Giải pháp tổ chức dự án học thuật: Hệ thống khắc phục tình trạng phân tán dữ liệu khi sinh viên sử dụng đồng thời các ứng dụng nhắn tin thông thường (Messenger, Zalo, Discord). Toàn bộ luồng tài liệu, tiến độ và trao đổi của dự án được tập trung hóa, giúp gia tăng tính minh bạch và tiết kiệm thời gian điều phối.
  • Đóng góp về mặt ứng dụng công nghệ: Đồ án là một mô hình thực nghiệm hoàn chỉnh về việc tích hợp kiến trúc Microservices dựa trên Spring Boot (với Eureka, OpenFeign, Spring Cloud Gateway) kết hợp với message broker Apache Kafka, bộ nhớ đệm Redis, cơ sở dữ liệu MySQL, lưu trữ đám mây Firebase và giao diện Single Page Application (ReactJS, Redux, PrimeReact) vào một bài toán thực tế của sinh viên.

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

Dựa trên nội dung tổng kết và phạm vi nghiên cứu của đồ án, các hạn chế và hướng mở được ghi nhận như sau:

  • Hạn chế:
    • Hệ thống được thiết kế và kiểm thử chủ yếu trong phạm vi các bài tập nhóm và đồ án học thuật của sinh viên, chưa được đánh giá tải ở quy mô doanh nghiệp với số lượng dự án lớn đồng thời.
    • Hạ tầng lưu trữ tệp và gửi thông báo vẫn phụ thuộc vào các dịch vụ đám mây của bên thứ ba (Firebase), điều này có thể tạo ra sự phụ thuộc vào chính sách dịch vụ bên ngoài.
    • Mặc dù chương khảo sát hiện trạng ghi nhận xu hướng ứng dụng AI trong quản lý dự án đạt từ 70% đến 85%, phiên bản hiện tại của ProjectCT chưa tích hợp các thuật toán trí tuệ nhân tạo để tự động hóa việc dự báo rủi ro tiến độ hoặc phân bổ tài nguyên.
  • Hướng nghiên cứu tiếp:
    • Nghiên cứu tích hợp các mô hình trí tuệ nhân tạo nhằm hỗ trợ phân tích dữ liệu dự án, tự động đề xuất phương án điều chỉnh tiến độ và tối ưu phân bổ công việc cho thành viên.
    • Mở rộng khả năng tích hợp của hệ thống với các công cụ phát triển phần mềm phổ biến khác như Git, GitHub hoặc các hệ thống kiểm thử tự động.
    • Tiếp tục tối ưu hóa hiệu năng của các cụm dịch vụ microservices khi tăng quy mô người dùng và hoàn thiện các cơ chế giám sát vận hành thời gian thực.

Giá trị tham khảo

Báo cáo khóa luận có giá trị tham khảo thiết thực cho nhiều nhóm đối tượng:

  • Sinh viên ngành Công nghệ Thông tin và Kỹ thuật Phần mềm: Tài liệu cung cấp hướng dẫn toàn diện từ khảo sát yêu cầu, thiết kế kiến trúc microservices đến cài đặt thực tế một hệ thống quản lý hoàn chỉnh bằng Spring Boot và ReactJS.
  • Người nghiên cứu và phát triển hệ thống phân tán: Khóa luận là tài liệu tham khảo chi tiết về cách thức triển khai các công nghệ Eureka Service Discovery, Spring Cloud Gateway, OpenFeign kết hợp với Apache Kafka cho tác vụ truyền thông bất đồng bộ và Redis cho bộ nhớ đệm.
  • Các nhóm sinh viên thực hiện đồ án môn học: Mô hình quản lý giai đoạn (phases), backlog và phân chia công việc theo khung làm việc Scrum trong ProjectCT là cấu trúc mẫu có thể áp dụng trực tiếp để tổ chức các dự án lập trình nội bộ.
  • Phần nội dung đáng tham khảo nhất: Chương 4 với hệ thống đặc tả use case, lược đồ lớp của từng dịch vụ microservices độc lập và lược đồ tuần tự là tài liệu mẫu mực về thiết kế hệ thống phần mềm hướng đối tượng và hướng dịch vụ.

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

1. Nền tảng ProjectCT giải quyết những vấn đề khó khăn cụ thể nào của sinh viên CNTT khi làm đồ án nhóm?
ProjectCT giải quyết tình trạng phân tán thông tin do sinh viên thường dùng nhiều công cụ rời rạc (như Messenger, Zalo, Discord) để vừa trao đổi, vừa gửi tài liệu và giao việc. Hệ thống tập trung hóa toàn bộ dữ liệu, phân chia công việc theo mô hình giai đoạn (phases) và backlog, cho phép kiểm soát lịch sử phiên bản tệp tin và thông báo phân công tự động, giúp quản lý tiến độ khoa học và tăng tính minh bạch.

2. Kiến trúc máy chủ (Backend) của ProjectCT gồm những microservices nào và giao tiếp với nhau bằng cơ chế gì?
Backend của ProjectCT gồm 6 microservices độc lập: Auth Service, Project Service, Collab Service, Message Service, Notification Service và Storage Service. Các dịch vụ này được quản lý địa chỉ bởi Eureka Service Discovery, tiếp nhận yêu cầu từ client qua Spring Cloud Gateway. Giao tiếp đồng bộ giữa các dịch vụ nội bộ được thực hiện qua REST API bằng OpenFeign, trong khi giao tiếp bất đồng bộ cho các luồng tin nhắn và sự kiện thông báo được xử lý thông qua message broker Apache Kafka.

3. Cơ chế bảo mật và xác thực của hệ thống được xây dựng như thế nào?
Hệ thống sử dụng giao thức HTTPS để mã hóa dữ liệu truyền tải trên mạng. Việc xác thực và phân quyền người dùng được thực hiện thông qua JSON Web Token (JWT) có mã hóa và quy định thời hạn hiệu lực, kết hợp cơ chế làm mới mã (refresh token). Mật khẩu người dùng được băm an toàn bằng thuật toán bcrypt trước khi lưu trữ vào cơ sở dữ liệu MySQL.

4. Khung làm việc Agile/Scrum được phản ánh như thế nào trong các tính năng quản lý công việc của hệ thống?
Hệ thống mô phỏng cấu trúc Scrum thông qua việc thiết lập danh mục Backlog (chứa các user story và các task/subtask theo mức độ ưu tiên) do người quản trị dự án (Product Owner) điều phối. Từ Backlog, các công việc được chuyển vào các giai đoạn cụ thể (tương ứng với các Sprint), kèm theo thời hạn thực hiện (deadline), chỉ định người phụ trách (assignee) và theo dõi trạng thái công việc (status) cho đến khi hoàn thành.

5. Hệ thống hỗ trợ những phương thức nào để cộng tác và lưu trữ dữ liệu giữa các thành viên?
ProjectCT cung cấp kênh trò chuyện trực tuyến (chat) theo từng dự án và tính năng họp trực tuyến (meeting). Về lưu trữ, hệ thống cho phép tải lên các tệp tin với nhiều định dạng (document, presentation, picture) lên Firebase Storage, hỗ trợ tính năng cập nhật phiên bản mới cho tệp tin mà vẫn lưu trữ và cho phép truy xuất lại các phiên bản cũ hơn.

Kết luận

Khóa luận tốt nghiệp của sinh viên Nguyễn Văn Thi và Phan Lê Thành Công đã giải quyết thành công bài toán quản lý dự án lập trình của sinh viên CNTT thông qua việc xây dựng hoàn chỉnh nền tảng ProjectCT. Bằng việc ứng dụng quy trình quản lý linh hoạt Agile/Scrum trên nền tảng kiến trúc Microservices với Spring Boot, ReactJS, Apache Kafka, Redis và MySQL, sản phẩm đáp ứng đầy đủ các yêu cầu từ quản lý tiến độ, điều phối cộng tác viên đến lưu trữ tệp đa phiên bản và tương tác thời gian thực. Đồ án được tổ chức chặt chẽ từ khảo sát hiện trạng, thiết kế hệ thống chi tiết đến đóng gói triển khai thực tế bằng Docker Compose trên máy chủ ảo VPS, mang lại giá trị học thuật và tài liệu kỹ thuật có tính ứng dụng cao.