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

Khóa luận tốt nghiệp kỹ sư 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 do hai sinh viên Nguyễn Việt An (MSSV: 21110118) và Trần Viết Trung (MSSV: 21110859) thực hiện dưới sự hướng dẫn của TS. Lê Vĩnh Thịnh và giảng viên phản biện TS. Huỳnh Xuân Phụng. Đề tài được triển khai trong thời gian 15 tuần, từ ngày 01/02/2025 đến ngày 08/06/2025.

Bối cảnh thực tiễn được tác giả xác định xuất phát từ xu thế toàn cầu hóa, nơi tiếng Anh đóng vai trò phương tiện giao tiếp quốc tế và yêu cầu bắt buộc đối với cơ hội học vấn, nghề nghiệp tại Việt Nam. Quá trình tiếp thu ngôn ngữ đòi hỏi nhiều thời gian thích ứng, trong đó rào cản lớn nhất nằm ở việc trau dồi và duy trì vốn từ vựng nền tảng. Khảo sát thực tế của tác giả chỉ ra rằng các ứng dụng học tiếng Anh hiện nay có xu hướng tích hợp quá nhiều tính năng phức tạp cùng giao diện rườm rà, dẫn đến tình trạng người học dễ phân tâm, quá tải thông tin và giảm hiệu quả tự học cá nhân. Do đó, yêu cầu đặt ra là xây dựng một nền tảng chuyên biệt với triết lý tối giản hóa giao diện, tập trung vào phương pháp học từ vựng ngắt quãng kết hợp luyện đề thi thử theo chuẩn bài thi TOEIC (Test of English for International Communication).

Mục tiêu nghiên cứu của đề tài gồm ba nội dung chính:

  1. Xây dựng website ôn tập và luyện thi TOEIC tập trung vào việc học từ vựng qua phương pháp lặp lại ngắt quãng (Spaced Repetition), cung cấp hệ thống đề thi thử chuẩn quốc tế và tài nguyên học tập cần thiết.
  2. Phát triển hệ thống quản lý học viên cho phép theo dõi tiến trình học tập, quản lý danh mục bài tập, khóa học, đồng thời cung cấp các báo cáo và thống kê kết quả học tập tự động.
  3. Tối ưu hóa giao diện người dùng nhằm hỗ trợ học viên tiếp cận bài thi, bài giảng và dịch vụ học tập một cách trực quan, nhanh chóng.

Nhiệm vụ nghiên cứu được phân định thành ba nhóm công việc:

  1. Về mặt lý thuyết: Nghiên cứu kiến trúc hệ thống 3 tầng, mô hình MVC, chuẩn giao tiếp RESTful API; tìm hiểu và ứng dụng các công nghệ gồm Spring Boot, Spring Data JPA, Spring Security, MySQL, ReactJS, TypeScript, Redux, PrimeFlex, Docker, Cloudinary và OpenAI API.
  2. Về mặt thực hành: Thiết kế và hiện thực hóa các chức năng tương ứng với ba nhóm tác nhân: Khách vãng lai (Guest), Học viên đã đăng ký (Registered User) và Quản trị viên (Admin).
  3. Về mặt triển khai và đánh giá: Đóng gói và triển khai ứng dụng lên môi trường thực tế bằng Docker; thực hiện kiểm thử chức năng và giao diện tương tác của website.

Đối tượng nghiên cứu là quy trình ôn luyện, thi thử TOEIC trực tuyến và các phương thức quản trị hệ thống học tập điện tử (E-learning). Phạm vi nghiên cứu về mặt không gian là hệ thống ứng dụng web vận hành trên môi trường mạng; phạm vi chức năng tập trung vào cấu trúc đề thi TOEIC Listening & Reading (từ Part 1 đến Part 7), phân tích kết quả bài thi, quản trị khóa học và người dùng.

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

