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

Lý do chọn đề tài

Trong xu thế hội nhập quốc tế hiện nay, tiếng Anh đã trở thành công cụ giao tiếp và làm việc thiết yếu đối với người dân tại Việt Nam ở mọi lứa tuổi. Tuy nhiên, đối với nhóm đối tượng là người đi làm và những người có lịch trình bận rộn, việc tham gia các khóa học truyền thống tại trung tâm thường gặp nhiều trở ngại do hạn chế về quỹ thời gian cố định. Đồng thời, việc thiếu phương pháp tiếp cận phù hợp và hiệu quả dễ dẫn đến tâm lý chán nản, bỏ dở giữa chừng.

Xuất phát từ thực trạng đó, đề tài "Phát triển Website Hỗ trợ học tiếng Anh cho người đi làm" được xây dựng nhằm tạo ra một môi trường học tập linh hoạt, đơn giản, hỗ trợ người bận rộn nâng cao năng lực ngôn ngữ theo lộ trình phù hợp. Đề tài được tiếp nối và hoàn thiện từ nền tảng các tính năng cơ bản của Đồ án 1, tập trung nâng cấp trải nghiệm người dùng, bổ sung cơ chế trò chơi hóa (gamification), tối ưu hóa bảng điều khiển quản trị và nâng cao độ tương thích hiển thị trên nhiều thiết bị.

Mục tiêu nghiên cứu

Hệ thống hướng đến các mục tiêu cụ thể sau:

  1. Đánh giá cấp độ hiện tại của học viên mới thông qua bài kiểm tra đầu vào và cho phép thực hiện bài kiểm tra vượt cấp độ trong quá trình học.
  2. Cung cấp danh mục bài học được hệ thống hóa theo các chủ đề gắn liền với đời sống và công việc, giúp học viên tiếp thu kiến thức một cách nhanh chóng, đầy đủ và chính xác từ kho dữ liệu phong phú.
  3. Tăng cường động lực và hứng thú học tập thông qua hệ thống bài luyện tập tương tác, trò chơi vui tích lũy điểm thưởng, bảng xếp hạng thành tích và diễn đàn kết nối cộng đồng.
  4. Cung cấp bộ công cụ quản trị hoàn chỉnh giúp quản trị viên quản lý kho tài liệu, hệ thống câu hỏi kiểm tra, bài luyện tập, diễn đàn và người dùng.
  5. Hỗ trợ học tập thuận tiện vào ban đêm thông qua tính năng chuyển đổi linh hoạt giữa chế độ nền sáng và nền tối (Dark mode).

Đối tượng và phạm vi nghiên cứu

  • Đối tượng sử dụng:
    • Học viên: Người đi làm, người bận rộn có nhu cầu tự học tiếng Anh; thực hiện kiểm tra đầu vào, học theo lộ trình, lưu trữ kiến thức, luyện tập qua trò chơi, tham gia diễn đàn và theo dõi tiến trình cá nhân.
    • Quản trị viên (Admin): Quản lý toàn diện dữ liệu bài học, kho kiến thức, lộ trình, bài luyện tập, đề kiểm tra, kiểm duyệt nội dung diễn đàn, quản trị tài khoản người dùng và xem báo cáo thống kê.
  • Phạm vi nền tảng và thời gian thực hiện: Hệ thống được triển khai trên nền tảng Website, kế hoạch nghiên cứu và phát triển được thực hiện trong thời gian 6 tháng.

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

Khung công nghệ và công cụ sử dụng

Hệ thống được xây dựng trên nền tảng Web với kiến trúc phân tách rõ ràng giữa giao diện người dùng, quản lý trạng thái và dịch vụ dữ liệu phụ trợ.

