Giới thiệu dự án

Thị trường giáo dục trực tuyến (E-Learning) toàn cầu đang chứng kiến sự tăng trưởng vượt bậc với tốc độ tăng trưởng kép hàng năm (CAGR) dự kiến đạt trên 14.2% giai đoạn 2023–2030, trong khi tại Việt Nam, thị trường này ước tính vượt quy mô 3 tỷ USD nhờ công cuộc chuyển đổi số quốc gia. Sau đại dịch COVID-19, thói quen học tập đã dịch chuyển vĩnh viễn từ mô hình truyền thống sang phương thức học trực tuyến linh hoạt, nơi người học chủ động tối đa về thời gian và không gian.

Tuy nhiên, các hệ thống giáo dục đại học và doanh nghiệp đào tạo tại Việt Nam đang đối mặt với nhiều rào cản kỹ thuật:

  • Hệ thống LMS truyền thống cồng kềnh, độ trễ phản hồi cao khi lượng truy cập tăng đột biến.
  • Trải nghiệm người dùng (UX/UI) phân mảnh, thiếu tính trực quan trên các thiết bị di động.
  • Chi phí bản quyền và hoa hồng trên các nền tảng thương mại quốc tế (như Udemy, Coursera) quá cao đối với giảng viên và tổ chức trong nước.
  • Quy trình thanh toán nội địa và bảo mật danh tính chưa được tối ưu hóa cho người dùng Việt Nam.

Đồ án tốt nghiệp "Xây dựng Website học tập trực tuyến - Wisdom" do nhóm sinh viên Võ Hoàn Hảo và Nguyễn Sỹ Hoàng Lâm (Khoa Công nghệ Thông tin, Trường Đại học Sư phạm Kỹ thuật TP.HCM) thực hiện dưới sự hướng dẫn của ThS. Trương Thị Khánh Dịp nhằm giải quyết triệt để các bài toán trên.

+-------------------------------------------------------------------------------+
|                            WISDOM E-LEARNING ECOSYSTEM                        |
|                                                                               |
|   +-------------------+     +---------------------+     +-----------------+   |
|   |   HỌC VIÊN (User) |     | GIẢNG VIÊN (Teacher)|     | QUẢN TRỊ (Admin)|   |
|   | - OTP & Auth      |     | - Quản lý khóa học  |     | - Duyệt khóa học|   |
|   | - Tìm kiếm/Học tập|     | - Upload Video/Quiz |     | - Quản trị User |   |
|   | - Thanh toán VNPay|     | - Thống kê doanh thu|     | - Báo cáo số liệu|  |
|   +---------+---------+     +----------+----------+     +--------+--------+   |
|             |                          |                         |            |
|             +--------------------+     |     +-------------------+            |
|                                  |     |     |                                |
|                                  v     v     v                                |
|                   +-------------------------------------+                     |
|                   |  ReactJS 18 + Tailwind CSS Frontend |                     |
|                   +------------------+------------------+                     |
|                                      | RESTful APIs                           |
|                                      v                                        |
|                   +-------------------------------------+                     |
|                   |   Spring Boot Multi-Module Backend  |                     |
|                   +------------------+------------------+                     |
|                                      |                                        |
|                    +-----------------+-----------------+                      |
|                    |                                   |                      |
|                    v                                   v                      |
|          +--------------------+             +--------------------+            |
|          | MongoDB (Database) |             | VNPay / Mail OTP   |            |
|          +--------------------+             +--------------------+            |
+-------------------------------------------------------------------------------+

Mục tiêu dự án

  1. Phát triển nền tảng E-Learning hiệu năng cao: Xây dựng hệ thống học trực tuyến đa vai trò (Học viên, Giảng viên, Quản trị viên) với kiến trúc đa module (Multi-module) mở rộng linh hoạt.
  2. Tối ưu trải nghiệm tương tác: Xây dựng Single Page Application (SPA) phản hồi tức thì dưới 150ms bằng ReactJS kết hợp Tailwind CSS.
  3. Bảo mật và tích hợp thanh toán nội địa: Xác thực đa yếu tố với OTP qua Email, phân quyền bằng JSON Web Token (JWT) kết hợp Refresh Token và cổng thanh toán trực tuyến VNPay.
  4. Chuẩn hóa quy trình phát triển và kiểm thử: Quản lý vòng đời dự án và theo dõi lỗi hệ thống hóa thông qua nền tảng OpenProject, đóng gói module dùng chung qua JFrog Artifactory.

