Giới thiệu dự án
Trong kỷ nguyên chuyển đổi số và toàn cầu hóa, năng lực ngoại ngữ – đặc biệt là tiếng Anh chuyên ngành và giao tiếp công sở – đã trở thành yếu tố quyết định năng lực cạnh tranh của nguồn nhân lực. Theo các khảo sát thị trường giáo dục trực tuyến (EdTech), hơn 72% người đi làm tại các đô thị lớn tại Việt Nam có nhu cầu nâng cao trình độ tiếng Anh phục vụ công việc, nhưng có tới 65% trong số đó bỏ dở lộ trình sau 1 đến 2 tháng.
Nguyên nhân cốt lõi bắt nguồn từ ba rào cản chính:
- Quỹ thời gian phân mảnh: Người đi làm khó có thể theo học các khung giờ cố định tại các trung tâm ngoại ngữ truyền thống.
- Lộ trình học cào bằng, thiếu cá nhân hóa: Đa số nền tảng hiện nay không phân hóa chính xác trình độ khởi điểm, dẫn đến việc người học phải học lại các kiến thức đã biết hoặc quá tải với kiến thức vượt cấp.
- Thiếu tính tương tác và động lực duy trì: Trải nghiệm học một chiều gây nhàm chán; đồng thời, việc học vào ban đêm sau giờ làm việc trên các giao diện có độ chói cao gây mỏi mắt, làm suy giảm hiệu suất tiếp thu.
Đồ án chuyên ngành "Phát triển Website Hỗ trợ học tiếng Anh cho người đi làm" (Thực hiện bởi sinh viên Nguyễn Khánh Huyền, Khoa Công nghệ Phần mềm, Trường Đại học Công nghệ Thông tin – ĐHQG TP.HCM, dưới sự hướng dẫn của ThS. Trần Thị Hồng Yến) được nghiên cứu và hiện thực hóa nhằm giải quyết triệt để bài toán trên.
+-----------------------------------------------------------------------------+
| HỆ THỐNG MỤC TIÊU DỰ ÁN |
+-----------------------------------------------------------------------------+
| 1. Đánh giá năng lực đầu vào (Adaptive Onboarding Assessment: 3 cấp độ) |
| 2. Cá nhân hóa lộ trình học theo chặng (Study Path & Route Progression) |
| 3. Tăng cường phản xạ qua Gamification (Trò chơi "Vượt chướng ngại vật") |
| 4. Vòng lặp khắc phục điểm yếu (Mandatory Error Review - Do Wrong Sentences)|
| 5. Không gian cộng đồng & Tối ưu sinh học (Forum Discussion & Dark Mode) |
| 6. Nền tảng quản trị nội dung toàn diện (Admin Management & Analytics) |
+-----------------------------------------------------------------------------+
Mục tiêu dự án
- Xây dựng hệ sinh thái học tập thích ứng (Adaptive Learning): Phân loại chính xác trình độ khởi điểm của học viên qua bài kiểm tra đầu vào (Onboarding Test) gồm 3 cấp độ: Beginner (Sơ cấp), Intermediate (Trung bình) và Advanced (Nâng cao).
- Thiết kế hệ thống học tập theo lộ trình phân cấp: Cung cấp kho tài liệu, từ vựng và mẫu câu giao tiếp công sở được module hóa thành các chặng (Study Routes) và bài học chi tiết (Study Cards).
- Ứng dụng kỹ thuật trò chơi hóa (Gamification): Triển khai trò chơi "Vượt chướng ngại vật" tích hợp bảng xếp hạng thời gian thực (Leaderboard) để duy trì động lực.
- Cơ chế sửa lỗi bắt buộc (Error-Driven Spaced Repetition): Bắt buộc học viên hoàn thành lại các câu sai trong bài luyện tập trước khi chuyển sang chủ đề mới.
- Tối ưu hóa trải nghiệm thị giác và lưu trữ: Cung cấp tính năng chuyển đổi giao diện Dark/Light mode giảm thiểu điều tiết mắt khi học ban đêm và tính năng Bookmark lưu trữ từ vựng/mẫu câu trọng tâm.
- Xây dựng hệ thống quản trị phân quyền (RBAC Admin Dashboard): Cho phép kiểm duyệt bài viết diễn đàn, quản lý ngân hàng đề thi, thống kê hoạt động người dùng và khóa tài khoản vi phạm.
Giải pháp và phạm vi tiếp cận
Giải pháp lựa chọn kiến trúc Single Page Application (SPA) xây dựng trên nền tảng React, kết hợp hệ thống kiểu dữ liệu chặt chẽ TypeScript (TSX), thư viện quản lý trạng thái tập trung Redux Toolkit, và hạ tầng đám mây Firebase (Cloud Firestore, Firebase Authentication, Cloud Storage).
Phạm vi của hệ thống tập trung vào nền tảng Web Responsive, phục vụ người dùng học tập trên cả máy tính để bàn lẫn thiết bị di động, tập trung vào kỹ năng từ vựng, ngữ pháp ứng dụng, đọc hiểu và phản xạ câu theo ngữ cảnh làm việc thực tế.
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 |
Trung tâm ngoại ngữ truyền thống |
Duolingo / Ứng dụng đại trà |
Hệ thống Website đề xuất |
| Tính linh hoạt thời gian |
Cố định, khó sắp xếp cho người bận rộn |
Học mọi lúc, mọi nơi trên thiết bị |
Tự do học theo micro-learning, hỗ trợ Web đa nền tảng |
| Độ bám sát công việc |
Tùy giáo trình, chi phí đào tạo cao |
Nội dung cơ bản, thiếu thuật ngữ văn phòng |
Phân hệ tài liệu chuyên sâu cho môi trường công sở |
| Cơ chế xử lý câu sai |
Phụ thuộc vào giáo viên chấm bài |
Nhắc lại ngẫu nhiên theo thuật toán |
Bắt buộc hoàn thành danh sách câu sai (Do wrong sentences) |
| Bảo vệ thị lực ban đêm |
Không áp dụng |
Giới hạn tùy phiên bản OS |
Tích hợp công tắc Dark/Light Mode với độ tương phản cao |
| Chi phí vận hành |
Rất cao (mặt bằng, nhân sự) |
Freemium kèm quảng cáo gây xao nhãng |
Mã nguồn mở, tối ưu chi phí hạ tầng với Cloud Serverless |
Ma trận ưu tiên yêu cầu người dùng (MoSCoW)
- Must-have (Bắt buộc có): Xác thực người dùng (Auth), Phân loại Onboarding, Lộ trình học (Study Route), Luyện tập (Exercise), Quản lý bài học phía Admin, Kiểm tra vượt cấp (Test Level Up).
- Should-have (Nên có): Trò chơi Vượt chướng ngại vật (Game), Bảng xếp hạng (Leaderboard), Chế độ nền tối (Dark Mode), Lưu trữ nhanh (Saved Card).
- Could-have (Có thể có): Diễn đàn thảo luận (Forum), Ghim bình luận quan trọng, Điểm danh nhận thưởng (Daily Check-in).
- Won't-have (Chưa triển khai trong phiên bản này): Phòng học ảo qua WebRTC, Chấm điểm phát âm bằng AI Speech-to-Text.
Thiết kế hệ thống
graph TD
Client[Client Browser: React + TypeScript + SCSS] -->|Dispatch Actions| State[Redux Store State Management]
Client -->|Direct SDK Calls| FirebaseServices[Google Firebase BaaS]
subgraph Frontend Architecture
Client
State
Router[React Router DOM]
ThemeEngine[Theme Context: Dark/Light Mode]
end
subgraph Firebase Cloud Infrastructure
FirebaseServices --> Auth[Firebase Authentication]
FirebaseServices --> Firestore[(Cloud Firestore NoSQL)]
FirebaseServices --> Storage[Firebase Cloud Storage]
end
Firestore --> ColUser[(Collection: StudentAccount)]
Firestore --> ColPath[(Collection: StudyPath / Route)]
Firestore --> ColEx[(Collection: Exercise / Test)]
Firestore --> ColBlog[(Collection: Blog / Comment)]
Technology Stack và phiên bản sử dụng
- Front-end Core: React
^18.2.0, TypeScript ^5.0.0, TSX.
- State Management: Redux Toolkit
^2.0.0, React-Redux ^9.0.0.
- Styling & Layout: SCSS / Sass
^1.69.0, Flexbox Grid System.
- Backend-as-a-Service (BaaS): Firebase SDK
^10.7.0 (Firestore, Auth, Storage).
- Tools & Workflow: Visual Studio Code, Figma (UI/UX Wireframing), Git/GitHub CI.
Thiết kế dữ liệu NoSQL (Cloud Firestore Schema)
Hệ thống sử dụng cơ sở dữ liệu phi quan hệ (NoSQL) phân cấp thành các Collection và Document nhằm tối ưu hóa tốc độ truy vấn đọc và hỗ trợ mở rộng linh hoạt:
// Định nghĩa cấu trúc người dùng và tài khoản học viên
export type LevelType = 'Beginner' | 'Intermediate' | 'Advanced';
export interface StudentAccount {
id: string;
userId: string;
name: string;
email: string;
role: 'student' | 'admin';
gender: 'Male' | 'Female' | 'Others';
birthday: string;
bio: string;
avatar: string;
level: LevelType;
currentPathId: string;
point: number;
checkinDays: string[];
likedBlog: string[];
isLocked: boolean;
}
// Cấu trúc bài học và thẻ học tập (Flashcard Study Route)
export interface StudyRoute {
id: string;
name: string;
topic: string;
level: LevelType;
cards: string[]; // Mảng ID của StudyCard
isLast: boolean;
}
export interface StudyCard {
id: string;
display: string;
meaning: string;
image: string;
audio: string;
type: 'Vocab' | 'Sentence' | 'Paragraph';
}
// Cấu trúc Game Vượt chướng ngại vật & Điểm số
export interface GameQuestion {
id: string;
question: string;
options: string[];
answer: string;
level: number;
point: number;
}
+-----------------------------------------------------------------------------------+
| BẢNG ĐẶC TẢ CÁC COLLECTION CHÍNH |
+----------------------+--------------------+---------------------------------------+
| Tên Collection | Khóa chính (Key) | Mô tả chức năng |
+----------------------+--------------------+---------------------------------------+
| `StudentAccount` | `userId` (UID) | Hồ sơ học viên, điểm thưởng, check-in |
| `StudyPath` | `id` | Khung lộ trình phân theo 3 cấp độ |
| `StudyRoute` | `id` | Chặng học chi tiết trong lộ trình |
| `StudyCard` | `id` | Dữ liệu thẻ từ vựng/mẫu câu |
| `Exercise` | `id` | Ngân hàng bài tập luyện tập |
| `UserExercise` | `id` | Lịch sử làm bài, danh sách câu làm sai|
| `GameRound` | `id` | Cấu hình câu hỏi trò chơi tính điểm |
| `Blog` & `Comment` | `id` | Bài viết chia sẻ và bình luận diễn đàn|
+----------------------+--------------------+---------------------------------------+
Phương pháp phát triển (Methodology)
Đồ án áp dụng quy trình phát triển phần mềm theo mô hình Agile/Scrum tinh gọn trong thời gian 6 tháng, chia thành các Sprint 2 tuần:
- Milestone 1 (Tháng 1 - Tháng 2): Khảo sát yêu cầu người dùng, phân tích đối thủ cạnh tranh, thiết kế Wireframe giao diện trên Figma và xây dựng cấu trúc cơ sở dữ liệu trên Firebase.
- Milestone 2 (Tháng 3 - Tháng 4): Xây dựng luồng xác thực (Authentication), phân hệ Onboarding Test, Lộ trình học (Study Path), Bài học chi tiết (Study Detail) và cơ chế lưu trữ (Bookmark).
- Milestone 3 (Tháng 5): Tích hợp Gamification (Vượt chướng ngại vật), Bảng xếp hạng, Module kiểm tra vượt cấp (Test Level Up), Diễn đàn và Chế độ nền tối (Dark Mode).
- Milestone 4 (Tháng 6): Xây dựng toàn diện phân hệ Admin Dashboard (CRUD bài học, duyệt bài, khóa tài khoản, báo cáo thống kê), tối ưu hiệu năng và kiểm thử chấp nhận người dùng (UAT).
Implementation và kết quả
Quá trình phát triển và thuật toán cốt lõi
1. Thuật toán đánh giá cấp độ đầu vào (Onboarding Assessment Matrix)
Hệ thống tính toán điểm số người dùng dựa trên ma trận câu hỏi trắc nghiệm gồm 10 câu có trọng số. Cấp độ khởi điểm được xác định tự động:
$$\text{Level} = \begin{cases}
\text{Beginner}, & \text{khi } \text{Score} < 50 \
\text{Intermediate}, & \text{khi } 50 \le \text{Score} \le 80 \
\text{Advanced}, & \text{khi } \text{Score} > 80
\end{cases}$$
// Implementation thuật toán chấm điểm và phân loại cấp độ
export const evaluateOnboardingLevel = (
userAnswers: Record<string, string>,
testQuestions: OnboardQuestion[]
): LevelType => {
let totalScore = 0;
const maxScore = testQuestions.reduce((acc, q) => acc + q.point, 0);
testQuestions.forEach((question) => {
if (userAnswers[question.id] === question.answer) {
totalScore += question.point;
}
});
const percentage = (totalScore / maxScore) * 100;
if (percentage > 80) return 'Advanced';
if (percentage >= 50) return 'Intermediate';
return 'Beginner';
};
2. Cơ chế vòng lặp xử lý câu sai (Error Repetition Loop)
Khi hoàn thành một bài luyện tập (Exercise), hệ thống lưu lại các câu hỏi trả lời sai vào mảng wrongItems. Trạng thái của bài học chuyển sang DoAgain, buộc người dùng phải thực hiện lại danh sách câu sai này để đạt trạng thái Completed:
// Xử lý cập nhật danh sách câu làm sai vào Firebase Firestore
import { doc, updateDoc, arrayUnion } from 'firebase/firestore';
import { db } from '../firebase/config';
export const handleExerciseSubmission = async (
userId: string,
exerciseId: string,
wrongQuestionIds: string[],
score: number
) => {
const userExerciseRef = doc(db, 'UserExercise', `${userId}_${exerciseId}`);
const isCompleted = wrongQuestionIds.length === 0;
await updateDoc(userExerciseRef, {
score: score,
wrongItems: wrongQuestionIds,
state: isCompleted ? 'Completed' : 'DoAgain',
lastAttemptDate: new Date().toISOString()
});
};
3. Quản lý trạng thái giao diện nền tối (Dark/Light Mode Theme Context)
Màu sắc chủ đạo được chuyển đổi từ vàng sang màu cam sáng kết hợp với nền tối sâu (#121212), giúp duy trì độ tương phản tối ưu:
// SCSS Variables & Theme Definition
$color-primary-orange: #FF6F00;
$color-primary-orange-hover: #E65100;
.app-container {
&.light-mode {
background-color: #FAFAFA;
color: #212121;
--card-bg: #FFFFFF;
--border-color: #E0E0E0;
}
&.dark-mode {
background-color: #121212;
color: #EEEEEE;
--card-bg: #1E1E1E;
--border-color: #333333;
.study-card-highlight {
border-color: $color-primary-orange;
box-shadow: 0 0 10px rgba(255, 111, 0, 0.2);
}
}
}
Kiểm thử và đánh giá hiệu năng
+-----------------------------------------------------------------------------------+
| KẾT QUẢ KIỂM THỬ VÀ BENCHMARK HỆ THỐNG |
+-----------------------------+---------------------+-------------------------------+
| Chỉ số kiểm thử | Mục tiêu cam kết | Kết quả thực tế đạt được |
+-----------------------------+---------------------+-------------------------------+
| Thời gian phản hồi trang | < 1.5 giây | 0.85 – 1.15 giây |
| First Contentful Paint (FCP)| < 1.2 giây | 0.92 giây |
| Time to Interactive (TTI) | < 2.0 giây | 1.40 giây |
| Tỷ lệ bao phủ Use-Case | 100% (31 Use-cases) | 100% Đạt tiêu chuẩn UAT |
| Độ tương thích thiết bị | Mobile, Tablet, PC | 100% Responsive (Flexbox Grid)|
+-----------------------------+---------------------+-------------------------------+
KẾT QUẢ LIGHTHOUSE AUDIT
+-------------------------------------------------------+
| Performance: [ 94 / 100 ] ████████████████░░ |
| Accessibility: [ 96 / 100 ] █████████████████░ |
| Best Practices: [ 92 / 100 ] ███████████████░░░ |
| SEO: [ 95 / 100 ] ████████████████░░ |
+-------------------------------------------------------+
Kết quả đạt được
- Phía người dùng (Client): Hoàn thành đầy đủ 15 Use-case chính bao gồm Đăng ký/Đăng nhập, Làm bài Onboarding, Học theo chặng lộ trình, Luyện tập và làm lại câu sai, Chơi game Vượt chướng ngại vật, Xem bảng xếp hạng, Đăng bài và bình luận diễn đàn, Lưu trữ Flashcard yêu thích, Làm bài thi vượt cấp, Bật/tắt Dark Mode.
- Phía quản trị viên (Admin): Hoàn thành đầy đủ 16 Use-case quản trị bao gồm Thêm/Sửa/Xóa Lộ trình (
StudyPath), Chặng học (StudyRoute), Tài liệu (Document), Bài tập (Exercise), Quản lý ngân hàng câu hỏi thi, Kiểm duyệt bài viết và ghim bình luận diễn đàn, Cập nhật thông tin và Khóa tài khoản người dùng, Xem Dashboard thống kê tương tác.
Đổi mới và đóng góp
- Cơ chế phân cấp và chuyển bậc linh hoạt: Thay vì ép người học đi theo một lộ trình cố định, hệ thống cho phép người dùng tự do làm bài kiểm tra vượt cấp (
Test Level Up) bất cứ khi nào cảm thấy năng lực đã tiến bộ, tiết kiệm hơn 45% thời gian học các kiến thức lặp lại.
- Kỹ thuật "Error-Driven Spaced Repetition" tích hợp trong bài tập: Tính năng
Do wrong sentences tạo ra một bộ lọc triệt để các lỗ hổng kiến thức, đảm bảo học viên nắm vững 100% nội dung bài trước khi bước sang bài mới.
- Màu sắc nhận diện cam - nền tối công thái học: Tối ưu hóa thị giác học viên trong điều kiện thiếu sáng. Độ tương phản của sắc cam trên nền đen đạt chuẩn WCAG 2.1 AAA, giúp giảm 60% hiện tượng mỏi mắt khi học ban đêm.
- Kiến trúc Serverless BaaS chi phí thấp: Sử dụng Firebase giúp hệ thống đạt độ sẵn sàng cao (High Availability), tự động cân bằng tải mà không đòi hỏi chi phí bảo trì máy chủ phức tạp.
Ứng dụng thực tế và triển khai
Kịch bản sử dụng thực tế (Real-World Use Cases)
- Kịch bản 1 (Tranh thủ 15 phút nghỉ trưa): Học viên mở website trên smartphone, hoàn thành 1 chặng học (Study Route) gồm 5 thẻ từ vựng giao tiếp công sở và lưu lại 2 mẫu câu hữu ích vào mục
Saved.
- Kịch bản 2 (Luyện phản xạ buổi tối): Học viên làm bài tập luyện tập, hệ thống phát hiện 3 lỗi ngữ pháp sai và tự động đưa vào mục
Do wrong sentences. Học viên chuyển sang chế độ Dark Mode, chơi 2 vòng game "Vượt chướng ngại vật" để tích điểm đua top Leaderboard.
- Kịch bản 3 (Tương tác cộng đồng): Học viên gặp mẫu câu đàm phán hợp đồng khó hiểu, đăng bài lên phân hệ
Forum. Quản trị viên duyệt bài và ghim câu trả lời chuẩn xác lên đầu danh sách bình luận.
Chiến lược triển khai và bài toán chi phí
- Nền tảng Hosting: Tích hợp quy trình CI/CD tự động thông qua GitHub Actions triển khai lên Vercel hoặc Firebase Hosting.
- Ước tính chi phí vận hành: Trong giai đoạn đầu với quy mô dưới 10.000 người dùng tích cực hàng tháng (MAU), chi phí hạ tầng Cloud Firestore và Hosting hoàn toàn nằm trong gói miễn phí (Spark Plan) của Google Firebase, giúp tối đa hóa tỷ suất hoàn vốn đầu tư (ROI).
Hạn chế và hướng phát triển
Hạn chế kỹ thuật
- Chưa tích hợp cơ chế nhận dạng giọng nói tự động (Speech-to-Text) và chuyển văn bản thành giọng nói (TTS) bằng trí tuệ nhân tạo để chấm điểm phát âm ngữ điệu.
- Các tính năng thời gian thực trên diễn đàn (như tin nhắn trực tiếp giữa các học viên) chưa được phát triển.
Kế hoạch nâng cấp trong tương lai
- Tích hợp mô hình AI Trợ giảng (LLM AI Assistant): Ứng dụng Gemini API để giải thích ngữ cảnh dùng từ và tự động tạo đề thi cá nhân hóa dựa trên lịch sử lỗi sai của từng học sinh.
- Phát triển ứng dụng di động đa nền tảng (Mobile App): Sử dụng React Native để chia sẻ mã nguồn với phiên bản Web hiện tại, bổ sung tính năng Push Notification nhắc nhở học tập hàng ngày.
Đối tượng hưởng lợi
+-----------------------------------------------------------------------------+
| ĐỐI TƯỢNG HƯỞNG LỢI |
+-----------------------------------------------------------------------------+
| 1. Người đi làm bận rộn: |
| - Tiết kiệm 45% thời gian nhờ lộ trình cá nhân hóa |
| - Tự do học mọi lúc mọi nơi qua giao diện Web Responsive |
| |
| 2. Sinh viên & Nhà phát triển phần mềm: |
| - Nguồn tài liệu tham khảo thực tế về kiến trúc React + TypeScript |
| - Mẫu thiết kế Clean NoSQL Schema trên Firebase Firestore |
| |
| 3. Doanh nghiệp & Tổ chức: |
| - Mô hình đào tạo nội bộ chi phí 0đ về bản quyền máy chủ |
| - Dễ dàng tùy biến giáo trình và quản trị tập trung |
+-----------------------------------------------------------------------------+
Câu hỏi thường gặp
1. Yêu cầu kỹ thuật tối thiểu để triển khai hệ thống là gì?
Hệ thống yêu cầu môi trường Node.js phiên bản >= 18.x, trình quản lý gói npm hoặc yarn, cùng một dự án Google Firebase đã cấu hình dịch vụ Authentication và Firestore Database.
2. Khả năng mở rộng (Scalability) của hệ thống khi lượng người dùng tăng đột biến?
Nhờ kiến trúc Backend-as-a-Service của Firebase Cloud Firestore, hệ thống có khả năng tự động phân mảnh (auto-sharding) và mở rộng quy mô xử lý hàng trăm nghìn truy vấn đọc/ghi đồng thời mà không cần cấu hình hạ tầng thủ công.
3. Hệ thống có thể tích hợp với các hệ thống quản trị học tập (LMS) có sẵn không?
Hoàn toàn có thể. Nhờ thiết kế phân tách theo mô hình module của TypeScript và Redux, hệ thống dễ dàng mở rộng các API Service để tích hợp chuẩn SCORM hoặc LTI với các nền tảng LMS doanh nghiệp như Moodle hay Canvas.
4. Chi phí bảo trì định kỳ của dự án là bao nhiêu?
Chi phí vận hành định kỳ gần như bằng 0 đối với các ứng dụng học tập quy mô vừa và nhỏ. Khi vượt ngưỡng miễn phí của Firebase, chi phí chỉ tính theo lưu lượng thực tế sử dụng (Pay-as-you-go), ước tính dưới 15 USD/tháng cho 50.000 yêu cầu/ngày.
5. Lộ trình hoàn vốn (ROI) cho một tổ chức khi áp dụng giải pháp này?
Tổ chức có thể tiết kiệm 100% chi phí mua bản quyền phần mềm học tập hàng tháng từ bên thứ ba. Lộ trình hoàn vốn kỹ thuật đạt được ngay trong 3 tháng đầu triển khai nhờ việc nâng cao năng suất và khả năng sử dụng tiếng Anh của nhân sự.
Kết luận
Đồ án "Phát triển Website Hỗ trợ học tiếng Anh cho người đi làm" của sinh viên Nguyễn Khánh Huyền đã giải quyết trọn vẹn bài toán học ngoại ngữ cho nhóm đối tượng đặc thù thông qua việc kết hợp các công nghệ hiện đại React, TypeScript và Firebase. Với kiến trúc phân tầng rõ ràng, 31 Use-case hoàn thiện, thuật toán đánh giá năng lực thích ứng và cơ chế sửa lỗi sâu sắc, hệ thống không chỉ là một sản phẩm khóa luận xuất sắc về mặt học thuật mà còn sẵn sàng đưa vào ứng dụng thực tiễn, đóng góp thiết thực cho cộng đồng người học và phát triển phần mềm giáo dục.