Khung kiến trúc lý thuyết của hệ thống được xây dựng dựa trên mô hình kiến trúc 3 tầng (3-tier architecture) kết hợp mô hình phần mềm Model-View-Controller (MVC):

  • Tầng giao diện (Front-end): Đảm nhận nhiệm vụ hiển thị giao diện và tiếp nhận tương tác người dùng, xây dựng bằng ReactJS kết hợp TypeScript. Tầng này giao tiếp với tầng xử lý nghiệp vụ thông qua chuẩn giao thức RESTful API sử dụng dữ liệu định dạng JSON.
  • Tầng xử lý nghiệp vụ (Back-end): Đảm nhận xử lý logic hệ thống, quản lý định tuyến API, kiểm soát bảo mật và phân quyền truy cập, xây dựng trên nền tảng Java Spring Boot kết hợp Spring Security và JSON Web Token (JWT theo chuẩn RFC 7519).
  • Tầng cơ sở dữ liệu (Database): Lưu trữ và xử trị toàn bộ dữ liệu nghiệp vụ thông qua hệ quản trị cơ sở dữ liệu quan hệ MySQL, kết nối với tầng Back-end thông qua tầng giao tiếp dữ liệu Spring Data JPA (sử dụng Hibernate).

Về mặt phương pháp luận ghi nhớ, đề tài ứng dụng phương pháp lặp lại ngắt quãng (Spaced Repetition) để nâng cao khả năng ghi nhớ từ vựng dài hạn cho người học dựa trên tần suất xuất hiện và chu kỳ ôn tập.

Phương pháp nghiên cứu thực nghiệm và khảo sát được tiến hành qua hai bước:

  1. Phương pháp khảo sát hiện trạng: Khảo sát, phân tích ưu và nhược điểm của hai nền tảng luyện thi trực tuyến gồm Study4 (study4.com) và Toeic-Testpro (toeic-testpro.com).
  2. Phương pháp phân tích và thiết kế hệ thống hướng đối tượng: Sử dụng ngôn ngữ mô hình hóa thống nhất (UML) để xây dựng biểu đồ Use Case, đặc tả Use Case, biểu đồ tuần tự (Sequence Diagram), biểu đồ hoạt động (Activity Diagram), biểu đồ lớp (Class Diagram) và lược đồ quan hệ thực thể (ERD).

Dữ liệu nghiên cứu bao gồm bộ câu hỏi, đoạn hội thoại âm thanh (audio), hình ảnh minh họa thuộc đề thi TOEIC chuẩn, tài liệu bài giảng trực tuyến và các bảng quy đổi điểm số bài thi Listening và Reading.

Tiêu chí phân tích Hệ thống Study4 Hệ thống Toeic-Testpro Hệ thống đề tài hướng tới
Nguồn đề thi Cập nhật theo từng năm Bám sát đề chuẩn 200 câu Tích hợp theo năm và danh mục bộ đề
Chế độ thi thử Cho phép setup Part và thời gian Mini test và Full test Phân loại Simulation và Practice
Chức năng phân tích Thống kê kết quả theo tháng Báo điểm ngay, giải thích đáp án Phân tích điểm mạnh/yếu, tích hợp OpenAI API
Quản lý tài khoản Bắt buộc đăng nhập để lưu kết quả Lưu tự động không cần đăng nhập Phân quyền 3 cấp (Guest, User, Admin)

Thiết kế và triển khai

Hệ thống được thiết kế theo các tiêu chuẩn kỹ thuật phần mềm hiện đại, đảm bảo tính mô-đun hóa, bảo mật và khả năng mở rộng.