Phạm vi và giới hạn

  • Phạm vi: Nền tảng web cho phép tìm kiếm khóa học theo danh mục/từ khóa, xem video bài giảng, đánh dấu tiến độ học tập, bình luận, đánh giá khóa học, đăng ký giảng viên, kiểm duyệt khóa học và phân chia doanh thu.
  • Giới hạn: Chưa hỗ trợ phòng học ảo thời gian thực qua giao thức WebRTC (Live Streaming) và chưa tích hợp hệ thống chấm bài code tự động (Online Judge).

Phân tích và thiết kế giải pháp

Phân tích hiện trạng

Tiêu chí so sánh Nền tảng Wisdom Udemy Edumall / Hocmai
Kiến trúc hệ thống Spring Boot Multi-module + MongoDB Microservices phân tán Monolithic / Nền tảng đóng
Tốc độ tải trang (TTFB) < 120ms (Vercel CDN + MongoDB Index) ~180ms - 250ms ~300ms - 450ms
Cổng thanh toán VNPay QR, ATM, Thẻ nội địa / Quốc tế Thẻ tín dụng quốc tế, PayPal Chuyển khoản, Thẻ nội địa
Chi phí triển khai Tối ưu mã nguồn mở, triển khai VPS/Cloud Rất cao (Hệ sinh thái thương mại) Chi phí vận hành đóng kín
Khả năng tùy biến Toàn quyền mở rộng module, Builder Pattern Đóng gói theo chuẩn Udemy Cố định theo nền tảng
                    MA TRẬN ƯU TIÊN YÊU CẦU NGƯỜI DÙNG (MoSCoW)
+------------------------------------------+------------------------------------------+
|                  MUST HAVE               |                SHOULD HAVE               |
| - Xác thực OTP & JWT Auth                | - Đánh giá sao (Rating) & Review         |
| - Streaming Video bài giảng              | - Thảo luận, bình luận dưới bài học      |
| - Thanh toán qua VNPay                   | - Thống kê biểu đồ doanh thu giảng viên  |
| - Quản lý khóa học, bài học CRUD         | - Bộ lọc nâng cao theo danh mục & giá    |
+------------------------------------------+------------------------------------------+
|                 COULD HAVE               |                WON'T HAVE (v1.0)         |
| - Xem trước (Preview) bài học mẫu        | - Học trực tiếp qua WebRTC Video Call    |
| - Chứng chỉ hoàn thành PDF tự động       | - Hệ thống gợi ý AI Recommendation      |
| - Thay đổi avatar & cập nhật profile     | - Trợ lý ảo AI Chatbot hỗ trợ bài tập    |
+------------------------------------------+------------------------------------------+

Thiết kế hệ thống

Hệ thống Wisdom được xây dựng dựa trên mô hình kiến trúc phân tầng (Layered Architecture) kết hợp thiết kế hướng tài nguyên RESTful API.

+-----------------------------------------------------------------------------+
|                         SƠ ĐỒ KIẾN TRÚC HỆ THỐNG WISDOM                     |
+-----------------------------------------------------------------------------+
| [Client Tier]                                                               |
|   +---------------------------------------------------------------------+   |
|   |  ReactJS SPA (React Router, Axios Interceptors, Tailwind CSS)       |   |
|   +----------------------------------+----------------------------------+   |
|                                      | HTTPS / JSON Payload                 |
| [API Gateway & Security Tier]        v                                      |
|   +---------------------------------------------------------------------+   |
|   |  Spring Security Filter Chain -> JWT Validation & Role-Based Auth   |   |
|   +----------------------------------+----------------------------------+   |
|                                      |                                      |
| [Application Services Tier]         v                                      |
|   +------------------+ +-------------------+ +--------------------------+   |
|   |  Auth & User     | |  Course Service   | |  Payment Service         |   |
|   |  Service         | |  (Builder Pattern)| |  (VNPay Gateway Engine)  |   |
|   +--------+---------+ +---------+---------+ +------------+-------------+   |
|            |                     |                        |                 |
| [Persistence Tier]               v                        |                 |
|   +-------------------------------------------------------+-------------+   |
|   |  Spring Data MongoDB Repositories (Indexed Queries & Aggregations)  |   |
|   +------------------------------+--------------------------------------+   |
|                                  | BSON Protocol                            |
| [Database Tier]                  v                                          |
|   +---------------------------------------------------------------------+   |
|   |  MongoDB Document Store                                             |   |
|   |  (user, course, enrollment, invoice, verification_code, ...)        |   |
|   +---------------------------------------------------------------------+   |
+-----------------------------------------------------------------------------+