Danh mục Công nghệ / Công cụ Vai trò và đặc tính kỹ thuật
Ngôn ngữ TypeScript Ngôn ngữ lập trình mở rộng từ JavaScript, hỗ trợ kiểm tra lỗi tĩnh và kiểm soát kiểu dữ liệu chặt chẽ, tăng tính ổn định của mã nguồn.
TSX (TypeScript Extension) Cú pháp mở rộng phát triển giao diện trong React, kết hợp giữa cú pháp thẻ tương tự HTML và khả năng định kiểu tĩnh của TypeScript.
CSS / SCSS Ngôn ngữ định dạng giao diện, kiểm soát kích thước, bố cục, màu sắc và hiệu ứng hiển thị của các thành phần web.
Thư viện & Công nghệ React (ReactJS) Thư viện mã nguồn mở xây dựng giao diện người dùng (UI) động dựa trên các thành phần (components) độc lập, có khả năng tái sử dụng cao.
Redux Thư viện quản lý trạng thái (state management) tập trung cho ứng dụng web, giảm thiểu lỗi xung đột dữ liệu và tăng tính ổn định hệ thống.
Firebase Nền tảng Backend-as-a-Service của Google, cung cấp dịch vụ xác thực tài khoản (Authentication) và cơ sở dữ liệu phi quan hệ (NoSQL Database).
Flexbox Grid Thư viện hỗ trợ thiết kế giao diện đáp ứng (Responsive Design), đảm bảo tương thích trên nhiều kích thước màn hình thiết bị.
Công cụ phát triển Visual Studio Code Môi trường phát triển tích hợp (IDE) soạn thảo mã nguồn, tích hợp trình gỡ lỗi (debugger), IntelliSense, linter và quản lý mã nguồn Git.
Figma Công cụ thiết kế đồ họa giao diện người dùng (UI) và trải nghiệm người dùng (UX) trên nền tảng đám mây, dùng để dựng Wireframe.
GitHub Nền tảng lưu trữ, quản lý phiên bản và phối hợp mã nguồn dự án.

Phương pháp phát triển

Tác giả áp dụng quy trình phát triển phần mềm tuần tự gồm các bước:

  • Tìm hiểu công nghệ: Nghiên cứu nguyên lý hoạt động và tích hợp giữa React, Redux và Firebase.
  • Thu thập yêu cầu: Sử dụng biểu mẫu khảo sát trực tuyến (form) để thu thập ý kiến người dùng về trải nghiệm giao diện; đồng thời khảo sát đối sánh chức năng từ các ứng dụng liên quan trên thị trường như Duolingo và Viblo.
  • Phân tích và xác định yêu cầu: Xác định chi tiết danh sách yêu cầu chức năng (cho học viên và quản trị viên) và yêu cầu phi chức năng.
  • Thiết kế hệ thống: Xây dựng sơ đồ Use-case tổng quát, đặc tả các luồng sự kiện, thiết kế cấu trúc dữ liệu NoSQL trên Firebase, thiết kế kiến trúc phân tầng React-Redux và dựng khung wireframe giao diện trên Figma.
  • Cài đặt và hoàn thiện: Lập trình mã nguồn bằng TypeScript/TSX, kết nối cơ sở dữ liệu Firebase và kiểm thử các màn hình chức năng.

Thiết kế và triển khai

Kiến trúc hệ thống

Hệ thống áp dụng kiến trúc chuẩn của các ứng dụng phát triển bằng React kết hợp Redux và dịch vụ đám mây Firebase. Luồng dữ liệu trong ứng dụng được quản lý một chiều thông qua cơ chế State Management của Redux: các hành động (Actions) từ giao diện kích hoạt thay đổi trong Reducer để cập nhật lại State của ứng dụng, đồng thời tương tác hai chiều với Firebase để truy xuất và cập nhật cơ sở dữ liệu thời gian thực.

Thiết kế dữ liệu (Firebase NoSQL)