Tầng Front-end được xây dựng với ReactJS phiên bản thư viện mã nguồn mở, hoạt động dựa trên cơ chế Virtual DOM giúp tối ưu hóa hiệu năng render dữ liệu. Mã nguồn sử dụng ngôn ngữ TypeScript nhằm bổ sung cơ chế kiểm tra kiểu tĩnh (static typing), giảm thiểu lỗi thời gian biên dịch. Quản lý trạng thái ứng dụng được thực hiện thông qua Redux với ba thành phần cốt lõi: Store (kho lưu trữ trạng thái toàn cục), Action (đối tượng định nghĩa hành vi và payload) và Reducer (hàm xử lý biến đổi trạng thái). Thư viện PrimeFlex được ứng dụng để thiết kế bố cục giao diện linh hoạt dựa trên tiện ích CSS Flexbox và Grid. Thư viện Axios được dùng để thực hiện các yêu cầu HTTP Client dựa trên Promise, hỗ trợ đón chặn request/response và tự động chuyển đổi dữ liệu JSON.

Tầng Back-end sử dụng framework Java Spring Boot với các tính năng tự động cấu hình (Auto-configuration) và nhúng sẵn máy chủ web. Quản trị truy cập và bảo mật được hiện thực qua Spring Security kết hợp cơ chế xác thực không lưu trạng thái (stateless) bằng JSON Web Token (JWT). Thao tác dữ liệu được thực hiện bởi Spring Data JPA, tận dụng các Query Method, cơ chế phân trang (Pagination) và sắp xếp (Sorting). Đề tài cũng tích hợp nền tảng đám mây Cloudinary để lưu trữ và tối ưu hóa hình ảnh, đồng thời gọi OpenAI API nhằm phân tích kết quả thi thử của học viên dựa trên dữ liệu làm bài.

Cơ sở dữ liệu MySQL của hệ thống được chuẩn hóa bao gồm 23 bảng thực thể logic:

  1. user: Lưu trữ thông tin tài khoản người dùng, mật khẩu mã hóa, thông tin cá nhân và quyền truy cập.
  2. user_answer: Lưu chi tiết các câu trả lời của từng học viên trong từng bài thi cụ thể.
  3. user_result: Lưu kết quả tổng hợp sau mỗi lượt nộp bài, bao gồm tổng điểm, điểm nghe, điểm đọc và số câu đúng.
  4. user_progress: Lưu trữ và theo dõi tiến trình hoàn thành bài học của học viên.
  5. test_category: Phân loại danh mục đề thi (theo năm, độ khó hoặc nhà xuất bản).
  6. test: Chứa thông tin tổng quan của đề thi (tiêu đề, thời lượng, số lượng phần thi, trạng thái ẩn/hiện).
  7. question_category: Phân loại nhóm nội dung hoặc chủ đề của câu hỏi.
  8. question: Lưu trữ nội dung câu hỏi, các phương án lựa chọn và đáp án chính xác.
  9. part: Định nghĩa cấu trúc từng phần thi TOEIC (Part 1 đến Part 7).
  10. question_group: Nhóm các câu hỏi gắn liền với một đoạn văn đọc hiểu hoặc bài nghe chung.
  11. question_group_image: Lưu trữ đường dẫn hình ảnh liên kết với nhóm câu hỏi từ Cloudinary.
  12. question_category_mapping: Bảng quan hệ liên kết câu hỏi với danh mục phân loại.
  13. reading_score_conversion: Bảng đối chiếu số câu đúng phần Đọc (Reading) sang thang điểm chuẩn.
  14. listening_score_conversion: Bảng đối chiếu số câu đúng phần Nghe (Listening) sang thang điểm chuẩn.
  15. comment: Lưu trữ các bình luận, phản hồi của người dùng dưới từng bài thi.
  16. course: Quản lý danh mục khóa học trực tuyến do quản trị viên thiết lập.
  17. coure_enrollments: Quản lý giao dịch đăng ký và ghi danh khóa học của học viên.
  18. course_review: Chứa đánh giá và phản hồi chất lượng khóa học từ học viên.
  19. course_section: Cấu trúc các chương mục nằm trong một khóa học cụ thể.
  20. lesion: Chứa nội dung chi tiết bài giảng, tài liệu đính kèm và video bài học.
  21. lesion_completions: Ghi nhận dữ liệu xác nhận hoàn thành từng bài học của học viên.
  22. quiz_question: Câu hỏi trắc nghiệm kiểm tra nhanh gắn liền với từng bài giảng.
  23. quiz_question_option: Các phương án trả lời tương ứng với câu hỏi trắc nghiệm bài giảng.