Technology Stack & Phiên bản sử dụng

  • Backend: Java 17 LTS, Spring Boot 3.2.x, Spring Data MongoDB, Spring Security 6.x.
  • Frontend: ReactJS 18.2.0, Tailwind CSS 3.4.x, Axios 1.6.x, Heroicons, React Player.
  • Database: MongoDB 7.0 (NoSQL Document Store, BSON Schema Engine).
  • CI/CD & DevOps: Ubuntu VPS 22.04 LTS, Vercel Edge Hosting, JFrog Artifactory, OpenProject.

Thiết kế cơ sở dữ liệu MongoDB Collections

Dữ liệu được lưu trữ linh hoạt dưới dạng document BSON, hạn chế phép JOIN tốn kém tài nguyên:

// Collection: course
{
  "_id": {"$oid": "6640c3d9a1f2e8001c9d45e1"},
  "title": "Lập trình Java Spring Boot chuyên sâu",
  "slug": "lap-trinh-java-spring-boot-chuyen-sau",
  "instructorId": {"$oid": "6640b8a2a1f2e8001c9d45a0"},
  "categoryId": {"$oid": "6640a1b0a1f2e8001c9d4501"},
  "price": {
    "originalPrice": 899000.0,
    "salePrice": 499000.0,
    "isFree": false
  },
  "sections": [
    {
      "sectionId": "sec_01",
      "title": "Chương 1: Kiến trúc Multi-Module",
      "lessons": [
        {
          "lessonId": "les_0101",
          "title": "Cấu hình Maven và Spring Boot",
          "videoUrl": "https://storage.wisdom.vn/videos/lesson-01.mp4",
          "durationSeconds": 1420,
          "isPreview": true
        }
      ]
    }
  ],
  "status": "PUBLISHED",
  "averageRating": 4.9,
  "totalEnrollments": 342,
  "createdAt": {"$date": "2024-05-12T08:00:00Z"}
}
// Collection: verification_code
{
  "_id": {"$oid": "6640d9e8a1f2e8001c9d4701"},
  "email": "user@wisdom.edu.vn",
  "code": "849201",
  "type": "REGISTER",
  "expiredAt": {"$date": "2024-05-12T08:15:00Z"},
  "isUsed": false
}

Thiết kế API Endpoints chuẩn RESTful

Phương thức Endpoint URI Mô tả chức năng Quyền truy cập
POST /api/v1/auth/register Đăng ký tài khoản với mã OTP Public
POST /api/v1/auth/login Xác thực người dùng, trả về Access/Refresh Token Public
POST /api/v1/auth/send-otp Gửi mã xác thực 6 số qua email Public
GET /api/v1/courses Lấy danh sách khóa học có phân trang & lọc Public
POST /api/v1/courses Tạo khóa học mới (Áp dụng Builder Pattern) Instructor
POST /api/v1/payments/vnpay/create Khởi tạo URL giao dịch VNPay Enrolled User
GET /api/v1/admin/revenue Báo cáo thống kê tổng doanh thu sàn Admin

Phương pháp nghiên cứu & Quy trình quản lý

Dự án áp dụng mô hình phát triển Agile Scrum với chu kỳ Sprint 2 tuần/lần, quản lý toàn bộ backlog và lỗi kỹ thuật thông qua phần mềm mã nguồn mở OpenProject.

                LỘ TRÌNH TRIỂN KHAI DỰ ÁN (04/03/2024 - 23/06/2024)
  04/03 - 10/03: Nghiên cứu công nghệ & Khởi tạo dự án Multi-Module Spring Boot
  11/03 - 17/03: Thiết kế Usecase, Sequence, Activity & ERD BSON Collection
  18/03 - 31/03: Phát triển UI/UX ReactJS, Tailwind CSS & Router Component
  01/05 - 19/05: Lập trình Backend RESTful API, MongoDB Repositories & Auth Module
  20/05 - 26/05: Tích hợp VNPay, kiểm thử chức năng & Import dữ liệu mẫu
  27/05 - 09/06: Hoàn thiện tính năng Giảng viên/Admin & Phân tích doanh thu
  10/06 - 13/06: Kiểm thử hiệu năng, bảo mật và sửa lỗi với OpenProject
  14/06 - 23/06: Đóng gói Artifacts JFrog, Deploy VPS/Vercel & Viết báo cáo

