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

Trong bối cảnh chuyển đổi số giáo dục, hình thức đào tạo trực tuyến (e-learning) đã trở thành giải pháp học tập cấp thiết nhờ khả năng cung cấp môi trường học tập linh hoạt, xóa bỏ rào cản về thời gian và khoảng cách địa lý. Hình thức này hỗ trợ đa dạng hóa phong cách học tập thông qua học liệu đa phương tiện (video, âm thanh, tài liệu số), đồng thời tối ưu hóa chi phí và thời gian di chuyển so với mô hình đào tạo truyền thống.

Khóa luận tốt nghiệp ngành Công nghệ Thông tin (chuyên 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 của nhóm sinh viên Trần Thế Kiệt và Nguyễn Cao Hồng Vinh (dưới sự hướng dẫn của ThS. Nguyễn Minh Đạo, phản biện bởi TS. Lê Vĩnh Thịnh) tập trung giải quyết bài toán xây dựng nền tảng học trực tuyến hoàn chỉnh mang tên PrimeEdu.

Mục tiêu và nhiệm vụ nghiên cứu được văn bản xác định cụ thể như sau:

  1. Về lý thuyết:
    • Tìm hiểu các công nghệ nền tảng: framework NestJS, thư viện ReactJS, kiến trúc RESTful API và chuẩn xác thực JSON Web Token (JWT).
    • Nghiên cứu nền tảng ảo hóa Docker và quy trình tích hợp/chuyển giao liên tục (CI/CD).
    • Nghiên cứu giải pháp tải lên và phát trực tuyến video (streaming video) theo cơ chế phân đoạn (chunked).
    • Nghiên cứu các chức năng chuẩn của một hệ thống e-learning phục vụ học sinh phổ thông.
  2. Về thực hành:
    • Xây dựng website e-learning hoàn chỉnh cho học sinh THPT với các phân hệ chức năng: mua khóa học, tra cứu bài giảng, xem video, làm bài tập, làm bài kiểm tra trắc nghiệm tương tác (quizz) lồng ghép trong lúc xem video, trao đổi trực tiếp với giáo viên và chia sẻ bài viết chuyên môn.
    • Phát triển hệ thống quản lý dành cho giáo viên: biên soạn bài giảng, tạo ngân hàng bài tập và quizz, phát hành (publish) khóa học, giám sát danh sách học sinh tham gia và giải đáp thắc mắc.
    • Thiết lập bảng điều khiển cho quản trị viên (Admin): quản trị phân quyền người dùng (khóa/mở khóa/xóa tài khoản), cấp tài khoản cho giáo viên, kiểm duyệt bài viết và quản lý hệ thống banner quảng bá.
    • Tích hợp cổng thanh toán bên thứ ba (VNPAY) và đóng gói triển khai toàn bộ hệ thống bằng Docker.

Đối tượng nghiên cứu của đề tài là nhu cầu học tập trực tuyến thực tế của học sinh trung học phổ thông tại khu vực thành phố Thủ Đức (Thành phố Hồ Chí Minh), cùng hệ thống công nghệ phát triển web hiện đại (NestJS, ReactJS, PostgreSQL, JWT). Phạm vi nghiên cứu tập trung vào quy trình vận hành khép kín của nền tảng thương mại khóa học và đào tạo trực tuyến, thực hiện trong khung thời gian từ ngày 19/02/2024 đến ngày 11/07/2024.


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

Đề tài áp dụng các lý thuyết, mô hình kiến trúc và tiêu chuẩn kỹ thuật phần mềm chuẩn hóa:

  • NestJS Framework: Khung phát triển ứng dụng server-side chạy trên nền tảng Node.js, vận hành dựa trên kiến trúc module hóa kết hợp mẫu thiết kế Dependency Injection (DI). NestJS phân định rõ ràng các tầng logic gồm Controller (tiếp nhận HTTP Request và ánh xạ Route), Provider/Service (thực thi logic nghiệp vụ và truy vấn dữ liệu), Middleware (tiền xử lý yêu cầu/ghi log), Validation Pipes (kiểm tra kiểu dữ liệu thông qua bộ decorator như @IsString(), @IsInt()), Exception Filters (chuẩn hóa thông điệp lỗi ngoại lệ) và Guards (kiểm soát phân quyền truy cập).
  • React và Redux: Thư viện xây dựng giao diện người dùng phát triển bởi Meta, vận hành trên mô hình DOM ảo (Virtual DOM) và cơ chế liên kết dữ liệu một chiều (one-way data binding) giúp tối ưu hóa hiệu năng render. Trạng thái toàn cục (global state) của ứng dụng client được quản lý tập trung thông qua kiến trúc Redux với ba thành phần chính: Store (kho lưu trữ trạng thái), Reducer (hàm thuần túy biến đổi trạng thái dựa trên Action) và Redux Middleware (xử lý các tác vụ bất đồng bộ và gọi API).
  • RESTful API: Tiêu chuẩn kiến trúc giao tiếp client-server sử dụng các phương thức HTTP chuẩn hóa tương ứng với các tác vụ thao tác tài nguyên: GET (truy vấn danh sách hoặc chi tiết), POST (khởi tạo tài nguyên mới), PUT (cập nhật tài nguyên) và DELETE (xóa tài nguyên).
  • Hệ quản trị cơ sở dữ liệu PostgreSQL: Hệ quản trị cơ sở dữ liệu quan hệ và đối tượng (ORDBMS) nguồn mở, tuân thủ nghiêm ngặt chuẩn toàn vẹn dữ liệu ACID, hỗ trợ cấu trúc dữ liệu JSON/XML và khả năng kiểm soát đồng thời nhiều phiên bản (MVCC).
  • JSON Web Token (JWT - RFC 7519): Chuẩn mã hóa truyền tin an toàn qua chữ ký số. JWT hoạt động theo quy trình xác thực không trạng thái (stateless): máy khách gửi thông tin đăng nhập, máy chủ xác thực thành công và sinh chuỗi token; ở các yêu cầu tiếp theo, máy khách đính kèm token trong trường Authorization của HTTP Header để máy chủ thẩm định quyền hạn.
  • Kỹ thuật Streaming Video: Giải pháp truyền tải nội dung đa phương tiện liên tục chia theo từng khối nhỏ (chunk) dựa trên trường Range trong HTTP Request Header từ phía client, tránh tình trạng client phải tải xuống toàn bộ tập tin video về bộ nhớ thiết bị.
  • Docker và CI/CD: Giải pháp đóng gói ứng dụng thành các container độc lập và tự động hóa quy trình tích hợp liên tục (Continuous Integration) và triển khai liên tục (Continuous Deployment).

Phương pháp nghiên cứu thực tế bao gồm phương pháp khảo sát - đối chiếu hiện trạng hai nền tảng e-learning phổ biến tại Việt Nam (Tuyensinh247 và Hocmai); phương pháp mô hình hóa hướng đối tượng bằng ngôn ngữ UML (lược đồ Use Case, lược đồ tuần tự Sequence Diagram, lược đồ lớp Class Diagram, lược đồ quan hệ thực thể ERD); và phương pháp kiểm thử hộp đen (Black-box testing) trên các chức năng hệ thống. Nguồn dữ liệu demo phục vụ thử nghiệm gồm 200 video bài giảng tương ứng với 5 khóa học được lưu trữ trên hạ tầng đám mây Digital Ocean Space Object.


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

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

Chương 1 trình bày chi tiết nền tảng lý thuyết và công nghệ cấu thành hệ thống. Tác giả phân tích cấu trúc hoạt động bên trong của NestJS, làm rõ vai trò của Dependency Injection trong việc giảm độ kết dính (coupling) giữa các thành phần mã nguồn, cơ chế lọc lỗi của Exception Filters và hệ thống bảo vệ Guards. Đồ án chỉ rõ ưu điểm của NestJS về tính tổ chức cao, chuẩn hóa kiến trúc hướng mô-đun, tương thích với Express.js, đồng thời thừa nhận các nhược điểm như đường cong học tập tương đối dốc, mức tiêu hao dung lượng bộ nhớ lớn khi hệ thống phức tạp và quy mô cộng đồng nhỏ hơn so với framework Express truyền thống.

Đối với tầng client, tác giả giải thích cơ chế render thông qua Virtual DOM và mô hình luồng dữ liệu một chiều của React. Cơ chế quản lý trạng thái Redux được làm rõ qua hai kịch bản xử lý dữ liệu: khi không sử dụng middleware (luồng tác động trực tiếp Store - Reducer - Action) và khi có middleware can thiệp để xử lý các lời gọi API bất đồng bộ. Tác giả cũng phân tích chi tiết quy trình 6 bước xác thực bằng JWT, kiến trúc RESTful API, nguyên lý tuân thủ ACID của PostgreSQL, cùng giải pháp tối ưu hóa bộ nhớ đệm máy chủ khi truyền tải video bài giảng theo từng khối chunk.

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

Chương 2 thực hiện nghiên cứu so sánh hai nền tảng học trực tuyến trong nước là Tuyensinh247 (thành lập năm 2013) và Hocmai. Kết quả khảo sát được tổng hợp chi tiết nhằm xác định khoảng trống công nghệ và nhu cầu người học:

Tiêu chí phân tích Hệ thống Tuyensinh247 & Hocmai Giải pháp định hướng của PrimeEdu
Hệ thống khóa học Đa dạng, phân cấp từ cơ bản đến ôn luyện thi THPT quốc gia. Thiết kế cấu trúc phân tầng: Môn học (Subject) - Khóa học (Course) - Chương (Section) - Bài giảng (Lecture).
Trải nghiệm học tập Có học thử, bài giảng chia theo lộ trình lý thuyết - ví dụ - bài tập tự luyện; đề thi có đáp án giải thích. Kế thừa cấu trúc bài giảng, tích hợp thêm quizz tương tác ngắt quãng trực tiếp trong luồng phát video.
Giao diện người dùng Giao diện còn mang tính cổ điển, mật độ hiển thị nhiều thông tin. Thiết kế giao diện hiện đại trên nền React, tối giản thao tác điều hướng cho học sinh THPT.
Phương thức thanh toán Chưa tự động hóa hoàn toàn; người dùng phải chuyển khoản thủ công và chờ duyệt giao dịch. Tích hợp cổng thanh toán trực tuyến tự động qua VNPAY, cập nhật trạng thái đơn hàng tức thời.
Tương tác đa chiều Hỗ trợ hỏi đáp, bình luận văn bản dưới bài học. Bổ sung module trò chuyện trực tiếp (real-time chat) giáo viên - học sinh và diễn đàn bài viết (blog).

Trên cơ sở khảo sát, đề tài xác định bài toán hệ thống PrimeEdu phục vụ 3 nhóm tác nhân (Role): Học sinh, Giáo viên và Quản trị viên (Admin). Yêu cầu chức năng bao gồm 12 nhóm lưu trữ dữ liệu (người dùng, khóa học, bài tập/quizz, khóa học yêu thích, giỏ hàng, đơn hàng, kết quả kiểm tra, bình luận, đánh giá, bài viết, phân quyền) cùng hệ thống tìm kiếm, lọc và thống kê khóa học. Nhóm tác giả xây dựng 3 lược đồ Use Case tổng quát và 47 bảng đặc tả Use Case chi tiết (từ UC-1.1 đến UC-1.47), định nghĩa đầy đủ điều kiện tiên quyết, luồng sự kiện chính, luồng thay thế và luồng xử lý ngoại lệ cho từng nghiệp vụ.

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

Chương 3 trình bày các mô hình thiết kế kỹ thuật từ tổng thể đến chi tiết:

  • Lược đồ tuần tự (Sequence Diagram): Xây dựng 49 lược đồ tuần tự mô tả chi tiết tương tác thông điệp giữa các lớp đối tượng từ Client, Controller, Service đến Cơ sở dữ liệu cho toàn bộ các chức năng (đăng ký xác thực OTP qua Gmail, đăng nhập, tìm kiếm khóa học, quy trình thêm vào giỏ và thanh toán VNPAY, quy trình tạo ngân hàng câu hỏi, phát hành khóa học, kiểm duyệt blog và banner).
  • Thiết kế cơ sở dữ liệu: Đồ án xây dựng lược đồ thực thể quan hệ và thiết kế chi tiết 30 bảng dữ liệu quan hệ được chuẩn hóa:
Nhóm chức năng Tên các bảng dữ liệu trong hệ thống
Tài khoản & Phân quyền user, role, user_role, permission, role_permission, address
Khóa học & Bài giảng category, subject_group, subject, course, section, lecture, user_course, course_bookmark
Đánh giá & Tương tác rating, comment, chat, message, notification
Bài tập & Khảo thí exam, question, user_exam, quizz, lecture_quizz, user_quizz
Thương mại & Quản trị cart, order, order_detail, banner, blog
  • Thiết kế giao diện: Xây dựng 19 màn hình giao diện trực quan cho 3 nhóm đối tượng: phân hệ học sinh (trang chủ, đăng ký, đăng nhập, danh mục khóa học, chi tiết khóa học, trình xem video tích hợp làm bài tập/quizz, giỏ hàng, thanh toán VNPAY, khóa học yêu thích); phân hệ giáo viên (danh sách khóa học, ngân hàng bài tập, ngân hàng quizz, cửa sổ tin nhắn trực tiếp); phân hệ quản trị viên (quản lý người dùng, quản trị tài khoản giáo viên, quản lý banner quảng bá, giao diện kiểm duyệt bài viết cộng đồng).

Chương 4: Cài đặt và kiểm thử

Chương 4 mô tả môi trường cài đặt phần mềm và quy trình kiểm thử hệ thống. Backend được cấu hình chạy trên nền tảng NestJS kết nối cơ sở dữ liệu PostgreSQL; Frontend xây dựng với ReactJS và thư viện quản lý trạng thái Redux.

Chiến lược kiểm thử áp dụng phương pháp kiểm thử chức năng hộp đen. Tác giả lập kế hoạch kiểm thử, xác định mục tiêu, logistics, tiêu chí chấp nhận và tiến hành thực thi trên toàn bộ các phân hệ chức năng thông qua Bảng kiểm thử chung (Bảng 4-1), ghi nhận phản hồi giao diện và tính chính xác của dữ liệu khi thao tác các tác vụ đăng nhập, đăng ký, đặt hàng, phát video và chấm điểm bài tập trực tuyến.


Thiết kế và triển khai

Hệ thống e-learning PrimeEdu được thiết kế theo mô hình kiến trúc phân tầng tách biệt hoàn toàn giữa Frontend và Backend, kết nối thông qua giao thức truyền thông HTTP/HTTPS bằng định dạng trao đổi dữ liệu JSON:

[Trình duyệt Web (Client)]
[Tầng Giao diện Người dùng]
[Tầng Dịch vụ Backend (NestJS Framework)]

Chi tiết triển khai kỹ thuật của các thành phần cốt lõi:

  1. Kiến trúc dữ liệu và xử lý nghiệp vụ Backend:
    • Sử dụng NestJS làm nền tảng máy chủ. Các module nghiệp vụ (AuthModule, CourseModule, ExamModule, OrderModule, BlogModule) được tổ chức độc lập, đóng gói logic trong Service và tiêm phụ thuộc thông qua DI.
    • Cơ chế bảo mật dựa trên Token: Khóa bí mật ký số được cấu hình trên máy chủ. Người dùng gửi thông tin xác thực, máy chủ sinh JWT có hạn dùng. Mọi truy vấn vào tài nguyên nhạy cảm đều được bảo vệ bởi Guards nhằm kiểm tra tính hợp lệ của chữ ký và vai trò được gán trong bảng role_permission.
  2. Giải pháp Streaming Video tối ưu tài nguyên:
    • Khắc phục nhược điểm nghẽn băng thông và tràn bộ nhớ khi tải tệp video dung lượng lớn, hệ thống tích hợp giải pháp lưu trữ đối tượng đám mây Digital Ocean Space Object kết hợp kỹ thuật truyền dữ liệu theo dải Range trong HTTP Header. Máy chủ NestJS chỉ đọc và phản hồi dữ liệu nhị phân tương ứng với phân đoạn (chunk) người dùng đang theo dõi, cho phép tua nhanh và tải tuần tự mượt mà.
  3. Mô-đun Khảo thí và Quizz tương tác:
    • Tích hợp bài kiểm tra định kỳ (exam) và trắc nghiệm xen kẽ video bài giảng (lecture_quizz). Bảng lecture_quizz ánh xạ câu hỏi vào đúng mốc thời gian phát của video bài giảng (lecture), buộc người học phải tương tác trả lời câu hỏi kiểm tra độ hiểu bài trước khi tiếp tục theo dõi tiến trình.
  4. Triển khai và Kiểm thử hệ thống:
    • Ứng dụng được đóng gói thành các Docker Image riêng biệt cho phía máy chủ và cơ sở dữ liệu, cho phép khởi tạo môi trường đồng nhất và vận hành tự động qua quy trình CI/CD.
    • Thử nghiệm chức năng (Bảng 4-1) được tiến hành trên các kịch bản thực tế: từ luồng đăng ký học sinh (nhập thông tin, gửi mã OTP Gmail, điền hồ sơ sở thích khối thi), luồng duyệt khóa học và thanh toán qua VNPAY, đến các thao tác quản trị tài khoản và kiểm duyệt nội dung của Admin.

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

Khóa luận đã hoàn thành các mục tiêu nghiên cứu và kỹ thuật đề ra theo đề cương:

  • Kết quả kỹ thuật:
    • Xây dựng thành công hệ thống website học trực tuyến PrimeEdu với đầy đủ 3 phân hệ giao diện tương ứng với 3 tác nhân người dùng (Học sinh, Giáo viên, Quản trị viên).
    • Hoàn thiện mô hình dữ liệu quan hệ chuẩn hóa gồm 30 bảng dữ liệu, bao quát đầy đủ các hoạt động quản trị đào tạo, thương mại điện tử khóa học, diễn đàn thảo luận và tương tác thời gian thực.
    • Tích hợp thành công cổng thanh toán VNPAY xử lý tự động quy trình giao dịch khóa học, khắc phục nhược điểm thanh toán thủ công tồn tại trên các hệ thống khảo sát.
    • Vận hành thử nghiệm hệ thống lưu trữ và phát trực tuyến video bài giảng với tập dữ liệu thực tế gồm 200 video thuộc 5 khóa học THPT lưu trữ tại Digital Ocean Space Object.
    • Thiết kế thành công chức năng làm bài quizz trực tiếp trong tiến trình xem video bài giảng, hỗ trợ nâng cao mức độ tập trung và tính chủ động của học sinh.
  • Đóng góp của đề tài:
    • So với các nghiên cứu và hệ thống hiện hành (tiêu biểu là Tuyensinh247 và Hocmai), đề tài đã đề xuất và triển khai kiến trúc kỹ thuật hiện đại hóa: thay thế cơ chế thanh toán chậm bằng cổng VNPAY tự động; tích hợp tính năng quizz tương tác trực tiếp trên giao diện phát video; và ứng dụng kiến trúc phân tầng hướng dịch vụ bằng NestJS kết hợp ReactJS giúp tối ưu hóa hiệu năng truyền tải dữ liệu so với các hệ thống nguyên khối (monolithic) truyền thống.

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

Khóa luận chỉ rõ những hạn chế xuất phát từ phạm vi nghiên cứu và điều kiện triển khai thực nghiệm:

  • Hạn chế:
    • Khảo sát nhu cầu người dùng chỉ mới tập trung trong phạm vi học sinh THPT tại khu vực địa bàn thành phố Thủ Đức, chưa mở rộng ra các địa phương khác để thu thập mẫu dữ liệu đa dạng hơn.
    • Dữ liệu thử nghiệm streaming video mới dừng ở quy mô thử nghiệm (200 video và 5 khóa học trên hạ tầng Digital Ocean Space Object), chưa đánh giá hiệu năng chịu tải đồng thời (load testing) với số lượng lớn người dùng cùng lúc.
    • Framework NestJS có mức độ chiếm dụng bộ nhớ (memory footprint) tương đối lớn khi quy mô các module ứng dụng mở rộng.
  • Hướng nghiên cứu tiếp:
    • Mở rộng quy mô khảo sát đối với giáo viên và học sinh ở nhiều khu vực địa lý khác nhau để tinh chỉnh yêu cầu giao diện và tính năng sư phạm.
    • Tối ưu hóa hiệu năng hệ thống backend, nghiên cứu áp dụng các cơ chế phân tán bộ nhớ đệm (caching) hoặc kiến trúc vi dịch vụ (Microservices) khi số lượng truy cập và tài nguyên video gia tăng.
    • Nâng cấp thuật toán đề xuất khóa học thông minh dựa trên lịch sử học tập và kết quả kiểm tra của học sinh.

Giá trị tham khảo

Báo cáo khóa luận tốt nghiệp là tài liệu tham khảo có giá trị chuyên môn đối với:

  • Sinh viên chuyên ngành Công nghệ thông tin và Công nghệ phần mềm: Có thể tham khảo toàn bộ quy trình công nghệ phát triển phần mềm chuẩn mực, từ khâu khảo sát hiện trạng, mô hình hóa bài toán bằng 47 ca sử dụng (Use Case) chi tiết, thiết kế 49 lược đồ tuần tự (Sequence Diagram), chuẩn hóa 30 bảng cơ sở dữ liệu quan hệ, cho đến kỹ thuật viết API với NestJS và React.
  • Kỹ sư và lập trình viên phát triển hệ thống e-learning: Là tài liệu tham khảo thực tế cho giải pháp kỹ thuật tích hợp cổng thanh toán trực tuyến VNPAY, kiến trúc phân quyền RBAC đa cấp (role_permission) và giải pháp phân đoạn video (video streaming chunks) kết hợp lưu trữ đám mây.

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

1. Hệ thống PrimeEdu giải quyết nhược điểm thanh toán của các nền tảng e-learning khảo sát bằng cách nào?
Khảo sát hiện trạng hai nền tảng Tuyensinh247 và Hocmai trong đồ án chỉ ra rằng các hệ thống này chưa tự động hóa khâu thanh toán, người dùng phải chuyển tiền qua ngân hàng rồi chờ nhân viên duyệt giao dịch. Hệ thống PrimeEdu khắc phục bằng cách tích hợp trực tiếp cổng thanh toán trực tuyến bên thứ ba (VNPAY), cho phép kiểm tra và kích hoạt quyền truy cập khóa học cho học sinh ngay khi giao dịch thanh toán hoàn tất.

2. Giải pháp kỹ thuật nào được tác giả lựa chọn để truyền tải video bài giảng trên hệ thống?
Tác giả sử dụng dịch vụ lưu trữ đám mây Digital Ocean Space Object để chứa khoảng 200 video thuộc 5 khóa học demo. Khi người dùng xem bài học, backend NestJS không tải toàn bộ tập tin video mà phân chia dữ liệu thành từng phần nhỏ (chunk) dựa theo trường Range trong HTTP Request Header từ trình duyệt máy khách, giúp giảm tải dung lượng bộ nhớ máy chủ và tối ưu tốc độ phát.

3. Cơ sở dữ liệu của hệ thống PrimeEdu bao gồm những bảng nào và phục vụ những nghiệp vụ gì?
Hệ thống sử dụng cơ sở dữ liệu PostgreSQL gồm 30 bảng quan hệ, chia thành các nhóm nghiệp vụ chính: quản trị tài khoản và phân quyền (user, role, user_role, permission, role_permission, address); cấu trúc khóa học (category, subject_group, subject, course, section, lecture, user_course, course_bookmark); khảo thí trực tuyến (exam, question, user_exam, quizz, lecture_quizz, user_quizz); thương mại điện tử (cart, order, order_detail); và tương tác cộng đồng (comment, rating, chat, message, notification, banner, blog).

4. Tính năng quizz trên video bài giảng của PrimeEdu được thiết kế hoạt động như thế nào?
Tính năng này được mô hình hóa qua hai bảng lecture_quizz và quizz. Giáo viên thiết lập các câu hỏi trắc nghiệm ngắn gắn liền với từng thời điểm cụ thể trên dòng thời gian của bài giảng video (lecture). Khi học sinh theo dõi video đến mốc thời gian đã định, trình phát video sẽ tạm dừng để hiển thị giao diện làm bài quizz, buộc học sinh phải hoàn thành việc củng cố kiến thức trước khi tiếp tục xem nội dung tiếp theo.


Kết luận

Khóa luận tốt nghiệp của sinh viên Trần Thế Kiệt và Nguyễn Cao Hồng Vinh đã giải quyết trọn vẹn bài toán xây dựng nền tảng học trực tuyến PrimeEdu dành cho học sinh THPT dựa trên các tiêu chuẩn kỹ thuật hiện đại. Đề tài kết hợp chặt chẽ giữa khảo sát thực tiễn, phân tích nghiệp vụ hệ thống qua 47 ca sử dụng, chuẩn hóa cơ sở dữ liệu 30 bảng và triển khai đầy đủ các công nghệ NestJS, React, Redux, PostgreSQL cùng cổng thanh toán tự động VNPAY. Kết quả nghiên cứu là tài liệu tham khảo học thuật hữu ích cho sinh viên và lập trình viên trong việc thiết kế, xây dựng và triển khai các hệ thống giáo dục trực tuyến quy mô vừa và lớn.