Hệ thống được đóng gói thông qua Docker Engine, sử dụng Dockerfile và vùng chứa (Container) nhằm cô lập môi trường thực thi và bảo đảm tính đồng nhất giữa giai đoạn phát triển và môi trường vận hành thực tế.

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

PHẦN MỞ ĐẦU

Phần mở đầu xác định tính cấp thiết của việc xây dựng nền tảng học tiếng Anh trực tuyến tinh gọn trong kỷ nguyên số. Tác giả trình bày mục tiêu xây dựng website ôn luyện TOEIC, phân tích đối tượng nghiên cứu là quy trình học tập và thi thử trực tuyến. Khung phạm vi nghiên cứu được giới hạn trong 15 tuần với các yêu cầu kỹ thuật: hoàn thiện giao diện học viên trên ReactJS, hệ thống backend Spring Boot, cơ sở dữ liệu MySQL và hệ thống quản trị người dùng. Dự kiến kết quả đạt được là một website hoàn chỉnh phục vụ ba nhóm đối tượng (Guest, User, Admin) với đầy đủ chức năng quản trị, luyện đề, thi thử và quản lý khóa học.

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT

Chương 1 trình bày tổng quan cơ sở lý thuyết và các công nghệ nền tảng:

  • Kiến trúc hệ thống: Phân tích kiến trúc 3 tầng và nguyên lý hoạt động của RESTful API với các phương thức GET, POST, PUT, PATCH, DELETE.
  • Mô hình MVC: Phân tích ưu điểm về phân tách logic, tái sử dụng mã nguồn và khả năng kiểm thử, song song với nhược điểm làm tăng độ phức tạp của mã nguồn đối với ứng dụng nhỏ.
  • Công nghệ Front-end: Giới thiệu ReactJS (Component, JSX, Props, State, Virtual DOM, Lifecycle), ngôn ngữ TypeScript, thư viện PrimeFlex hỗ trợ bố cục CSS, Redux quản lý luồng dữ liệu một chiều qua Action - Reducer - Store và Axios hỗ trợ gọi API.
  • Công nghệ Back-end: Trình bày các đặc tính của Java Spring Boot (tự động cấu hình, loại bỏ cấu hình XML, tích hợp máy chủ nhúng), Spring Data JPA trong ánh xạ dữ liệu quan hệ, cơ chế xác thực phân quyền qua JSON Web Token (JWT) và Spring Security.
  • Cơ sở dữ liệu và công cụ hỗ trợ: Hệ quản trị cơ sở dữ liệu MySQL, nền tảng lưu trữ Cloudinary, giải pháp ảo hóa nhẹ Docker Container và tiềm năng ứng dụng của OpenAI API trong phân tích ngôn ngữ tự nhiên và đánh giá bài làm.

CHƯƠNG 2: KHẢO SÁT HIỆN TRẠNG VÀ MÔ HÌNH HÓA YÊU CẦU