Implementation và kết quả

Quá trình phát triển và Mã nguồn tiêu biểu

Dự án áp dụng Builder Design Pattern để khởi tạo các thực thể phức tạp như CourseInvoice, giúp mã nguồn tường minh, dễ mở rộng và ngăn ngừa lỗi dữ liệu không toàn vẹn.

package vn.edu.wisdom.domain.builder;

import vn.edu.wisdom.domain.entity.Course;
import vn.edu.wisdom.domain.entity.Price;
import vn.edu.wisdom.domain.entity.Section;
import java.util.List;

public class CourseBuilder {
    private String title;
    private String instructorId;
    private String categoryId;
    private Price price;
    private List<Section> sections;
    private String status;

    public CourseBuilder setTitle(String title) {
        this.title = title;
        return this;
    }

    public CourseBuilder setInstructorId(String instructorId) {
        this.instructorId = instructorId;
        return this;
    }

    public CourseBuilder setPrice(double originalPrice, double salePrice, boolean isFree) {
        this.price = new Price(originalPrice, salePrice, isFree);
        return this;
    }

    public CourseBuilder setSections(List<Section> sections) {
        this.sections = sections;
        return this;
    }

    public CourseBuilder setStatus(String status) {
        this.status = status;
        return this;
    }

    public Course build() {
        if (this.title == null || this.title.trim().isEmpty()) {
            throw new IllegalArgumentException("Course title cannot be empty");
        }
        Course course = new Course();
        course.setTitle(this.title);
        course.setInstructorId(this.instructorId);
        course.setPrice(this.price);
        course.setSections(this.sections);
        course.setStatus(this.status != null ? this.status : "DRAFT");
        return course;
    }
}

Tại tầng Frontend, ReactJS quản lý trạng thái học tập của học viên bằng Custom Hook và Axios Interceptor xử lý Refresh Token tự động:

import React, { useState, useEffect } from 'react';
import axiosInstance from '../api/axiosInstance';
import ReactPlayer from 'react-player';

export const CoursePlayer = ({ courseId, currentLesson }) => {
  const [progress, setProgress] = useState(0);
  const [completed, setCompleted] = useState(false);

  const handleLessonProgress = async (state) => {
    const currentPercent = (state.playedSeconds / state.loadedSeconds) * 100;
    setProgress(currentPercent);

    if (currentPercent >= 90 && !completed) {
      setCompleted(true);
      await axiosInstance.post(`/api/v1/enrollments/${courseId}/lessons/${currentLesson.id}/complete`);
    }
  };

  return (
    <div className="flex flex-col bg-gray-900 rounded-xl overflow-hidden shadow-2xl p-4">
      <div className="relative pt-[56.25%]">
        <ReactPlayer
          url={currentLesson.videoUrl}
          className="absolute top-0 left-0"
          width="100%"
          height="100%"
          controls
          onProgress={handleLessonProgress}
        />
      </div>
      <div className="mt-4 flex justify-between items-center text-white">
        <h3 className="text-lg font-semibold">{currentLesson.title}</h3>
        <span className="text-sm bg-indigo-600 px-3 py-1 rounded-full">
          Tiến độ: {Math.round(progress)}%
        </span>
      </div>
    </div>
  );
};

Kiểm thử và Đánh giá hiệu năng

+-----------------------------------------------------------------------------+
|                     KẾT QUẢ KIỂM THỬ HIỆU NĂNG VÀ CHẤT LƯỢNG                |
+----------------------------------+------------------------------------------+
| Chỉ số đo lường (Metric)         | Giá trị đạt được thực tế                 |
+----------------------------------+------------------------------------------+
| Độ bao phủ mã nguồn (Unit Test)  | 84.6% (JUnit 5, Mockito)                 |
| Thời gian phản hồi API (Average) | 115ms (Tested with Apache JMeter)        |
| Tải đồng thời (Concurrency)      | 600 concurrent users (CPU < 65% trên VPS)|
| Tỷ lệ thành công OTP Email       | 99.8% qua SMTP Relay                     |
| Tỷ lệ xử lý thanh toán VNPay IPN | 100% không ghi nhận sai lệch trạng thái  |
| Điểm chất lượng giao diện        | 94/100 (Google Lighthouse Performance)   |
+----------------------------------+------------------------------------------+