Cơ sở dữ liệu được tổ chức theo mô hình phi quan hệ (NoSQL) trên Firebase nhằm tối ưu tốc độ đọc/ghi dữ liệu. Các thực thể chính bao gồm:

  • Student Account: Lưu trữ thông tin học viên (id, name, email, gender, birthday, bio, point, avatar, likedBlog, routes, currentPathId, checkinDays, level).
  • StudyPath & StudyRoute: Quản lý lộ trình học tập (id, name, level, study_routes) và các chặng chi tiết trong lộ trình (id, name, topic, image, cards, isLast, display).
  • StudyCard & StudyCardType: Dữ liệu thẻ bài học (id, name, meaning, image, audio, type) thuộc các phân loại từ vựng (Vocab), mẫu câu (Sentence) hoặc đoạn văn (Paraph).
  • Game, GameRound, GameQuestion: Dữ liệu trò chơi "Vượt chướng ngại vật" gồm danh sách vòng chơi và câu hỏi có điểm số (point), từ khóa (keyword), phân loại theo các hình thức tương tác.
  • UserGameRound & UserGameCard: Lưu trữ kết quả tham gia trò chơi của học viên (totalPoint, rightCount, isRight) phục vụ bảng xếp hạng.
  • Document: Kho tài liệu lý thuyết (id, title, description, listItemIds, createDate).
  • Exercise & ExDetail: Bài luyện tập theo cấp độ (id, title, description, level, listItemIds) và chi tiết câu hỏi (type, ques, options, answer, audio, keyword, paraph).
  • UserExercise: Lưu lịch sử làm bài tập của người dùng (rightQn, didDate, exRight).
  • Blog, BlogComment, BlogLike: Dữ liệu diễn đàn gồm bài viết (title, summary, content, state: Pending, Posted, Canceled), bình luận và lượt yêu thích.
  • OnboardingType & OnboardQuestion: Dữ liệu đề kiểm tra đầu vào phục vụ phân loại cấp độ học viên (Beginner, Intermediate, Advanced).
  • TestType & TestQuestion: Dữ liệu bài kiểm tra vượt cấp.

Phân tích Use-case chức năng

Nhóm tác nhân Danh mục Use-case chính Mô tả chức năng
Học viên (15 Use-cases) Đăng nhập / Đăng ký / Quên mật khẩu / Đổi mật khẩu Quản lý xác thực tài khoản qua Email.
Cập nhật thông tin cá nhân Thay đổi tên, ngày sinh, số điện thoại, ảnh đại diện, tiểu sử.
Kiểm tra đầu vào (UC-6) Làm bài trắc nghiệm 10 câu để xác định trình độ và nhận lộ trình tương ứng.
Học theo lộ trình Tham gia học từng chặng theo gợi ý, ghi nhận điểm danh hàng ngày.
Luyện tập Thực hành củng cố kiến thức theo chủ đề, làm lại các câu sai (Do wrong sentences).
Đăng bài / Bình luận / Yêu thích Tương tác, thảo luận bài viết trên diễn đàn học tập.
Thêm vào mục lưu trữ (UC-12) Lưu các từ vựng, mẫu câu, tài liệu quan trọng bằng biểu tượng trái tim.
Chơi trò chơi vui (UC-13) Tham gia trò chơi "Vượt chướng ngại vật" tích lũy điểm số.
Làm bài kiểm tra vượt cấp (UC-14) Làm bài kiểm tra nâng cấp bậc trình độ hiện tại khi đạt yêu cầu.
Xem xếp hạng thành tích (UC-15) Theo dõi bảng xếp hạng điểm số trò chơi của cộng đồng người học (Leaderboard).
Quản trị viên (16 Use-cases) Quản lý lộ trình học Thêm, cập nhật, xóa lộ trình học (Path) và các chặng học (Route).
Quản lý kho tài liệu Thêm, sửa, xóa chủ đề tài liệu (Topic) và tài liệu chi tiết (Document).
Quản lý bài luyện tập Thêm, sửa, xóa bài tập và câu hỏi chi tiết theo nhiều dạng thức.
Quản lý người dùng (UC-25, UC-26) Cập nhật thông tin học viên, thực hiện khóa/mở khóa tài khoản học viên.
Quản lý diễn đàn (UC-27, UC-28) Kiểm duyệt bài viết chờ duyệt (Pending), ghim bình luận quan trọng lên đầu.
Quản lý bài kiểm tra Thêm, sửa, xóa đề kiểm tra đầu vào (Onboarding) và kiểm tra vượt cấp (Level Up).
Xem báo cáo và thống kê (UC-29) Theo dõi dữ liệu hoạt động hệ thống theo tuần, tháng, năm trên Dashboard.