Chương 2 tập trung phân tích hai hệ thống thực tế là Study4 và Toeic-Testpro để rút ra bài học thiết kế. Dựa trên khảo sát, tác giả tiến hành phân loại yêu cầu chức năng cho ba nhóm tác nhân:

  • Tác nhân Quản trị viên (Admin): Quản lý loại đề thi, quản lý học viên (xem, sửa, xóa), quản lý khóa học (thêm, sửa, ẩn/hiện), quản lý bộ đề (thêm, sửa, xóa, ẩn/hiện đề thi) và thống kê hiệu năng (doanh thu, số lượng đăng ký khóa học, học viên nổi bật).
  • Tác nhân Học viên (Registered User): Quản lý tài khoản cá nhân, xem danh sách và chi tiết đề thi, thi thử theo hai hình thức Simulation và Practice, xem lịch sử làm bài, nhận phân tích bài thi bằng AI, tham gia học thử hoặc đăng ký khóa học chính thức, tương tác bình luận.
  • Tác nhân Khách vãng lai (Guest): Tìm kiếm đề thi theo từ khóa hoặc thể loại, xem danh mục đề thi công khai và đăng ký tài khoản.

Chương này xây dựng hệ thống lược đồ Use Case tổng quát và chi tiết cho từng nghiệp vụ, kèm theo hệ thống bảng đặc tả ca sử dụng (Use Case Specification) từ Bảng 4 đến Bảng 39.

CHƯƠNG 3: PHÂN TÍCH THIẾT KẾ HỆ THỐNG

Chương 3 chi tiết hóa thiết kế kỹ thuật của website:

  • Thiết kế lược đồ lớp (Class Diagram): Xác định các lớp đối tượng thực thể và mối quan hệ giữa câu hỏi, đề thi, học viên, khóa học và bình luận.
  • Thiết kế lược đồ tuần tự (Sequence Diagram): Mô hình hóa tương tác giữa Client, Controller, Service và Repository cho các chức năng trọng điểm gồm Đăng ký tài khoản, Đăng nhập, Xem danh sách đề thi, Xem chi tiết đề thi, Thi thử toàn bộ đề thi, Nộp bài thi, Xem lịch sử bài làm, Xem bình luận, Xem danh sách khóa học, Xem chi tiết khóa học, Học thử khóa học, Quản lý học viên, Quản lý bộ đề và Thêm đề thi.
  • Thiết kế cơ sở dữ liệu: Trình bày lược đồ thực thể tổng quát (ERD) và bảng cấu trúc chi tiết của 23 bảng dữ liệu vật lý (từ Bảng 40 đến Bảng 62).
  • Thiết kế lược đồ hoạt động (Activity Diagram): Trực quan hóa luồng xử lý của các nghiệp vụ: Đăng ký, Đăng nhập, Tìm kiếm theo từ khóa, Chi tiết đề thi, Thi thử hình thức Practice, Quản lý thông tin cá nhân, Phân tích bài thi, Danh sách khóa học, Học khóa học, Khóa học của tôi và Quản lý học viên.
  • Thiết kế giao diện: Xây dựng wireframe và giao diện thực tế cho học viên và quản trị viên, chi tiết hóa qua các bảng mô tả từ Bảng 63 đến Bảng 80.

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à quá trình nghiệm thu chất lượng:

  • Bảng tổng hợp công cụ xây dựng website (Bảng 81) và công nghệ xây dựng website (Bảng 82).
  • Yêu cầu môi trường cài đặt và các bước thực thi để vận hành hệ thống thông qua Docker.
  • Kiểm thử hệ thống: Thực hiện kiểm thử chức năng (Functional Testing) chi tiết hóa qua Bảng 83, kiểm tra các kịch bản tương tác người dùng, tính chính xác của thuật toán chấm điểm và tính ổn định của API.

PHẦN KẾT LUẬN

Tổng kết các hạng mục đã hoàn thành, chỉ ra các mặt hạn chế còn tồn tại của hệ thống và đề xuất định hướng phát triển trong tương lai.

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