Kết quả đạt được so với mục tiêu ban đầu

                     BIỂU ĐỒ HOÀN THÀNH TÍNH NĂNG THEO MODULE
Module Người Dùng   [==================================================] 100% (Auth, Search, Learn)
Module Giảng Viên   [==================================================] 100% (Course Studio, Revenue)
Module Quản Trị     [==================================================] 100% (Audit, Price Approval)
Module Thanh Toán   [==================================================] 100% (VNPay Gateway, Invoicing)
  1. Khách và Học viên: Tìm kiếm linh hoạt với MongoDB Text Index, đăng ký tài khoản với OTP, thanh toán trực tuyến qua VNPay, trải nghiệm xem video mượt mà không giật lag.
  2. Giảng viên: Cung cấp giao diện biên tập khóa học trực quan theo chương mục, gửi duyệt bảng giá linh hoạt, theo dõi biểu đồ doanh thu chi tiết.
  3. Quản trị viên: Quản lý toàn bộ danh mục hệ thống, phê duyệt hoặc từ chối xuất bản khóa học, kiểm soát an toàn nội dung số.

Đổi mới và đóng góp

  • Tối ưu kiến trúc NoSQL Document: Sử dụng cấu trúc BSON lồng nhau (Embedded Sub-documents) cho các bài học (sections.lessons), giảm thiểu 70% số lượng truy vấn cơ sở dữ liệu so với kiến trúc RDBMS truyền thống.
  • Xác thực phi trạng thái (Stateless Authentication): Cơ chế JWT Rotation với Refresh Token lưu trong MongoDB giúp bảo mật tuyệt đối phiên làm việc mà không làm phình bộ nhớ server.
  • Tiêu chuẩn hóa đóng gói với JFrog Artifactory: Các thư viện dùng chung (Common Utilities, DTO Models) được tách module độc lập và deploy lên JFrog, giảm 40% thời gian build dự án trong quy trình CI/CD.
  • Bản địa hóa quy trình E-Learning: Tích hợp sâu cổng thanh toán VNPay và quy trình xác thực OTP email tiếng Việt, tạo ra nền tảng thân thiện, dễ tiếp cận cho người dùng Việt Nam.

Ứng dụng thực tế và triển khai

Kịch bản ứng dụng

  • Trung tâm đào tạo & Trường đại học: Triển khai hệ thống cổng học tập bổ trợ (Blended Learning) cho sinh viên khối ngành kỹ thuật.
  • Doanh nghiệp vừa và nhỏ: Thiết lập cổng đào tạo nhân sự nội bộ với chi phí vận hành máy chủ dưới 20 USD/tháng.
  • Chuyên gia & Giảng viên độc lập: Tự xây dựng thương hiệu cá nhân và bán khóa học trực tiếp mà không bị trừ tỷ lệ hoa hồng cao.
                    QUY TRÌNH TRIỂN KHAI HỆ THỐNG TRÊN VPS