Thiết kế giao diện (UI/UX)

  • Đổi màu sắc chủ đạo: Giao diện Đồ án 2 chuyển đổi màu sắc chủ đạo từ màu "vàng" sang màu "cam". Gam màu cam mang lại độ tương phản thị giác rõ rệt hơn trên nền sáng, đồng thời giữ được sự nổi bật, thu hút và không gây chói mắt khi kết hợp cùng nền tối.
  • Chế độ nền tối (Dark mode): Được tích hợp đồng bộ trên toàn bộ các màn hình (Thông tin cá nhân, Tài liệu, Mục lưu trữ, Bài học...) giúp giảm căng thẳng thị giác cho người học khi sử dụng vào ban đêm.
  • Khung Wireframe: Thiết kế tối ưu hóa hiển thị cho màn hình máy tính và thiết bị di động.

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

Chương 1: Giới thiệu đề tài

Chương 1 thiết lập nền tảng và định hướng nghiên cứu của đề tài. Tác giả phân tích nhu cầu cấp thiết của việc nâng cao năng lực tiếng Anh trong bối cảnh hội nhập quốc tế tại Việt Nam, đồng thời chỉ ra các rào cản đặc thù về thời gian và tâm lý của nhóm đối tượng người đi làm. Chương này xác định rõ mục đích phát triển hệ thống website hỗ trợ học tập theo lộ trình, hệ thống hóa bài học theo chủ đề thực tế, kết hợp cơ chế kiểm tra phân cấp độ và trò chơi hóa. Phạm vi nghiên cứu được xác định rõ là ứng dụng web được hoàn thiện trong vòng 6 tháng, kế thừa và phát triển mới các tính năng so với Đồ án 1.

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

Chương 2 trình bày chi tiết về các ngôn ngữ lập trình, thư viện, công nghệ và công cụ được sử dụng trong quá trình phát triển ứng dụng. Tác giả giải thích lý do lựa chọn TypeScript và TSX để đảm bảo tính an toàn dữ liệu, React và Redux để xây dựng giao diện tương tác động và quản lý trạng thái tập trung, Firebase cho cơ sở dữ liệu đám mây và xác thực, Flexbox Grid để tương thích đa thiết bị, cùng bộ công cụ VS Code, Figma, GitHub. Ngoài ra, chương này cũng mô tả phương pháp phát triển thông qua việc khảo sát biểu mẫu người dùng và phân tích tính năng đối sánh từ các ứng dụng thực tế như Duolingo và Viblo.

Chương 3: Phân tích thiết kế hệ thống

Chương 3 tập trung vào công tác phân tích và mô hình hóa hệ thống. Nội dung bao gồm sơ đồ Use-case tổng quát của toàn hệ thống, danh sách phân loại 15 use-case của học viên và 16 use-case của quản trị viên. Tác giả trình bày bảng đặc tả chi tiết cho 10 use-case trọng tâm mới được xây dựng ở Đồ án 2 (từ tiền điều kiện, hậu điều kiện, luồng sự kiện chính, luồng thay thế đến luồng ngoại lệ). Tiếp đó là phân tích thiết kế giao diện (lý do chuyển đổi tone màu cam và hỗ trợ Dark mode), thiết kế dữ liệu phi quan hệ NoSQL trên Firebase với đầy đủ các thuộc tính của từng thực thể, và thiết kế kiến trúc phần mềm phân tầng dựa trên React-Redux.

Chương 4: Xây dựng ứng dụng