Về mặt kết quả kỹ thuật, đề tài đã xây dựng thành công website ôn tập và luyện thi TOEIC hoạt động hoàn chỉnh với kiến trúc phân tầng rõ ràng, đáp ứng đầy đủ các yêu cầu đã đặt ra:

  • Hệ thống hỗ trợ thi thử trực tuyến với hai cơ chế chuyên biệt: hình thức Simulation (mô phỏng áp lực phòng thi thực tế với đồng hồ đếm ngược và quy chế chuẩn) và hình thức Practice (cho phép người học linh hoạt chuyển đổi câu hỏi, tua lại âm thanh audio để rèn luyện kỹ năng).
  • Triển khai thuật toán chấm điểm tự động dựa trên bảng ánh xạ quy đổi điểm chuẩn cho hai kỹ năng Listening và Reading (listening_score_conversion và reading_score_conversion), hiển thị đáp án và lời giải chi tiết ngay sau khi nộp bài.
  • Tích hợp thành công mô hình trí tuệ nhân tạo thông qua OpenAI API để đọc dữ liệu bài làm, hỗ trợ phân tích điểm mạnh, điểm yếu và gợi ý các phần thi cần tập trung cải thiện.
  • Hiện thực hóa hệ sinh thái học tập tích hợp gồm hệ thống đề thi, khóa học trực tuyến (cho phép học thử và đăng ký khóa học chính thức), chức năng tương tác bình luận đa chiều.
  • Xây dựng phân hệ Dashboard dành riêng cho Quản trị viên, hỗ trợ theo dõi số lượng học viên, số lượng khóa học được đăng ký, quản lý cấu trúc đề thi và phân tích doanh thu theo tháng.

Về mặt đóng góp so với các nghiên cứu và ứng dụng trước đó, tác giả đã tự xác định các điểm cải tiến:

  • Khắc phục sự rườm rà của các nền tảng học tập phổ biến hiện nay bằng cách tinh gọn giao diện, tập trung trực tiếp vào trải nghiệm ôn luyện từ vựng và giải đề.
  • Kết hợp đồng thời tính năng luyện đề chuẩn format TOEIC với hệ thống phân tích đánh giá thông minh, thay vì chỉ dừng lại ở việc chấm điểm cơ học như các website truyền thống.
  • Đóng gói toàn bộ hệ thống bằng Docker, giúp quá trình triển khai, bảo trì và mở rộng quy mô hệ thống trên các máy chủ đám mây trở nên đơn giản, nhất quán.

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

Khóa luận chỉ ra một số hạn chế kỹ thuật và phạm vi cần khắc phục:

  • Về chi phí và phụ thuộc mạng: Việc tích hợp OpenAI API yêu cầu duy trì kết nối Internet liên tục và làm phát sinh chi phí vận hành nếu số lượng người dùng đồng thời tăng cao.
  • Tối ưu hóa giao diện: Thư viện tiện ích CSS PrimeFlex có kích thước file tương đối lớn, nếu lạm dụng nhiều lớp tiện ích có thể làm giảm tính tùy biến sâu của giao diện web.
  • Phạm vi nội dung: Hệ thống hiện tại chỉ tập trung vào cấu trúc bài thi TOEIC 2 kỹ năng (Listening & Reading), chưa mở rộng sang định dạng TOEIC 4 kỹ năng (bổ sung Speaking & Writing).

Hướng phát triển tiếp theo được nhóm tác giả xác định bao gồm:

  • Tối ưu hóa thuật toán lưu trữ bộ nhớ đệm (caching) và nâng cao hiệu suất truy vấn cơ sở dữ liệu để đáp ứng lưu lượng truy cập lớn.
  • Phát triển thêm các thuật toán học máy nội bộ để giảm thiểu sự phụ thuộc vào API bên thứ ba.
  • Mở rộng ngân hàng đề thi và bổ sung các mô-đun luyện thi chuyên sâu cho các kỹ năng Nói và Viết.

Giá trị tham khảo

Báo cáo khóa luận là tài liệu tham khảo phù hợp cho sinh viên chuyên ngành Công nghệ thông tin, Công nghệ phần mềm và Kỹ thuật phần mềm đang thực hiện đồ án tốt nghiệp liên quan đến phát triển ứng dụng web full-stack.