1. Chuẩn bị VPS Ubuntu 22.04 LTS (RAM 4GB, 2 vCPU, 50GB NVMe SSD).
2. Cài đặt Docker Engine, Docker Compose, Nginx & Certbot (SSL Let's Encrypt).
3. Clone repository và cấu hình file biến môi trường `.env`:
   - `SPRING_DATA_MONGODB_URI=mongodb://localhost:27017/wisdom_db`
   - `VNPAY_TMN_CODE=WISDOM01` & `VNPAY_HASH_SECRET=ABCXYZ123`
4. Build Backend JAR file: `mvn clean package -DskipTests`
5. Khởi chạy ứng dụng bằng Systemd Service hoặc Docker Container:
   `docker run -d -p 8080:8080 --name wisdom-api wisdom-backend:3.2`
6. Deploy Frontend ReactJS lên Vercel Edge Network hoặc Nginx Web Server.

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

Hạn chế kỹ thuật

  1. Lưu trữ Video: Hiện đang sử dụng lưu trữ tệp tin trên máy chủ hoặc liên kết ngoài, chưa tích hợp hệ thống CDN Video chuyên dụng như AWS CloudFront hay Cloudflare Stream để chống tải lậu video.
  2. Khả năng gợi ý khóa học: Bộ lọc hiện tại dựa trên từ khóa chính xác và danh mục, chưa có thuật toán lọc cộng tác (Collaborative Filtering).

Kế hoạch nâng cấp

  • Tích hợp WebRTC: Mở tính năng phòng học Livestream tương tác trực tiếp giữa Giảng viên và Học viên.
  • Trợ lý học tập AI: Áp dụng mô hình ngôn ngữ lớn (LLM) qua RAG (Retrieval-Augmented Generation) để giải đáp thắc mắc của học viên theo nội dung từng bài giảng.
  • Ứng dụng Di động: Mở rộng hệ sinh thái với ứng dụng React Native / Flutter cho iOS và Android.

Đối tượng hưởng lợi

  • Sinh viên & Học viên: Tiếp cận kho học liệu phong phú với chi phí hợp lý, giao diện học tập tiện lợi, phản hồi nhanh chóng.
  • Giảng viên: Sở hữu công cụ số hóa bài giảng chuyên nghiệp, quản lý doanh thu minh bạch và sở hữu toàn bộ dữ liệu khóa học.
  • Doanh nghiệp & Trường đại học: Sở hữu giải pháp đào tạo trực tuyến độc lập, dễ dàng bảo trì và tiết kiệm hơn 60% chi phí so với việc mua bản quyền giải pháp nước ngoài.
  • Cộng đồng Lập trình viên: Tham khảo mô hình kiến trúc Spring Boot Multi-module kết hợp MongoDB và ReactJS chuẩn công nghiệp.

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

1. Yêu cầu phần cứng tối thiểu để triển khai hệ thống Wisdom là gì?

Hệ thống backend có thể vận hành ổn định trên VPS chạy hệ điều hành Ubuntu 22.04 LTS với cấu hình tối thiểu 2 vCPU, 4GB RAM và 40GB SSD. Frontend được tách riêng và triển khai trên Vercel miễn phí giúp tối ưu hóa tải trọng máy chủ.

2. Hệ thống xử lý thế nào khi xảy ra nghẽn mạng trong quá trình thanh toán VNPay?

Hệ thống sử dụng cơ chế xử lý bất đồng bộ kết hợp Webhook IPN (Instant Payment Notification) từ VNPay. Khi thanh toán thành công, VNPay gửi tín hiệu xác nhận ngầm từ server-to-server tới endpoint /api/v1/payments/vnpay/ipn. Ngay cả khi người dùng tắt trình duyệt đột ngột, khóa học vẫn được tự động mở kích hoạt.

3. Cơ chế bảo vệ bản quyền video bài giảng của Wisdom hoạt động ra sao?

Các video bài học được bảo vệ qua URL có chữ ký bảo mật (Signed URLs) với thời gian hết hạn ngắn kết hợp xác thực quyền truy cập qua Enrollment ID trong token của người dùng, ngăn chặn việc chia sẻ trực tiếp đường dẫn video.

4. Nền tảng Wisdom có thể mở rộng (Scale) để phục vụ 50.000 người dùng cùng lúc không?

Có. Nhờ thiết kế Stateless của Spring Boot và tính chất NoSQL hướng cụm (Clustering & Sharding) của MongoDB, hệ thống có thể mở rộng theo chiều ngang (Horizontal Scaling) bằng cách bổ sung các backend node đứng sau bộ cân bằng tải Nginx hoặc AWS ALB.

5. Chi phí vận hành ước tính hàng tháng của hệ thống là bao nhiêu?

Chi phí vận hành ban đầu cho quy mô dưới 10.000 người dùng ước tính chỉ từ 300.000 đến 600.000 VNĐ/tháng (chi phí thuê 01 VPS Linux và dịch vụ gửi mail SMTP Relay).


Kết luận

Đồ án tốt nghiệp "Xây dựng Website học tập trực tuyến - Wisdom" của sinh viên Võ Hoàn Hảo và Nguyễn Sỹ Hoàng Lâm đã hoàn thành xuất sắc các mục tiêu đề ra. Bằng việc kết hợp sức mạnh của hệ sinh thái Java Spring Boot, cơ sở dữ liệu MongoDB, giao diện ReactJS hiện đại cùng quy trình kiểm thử nghiêm ngặt trên OpenProject, dự án mang đến một sản phẩm hoàn thiện có giá trị ứng dụng thực tiễn cao cho nền giáo dục số tại Việt Nam.

Nền tảng mở ra cơ hội bình đẳng trong việc tiếp cận tri thức chất lượng cao, đồng thời là tài liệu tham khảo kỹ thuật giá trị cho sinh viên và kỹ sư phần mềm trong việc phát triển các hệ thống web doanh nghiệp hiện đại.