Chương 4 là chương thực nghiệm triển khai mã nguồn và trực quan hóa toàn bộ các giao diện của hệ thống web đã xây dựng. Tác giả mô tả chi tiết bố cục, chức năng và các thao tác xử lý trên từng màn hình:

  • Nhóm màn hình xác thực và định hướng: Màn hình Đăng nhập (Login), Đăng ký (Register), Khảo sát và kiểm tra đầu vào 10 câu hỏi (Onboarding), Kết quả phân cấp độ (Onboarding Result).
  • Nhóm màn hình học tập và tra cứu: Trang chủ học tập theo lộ trình (Study), Mô tả chặng học (Study Description), Chi tiết bài học hiển thị từ vựng/mẫu câu (Study Detail), Tổng kết chặng học (Study Finish), Kho tài liệu theo chủ đề (Document và Document Detail).
  • Nhóm màn hình rèn luyện và cộng đồng: Danh mục bài luyện tập theo cấp độ (Exercise), Chi tiết luyện tập và kết quả (Exercise Description/Detail/Finish), Diễn đàn thảo luận (Forum, Add new post, Your posts, Post Detail), Mục lưu trữ cá nhân (Saved), Cập nhật hồ sơ và ảnh đại diện (Personal Information, Update Avatar/Info).
  • Nhóm màn hình kiểm tra và trò chơi: Màn hình kiểm tra vượt cấp (Test Level Up Description/Detail/Finish), Trò chơi "Vượt chướng ngại vật" (Game, Game Description/Detail/Question/Finish/Result) và Bảng xếp hạng thành tích (Dashboard/Leaderboard).
  • Nhóm màn hình quản trị (Admin): Bảng điều khiển (Dashboard Admin), Quản lý lộ trình học (Manage Study, Add Path/Route), Quản lý tài liệu (Manage Document, Add Topic/Document), Quản lý bài luyện tập (Manage Exercise, Add Exercise/Answer), Quản lý diễn đàn (Manage Forum), Quản lý bài kiểm tra (Manage Test, Manage Onboarding), Quản lý người dùng và khóa tài khoản (Manage Users).
  • Giao diện chế độ nền tối: Minh họa trực quan các màn hình ở chế độ Dark mode (Thông tin cá nhân, Tài liệu, Mục lưu trữ...).

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

Chương 5 tổng kết lại toàn bộ kết quả thực hiện của đồ án, đánh giá mức độ hoàn thành các mục tiêu đề ra ban đầu. Tác giả phân tích các ưu điểm nổi bật của hệ thống (giao diện thân thiện, đa tính năng hỗ trợ học tập, phân quyền quản trị rõ ràng, hỗ trợ nền tối) bên cạnh những mặt hạn chế còn tồn tại. Từ đó, tác giả vạch ra các định hướng nghiên cứu và phát triển tiếp theo nhằm hoàn thiện ứng dụng trong tương lai.


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

Kết quả chính của đề tài

  • Xây dựng hoàn chỉnh ứng dụng Web: Đã lập trình và tích hợp thành công toàn bộ hệ thống website học tiếng Anh phục vụ hai nhóm đối tượng tác nhân: Học viên và Quản trị viên.
  • Cơ chế phân cấp và kiểm tra trình độ: Thiết lập bài kiểm tra đầu vào Onboarding gồm 10 câu hỏi để phân loại người học vào 3 cấp độ chuẩn (Beginner, Intermediate, Advanced), đồng thời xây dựng quy trình làm bài kiểm tra vượt cấp (Level Up) cập nhật trực tiếp vào lộ trình học trong cơ sở dữ liệu.
  • Hệ thống hóa học liệu và luyện tập: Xây dựng kho tài liệu phong phú theo chủ đề công việc và đời sống, cấu trúc bài học phân cấp theo Vocab (từ vựng), Sentence (mẫu câu) và Paraph (đoạn văn). Tích hợp chức năng lưu trữ cá nhân (Saved) với biểu tượng trái tim.
  • Tích hợp trò chơi hóa và cộng đồng: Triển khai trò chơi "Vượt chướng ngại vật" có ghi nhận điểm số vào bảng xếp hạng (Leaderboard); xây dựng diễn đàn thảo luận (Forum) với các tính năng đăng bài, bình luận, yêu thích và kiểm duyệt bài viết.
  • Tối ưu hóa trải nghiệm thị giác: Hoàn thiện bộ giao diện với màu cam chủ đạo và tích hợp thành công chế độ nền tối (Dark mode) giúp chống mỏi mắt khi học ban đêm; giao diện tương thích đa kích thước màn hình nhờ Flexbox Grid.
  • Hệ thống quản trị toàn diện: Quản trị viên có đầy đủ công cụ để quản lý lộ trình học, tài liệu, bài luyện tập, bài kiểm tra, kiểm duyệt bài đăng/ghim bình luận diễn đàn, quản lý thông tin và khóa tài khoản người dùng, xem báo cáo thống kê.