Những phần có giá trị tham khảo chuyên môn cao bao gồm:

  • Tài liệu phân tích và thiết kế hệ thống tại Chương 3, đặc biệt là thiết kế 23 bảng cơ sở dữ liệu quan hệ cho một hệ thống E-learning hoàn chỉnh.
  • Quy trình mô hình hóa yêu cầu thông qua các biểu đồ Use Case, Sequence Diagram và Activity Diagram bám sát quy trình phát triển phần mềm chuẩn.
  • Phương pháp tích hợp các công nghệ hiện đại: Spring Boot, Spring Security, JWT, ReactJS, TypeScript và dịch vụ đám mây Cloudinary, Docker.

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

1. Hệ thống hỗ trợ những hình thức thi thử TOEIC nào cho học viên? Hệ thống cung cấp hai hình thức thi thử riêng biệt gồm hình thức Mô phỏng (Simulation) nhằm tái hiện môi trường thi thật với thời gian đếm ngược nghiêm ngặt, và hình thức Luyện tập (Practice) cho phép học viên tùy ý chuyển đổi qua lại giữa các câu hỏi và tua âm thanh bài nghe để phục vụ việc rèn luyện kỹ năng.

2. Điểm số bài thi TOEIC được hệ thống tính toán và chuyển đổi như thế nào? Hệ thống sử dụng hai bảng dữ liệu quy đổi chuyên biệt trong cơ sở dữ liệu là reading_score_conversion và listening_score_conversion. Sau khi học viên hoàn thành bài làm, hệ thống tự động đối chiếu số lượng câu trả lời chính xác của từng phần với bảng quy đổi để đưa ra điểm số chuẩn hóa tương ứng cho từng kỹ năng.

3. Công nghệ nào được sử dụng để phân tích kết quả bài làm và điểm mạnh/yếu của học viên? Hệ thống sử dụng OpenAI API kết hợp với dữ liệu làm bài của học viên được lưu trữ trong cơ sở dữ liệu để phân tích chi tiết hiệu suất từng phần thi, chỉ ra các kỹ năng còn yếu và gợi ý kế hoạch ôn tập cho học viên.

4. Dữ liệu hình ảnh và tập tin phương tiện của đề thi được quản lý bằng giải pháp nào? Tất cả hình ảnh minh họa cho các nhóm câu hỏi trong đề thi được quản lý và lưu trữ thông qua dịch vụ đám mây Cloudinary, liên kết với cơ sở dữ liệu qua bảng question_group_image, giúp giảm tải băng thông lưu trữ cho máy chủ backend và tối ưu tốc độ tải trang.

5. Cơ sở dữ liệu của hệ thống được tổ chức thành bao nhiêu bảng và thuộc hệ quản trị nào? Hệ thống sử dụng hệ quản trị cơ sở dữ liệu MySQL, được thiết kế và tổ chức thành 23 bảng thực thể logic để quản lý toàn bộ người dùng, đề thi, câu hỏi, kết quả, khóa học và tương tác người dùng.

Kết luận

Đồ án tốt nghiệp "Xây dựng website ôn tập và luyện thi TOEIC" của sinh viên Nguyễn Việt An và Trần Viết Trung đã giải quyết thành công bài toán xây dựng nền tảng học tập và luyện thi trực tuyến chuyên biệt. Đề tài kết hợp hiệu quả giữa kiến trúc phần mềm 3 tầng hiện đại gồm ReactJS, Spring Boot, MySQL với các công nghệ đám mây và trí tuệ nhân tạo. Kết quả nghiên cứu cung cấp một sản phẩm phần mềm hoàn chỉnh, đáp ứng tốt nhu cầu học tập của học viên cũng như công tác quản trị đào tạo, đồng thời mang lại giá trị tham khảo kỹ thuật cao cho sinh viên ngành Công nghệ phần mềm.