Giải pháp và đóng góp của tác giả

  • Đề xuất giải pháp học tiếng Anh chia nhỏ theo từng chặng (Route), phù hợp với thói quen phân bổ thời gian ngắn và ngắt quãng của người đi làm.
  • Kết hợp hình thức ôn tập lý thuyết với tính năng luyện tập bắt buộc làm lại các câu sai (Do wrong sentences) nhằm tăng cường khả năng ghi nhớ kiến thức.
  • Ứng dụng các công nghệ hiện đại (React, TypeScript, Redux, Firebase) để tạo ra một hệ thống web vận hành mượt mà, phản hồi nhanh và dễ bảo trì.

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

Hạn chế

  • Ứng dụng phụ thuộc hoàn toàn vào dịch vụ trực tuyến Firebase, yêu cầu kết nối mạng liên tục trong suốt quá trình học tập và làm bài tập.
  • Các dạng thức bài tập và vòng chơi trong trò chơi vẫn đang ở mức cơ bản, cần được mở rộng thêm nhiều kịch bản tương tác phong phú hơn.
  • Hệ thống mới dừng lại ở phạm vi kiểm thử chức năng và giao diện trong môi trường phát triển của đồ án 6 tháng, chưa được triển khai thử nghiệm diện rộng trên môi trường sản xuất (production) với số lượng người dùng lớn.

Hướng nghiên cứu tiếp

  • Triển khai ứng dụng lên môi trường thực tế (Hosting/Production) để người dùng thực tế trải nghiệm và đóng góp phản hồi.
  • Bổ sung thêm các tính năng luyện phát âm, nhận diện giọng nói và bài tập luyện nghe nâng cao.
  • Phát triển thêm nhiều dạng trò chơi mới và mở rộng thêm các vòng chơi trong trò chơi "Vượt chướng ngại vật".
  • Hoàn thiện thuật toán gợi ý lộ trình thông minh hơn dựa trên lịch sử và hiệu suất học tập của học viên.
  • Nâng cấp hệ thống báo cáo, phân tích số liệu chuyên sâu hơn trên trang Dashboard dành cho quản trị viên.

Giá trị tham khảo

Đối tượng thụ hưởng tài liệu

  • Sinh viên ngành Công nghệ phần mềm, Hệ thống thông tin, Công nghệ thông tin: Tài liệu là mẫu tham khảo chuẩn mực về cấu trúc và phương pháp thực hiện một đồ án chuyên ngành/đồ án tốt nghiệp theo hướng xây dựng ứng dụng web hoàn chỉnh từ khâu khảo sát, phân tích use-case, thiết kế CSDL NoSQL đến lập trình giao diện.
  • Các nhà phát triển ứng dụng Web (React / Firebase): Cung cấp tài liệu tham khảo thực tế về cách kết hợp React, TypeScript, Redux và Firebase trong một bài toán quản lý học tập (LMS) có phân quyền và tương tác cộng đồng.
  • Người nghiên cứu thiết kế giao diện (UI/UX): Tham khảo cách bố trí luồng người dùng (Onboarding, lộ trình học, Gamification), kỹ thuật chuyển đổi theme Sáng/Tối (Light/Dark mode) và phương pháp xây dựng giao diện đáp ứng đa thiết bị bằng Flexbox Grid.

Các phần nội dung đáng tham khảo nhất

  1. Thiết kế dữ liệu NoSQL (Chương 3, Mục 3.2): Bản thiết kế chi tiết các thực thể dữ liệu phân cấp trên Firebase cho hệ thống học trực tuyến, trò chơi tích điểm và diễn đàn.
  2. Đặc tả Use-case chức năng (Chương 3, Mục 3.1): Quy chuẩn mô tả use-case đầy đủ luồng sự kiện (Basic Flow, Alternative Flow, Exception Flow) cho các tính năng phức tạp như kiểm tra phân cấp độ, vượt cấp và kiểm duyệt nội dung.
  3. Hiện thực hóa giao diện chức năng (Chương 4): Cấu trúc phân chia màn hình rõ ràng, logic giữa phân hệ học viên và phân hệ quản trị viên.

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

1. Hệ thống xác định và phân chia trình độ tiếng Anh của học viên mới như thế nào?

Hệ thống sử dụng quy trình Onboarding ngay sau khi học viên đăng nhập lần đầu tiên. Người dùng sẽ trả lời một bộ câu hỏi kiểm tra gồm 10 câu trắc nghiệm. Dựa vào kết quả trả lời, hệ thống tính toán và tự động xếp học viên vào một trong ba cấp độ: Sơ cấp (Beginner), Trung bình (Intermediate), hoặc Nâng cao (Advanced). Sau đó, hệ thống sẽ đề xuất lộ trình học tập (StudyPath) tương ứng với cấp độ đó. Học viên có thể chọn "Accept" để bắt đầu lộ trình hoặc chọn "Choose another level" để đổi cấp độ mong muốn.

2. Trò chơi "Vượt chướng ngại vật" hoạt động ra sao và hỗ trợ việc học như thế nào?

Trò chơi "Vượt chướng ngại vật" (Use-case UC-13) được thiết kế theo từng vòng chơi (Rounds) chứa các câu hỏi tương tác từ vựng và ngữ pháp. Khi tham gia, học viên trả lời lần lượt các câu hỏi để vượt qua thử thách. Sau khi hoàn thành, hệ thống ghi nhận kết quả, cộng điểm thưởng (totalPoint) và lưu trữ vào bảng xếp hạng (Leaderboard) trong trang Dashboard, tạo động lực cạnh tranh lành mạnh và củng cố kiến thức đã học.

3. Tại sao tác giả chuyển đổi màu sắc chủ đạo sang màu cam và bổ sung Dark mode?

Trong Đồ án 2, màu sắc chủ đạo được chuyển từ màu "vàng" sang màu "cam" vì màu cam tạo ra độ tương phản mạnh hơn trên nền sáng, giúp giao diện trở nên nổi bật và thu hút hơn. Khi kết hợp màu cam với chế độ nền tối (Dark mode), ứng dụng vừa giữ được điểm nhấn thẩm mỹ vừa đảm bảo không bị chói mắt, hỗ trợ người đi làm học tập thoải mái vào ban đêm.

4. Quản trị viên có những quyền hạn cụ thể nào đối với diễn đàn và tài khoản người dùng?

Đối với diễn đàn, quản trị viên có quyền duyệt hoặc hủy các bài viết đang ở trạng thái chờ (Pending) kèm theo ghi chú (UC-27), đồng thời có quyền ghim các bình luận quan trọng lên đầu danh sách hoặc bỏ ghim (UC-28). Đối với người dùng, quản trị viên có quyền chỉnh sửa, cập nhật thông tin cá nhân của học viên (UC-25) và thực hiện khóa tài khoản (Deactivate account) đối với các tài khoản vi phạm (UC-26).

5. Mô hình dữ liệu của ứng dụng trên Firebase được tổ chức như thế nào?

Cơ sở dữ liệu được tổ chức dưới dạng phi quan hệ (NoSQL) với các thực thể độc lập có liên kết qua các khóa định danh (id, userId, blogId, exId...). Các thực thể chính bao gồm: dữ liệu người dùng (Student Account), dữ liệu học tập (StudyPath, StudyRoute, StudyCard), dữ liệu kiểm tra và bài tập (Exercise, ExDetail, TestType, OnboardingType), dữ liệu trò chơi (Game, GameRound, UserGameRound) và dữ liệu mạng xã hội (Blog, BlogComment, BlogLike).


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 (Khoa Công nghệ Phần mềm, Trường Đại học Công nghệ Thông tin - ĐHQG TP.HCM) đã hoàn thành xuất sắc mục tiêu xây dựng một nền tảng học ngôn ngữ trực tuyến chuyên biệt, linh hoạt và tiện ích. Bằng việc ứng dụng hiệu quả công nghệ React, Redux, TypeScript và nền tảng Firebase, hệ thống đã giải quyết trọn vẹn các yêu cầu về phân loại trình độ, học theo lộ trình, rèn luyện kiến thức qua trò chơi tương tác và kết nối cộng đồng qua diễn đàn. Với cấu trúc thiết kế dữ liệu rõ ràng, giao diện hỗ trợ Dark mode tối ưu cho người bận rộn và hệ thống quản trị hoàn chỉnh, đồ án mang lại giá trị thực tiễn cao và là tài liệu tham khảo hữu ích cho các dự án phát triển phần mềm giáo dục trực tuyến.