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

Đồ án tốt nghiệp "Xây dựng website dạy học cho học sinh tiểu học sử dụng Spring Boot, NextJS" được thực hiện bởi sinh viên Bùi Thiên Kim và Nguyễn Quỳnh My, dưới sự hướng dẫn của TS. Lê Văn Vinh tại Khoa Công nghệ Thông tin, Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh (chuyên ngành Công nghệ Phần mềm, khóa 2021 – 2025).

Lý do lựa chọn đề tài xuất phát từ thực tiễn phát triển của giáo dục trực tuyến tại Việt Nam. Dù công nghệ thông tin ngày càng được ứng dụng rộng rãi, các nền tảng học trực tuyến dành riêng cho lứa tuổi tiểu học (từ lớp 1 đến lớp 5) vẫn bộc lộ nhiều hạn chế về mặt nội dung, mức độ tương tác và khả năng bám sát chương trình giảng dạy. Cụ thể, các hệ thống hiện hành chưa đáp ứng đầy đủ nội dung theo từng bộ sách giáo khoa chính thức được Bộ Giáo dục và Đào tạo phê duyệt, bao gồm ba bộ sách: Chân trời sáng tạo, Cánh diều, và Kết nối tri thức với cuộc sống. Thêm vào đó, học sinh tiểu học khi học tại nhà thường thiếu động lực tự giác, dễ bị phân tâm bởi các trò chơi điện tử hoặc mạng xã hội nếu nền tảng học tập thiếu tính sinh động và phương pháp tương tác phù hợp.

Mục tiêu và nhiệm vụ nghiên cứu của đề tài được xác định theo văn bản giao nhiệm vụ gồm các phần cụ thể:

  1. Về mặt lý thuyết: Tìm hiểu kiến thức chuyên sâu về các công nghệ phát triển web hiện đại gồm ReactJS, framework Next.js, Spring Framework, Spring Boot, hệ quản trị cơ sở dữ liệu MongoDB và cơ chế xác thực phân quyền bằng JSON Web Token (JWT); tiến hành khảo sát các website học tập trực tuyến hiện có để cải thiện chức năng và trải nghiệm người dùng.
  2. Về mặt thực hành: Ứng dụng toàn bộ các công nghệ nghiên cứu để thiết kế, cài đặt và hoàn thiện hệ thống website dạy học trực tuyến cho học sinh tiểu học, hỗ trợ ba môn học chính (Toán, Tiếng Việt, Tự nhiên và Xã hội), phân cấp nội dung theo 5 khối lớp và 3 bộ sách giáo khoa phổ biến.
  3. Về phía người dùng (User): Cung cấp các chức năng đăng ký, đăng nhập; truy cập bài học và bài tập theo lớp; tham gia bài kiểm tra quiz; tham gia tính năng thi đấu đối kháng 1 đấu 1; theo dõi tiến độ và lịch sử làm bài. Phụ huynh có thể tạo tài khoản và theo dõi quá trình học tập của con.
  4. Về phía quản trị viên (Admin): Xây dựng phân hệ quản trị tài khoản người dùng; quản lý nội dung bài giảng, chủ điểm, bài tập và câu hỏi quiz; theo dõi thống kê hoạt động học tập trên hệ thống.

Đối tượng nghiên cứu của đồ án bao gồm:

  • Đối tượng người dùng: Học sinh tiểu học từ lớp 1 đến lớp 5, phụ huynh học sinh và quản trị viên hệ thống.
  • Nội dung giảng dạy: Ba môn học cốt lõi gồm Toán, Tiếng Việt, Tự nhiên và Xã hội, được phân loại chi tiết theo từng khối lớp và 3 bộ sách giáo khoa (Chân trời sáng tạo, Cánh diều, Kết nối tri thức với cuộc sống).
  • Nền tảng công nghệ: Framework Next.js, thư viện Material-UI, Axios ở phía Front-End; Java Spring Boot ở phía Back-End; dịch vụ đám mây MongoDB Cloud cho tầng dữ liệu; giao thức bảo mật JSON Web Token (JWT).

Phạm vi nghiên cứu:

  • Không gian nghiên cứu: Nền tảng ứng dụng web phục vụ việc học tập và ôn luyện kiến thức trực tuyến cho học sinh tiểu học tại Việt Nam.
  • Thời gian thực hiện: Kéo dài trong 18 tuần, từ ngày 06/01/2025 đến ngày 15/06/2025, trải qua các giai đoạn từ khảo sát, thiết kế cơ sở dữ liệu, phát triển giao diện và API, tích hợp hệ thống, kiểm thử đến hoàn thiện báo cáo khóa luận.

Cơ sở lý thuyết và công nghệ

Hệ thống được xây dựng dựa trên việc kết hợp các công nghệ chuyên biệt cho hai phân tầng Front-End và Back-End, cùng với khảo sát thực nghiệm từ các nền tảng giáo dục trực tuyến đang hoạt động.

1. Kiến trúc công nghệ Front-End

Phía giao diện người dùng sử dụng Next.js – framework phát triển trên nền tảng thư viện React của JavaScript do Vercel phát triển. Các tính năng kỹ thuật của Next.js được ứng dụng bao gồm:

  • Server-Side Rendering (SSR): Hỗ trợ render trang web trực tiếp trên máy chủ trước khi gửi về client, giúp tăng tốc độ hiển thị nội dung ban đầu và hỗ trợ tối ưu hóa công cụ tìm kiếm (SEO).
  • Static Site Generation (SSG): Tạo sẵn các trang HTML tĩnh tại thời điểm biên dịch (build time) cho các nội dung ít thay đổi, kết hợp phân phối qua CDN nhằm giảm thiểu độ trễ tải trang.
  • File-Based Routing và Automatic Code Splitting: Tự động định tuyến dựa trên cấu trúc tệp thư mục và chia nhỏ mã nguồn JavaScript theo từng trang riêng biệt, tránh việc tải tài nguyên dư thừa.
  • Hot Module Replacement (HMR): Cập nhật trực tiếp các thay đổi mã nguồn mà không cần tải lại toàn bộ trang trong quá trình phát triển.
  • Thư viện hỗ trợ: Axios được sử dụng để xử lý các yêu cầu HTTP bất đồng bộ theo cơ chế Promise giữa client và backend; Material-UI (MUI) cung cấp hệ thống thành phần giao diện theo chuẩn thiết kế Material Design (nút bấm, bảng dữ liệu, hộp thoại popup, trường nhập liệu).

2. Kiến trúc công nghệ Back-End và cơ sở dữ liệu

Hệ thống xử lý nghiệp vụ trung tâm được xây dựng trên nền tảng Java Spring Boot thuộc hệ sinh thái Spring Framework (yêu cầu từ phiên bản Java 17 trở lên). Các thành phần chính bao gồm:

  • Spring Boot: Sử dụng công cụ cấu hình tự động @EnableAutoConfiguration, máy chủ nhúng tích hợp (Embedded Tomcat/Jetty) và quản lý cấu hình thông qua các tệp properties/YAML hoặc biến môi trường.
  • Cơ sở dữ liệu NoSQL MongoDB: Hệ thống sử dụng dịch vụ MongoDB Cloud để lưu trữ dữ liệu dưới dạng tài liệu JSON/BSON linh hoạt, tổ chức theo các Collection và Document thay vì dạng bảng (Table) và dòng (Row) của SQL. Mỗi Document được định danh bằng trường _id 12 byte tự động tạo. MongoDB cung cấp cơ chế lập chỉ mục (index) tối ưu truy vấn, khả năng phân mảnh dữ liệu (sharding) trên nhiều node, hỗ trợ mô hình MapReduce và cơ chế GridFS lưu trữ tập tin có kích thước vượt quá giới hạn mặc định 16MB.
  • Cơ chế bảo mật JWT: Sử dụng JSON Web Token để mã hóa thông tin xác thực phiên làm việc, phân quyền truy cập giữa các nhóm người dùng và bảo vệ an toàn cho các điểm cuối API.

3. Phương pháp khảo sát hiện trạng hệ thống

Tác giả đã tiến hành khảo sát và đánh giá 3 website giáo dục trực tuyến điển hình để rút ra ưu điểm và nhược điểm phục vụ thiết kế:

Hệ thống khảo sát Chức năng chính Ưu điểm ghi nhận Nhược điểm ghi nhận
VioEdu (vio.vn) Xem video bài giảng, luyện tập, luyện thi ViOlympic, tích lũy kim cương đổi quà, tích hợp Microsoft Teams, báo cáo cho phụ huynh. Giao diện rõ ràng, nội dung đa dạng, có cơ chế thưởng kích thích học tập. Nhiều nội dung yêu cầu trả phí; thiếu tính tương tác trực tiếp với giáo viên.
HOCMAI (hocmai.vn) Cung cấp khóa học từ lớp 1 đến lớp 12, luyện thi đại học, tư vấn tuyển sinh, giải đáp thắc mắc cùng giáo viên. Khóa học phong phú, giáo viên có kinh nghiệm, công cụ theo dõi tiến độ tốt. Một số khóa học và tính năng nâng cao yêu cầu trả phí sử dụng.
Arcademics (arcademics.com) Cung cấp trò chơi học tập về toán học, ngôn ngữ; chế độ nhiều người chơi thi đấu đối kháng trực tiếp. Phương pháp tiếp cận sáng tạo qua trò chơi, tạo tính cạnh tranh lành mạnh, nhiều tài nguyên miễn phí. Giao diện chủ yếu bằng tiếng Anh, một số trò chơi thiết kế tương tác chưa tối ưu cho học sinh nhỏ tuổi.

Thiết kế và triển khai

Hệ thống được thiết kế theo mô hình kiến trúc phân tầng tách biệt giữa tầng giao diện (Front-End) và tầng dịch vụ cung cấp dữ liệu (Back-End RESTful API), kết nối cơ sở dữ liệu MongoDB Cloud.

1. Phân tích yêu cầu hệ thống

  • Yêu cầu chức năng:
    • Lưu trữ thông tin: Quản lý và phân quyền người dùng; lưu trữ thông tin môn học, loại sách, lớp học, chủ điểm, bài học, bài tập quiz và tiến độ học tập.
    • Quản trị nội dung: Cung cấp các thao tác Thêm, Sửa, Xóa (CRUD) đối với Lớp học, Môn học, Loại sách, Chủ điểm, Bài học và Bài tập/Quiz.
    • Tìm kiếm: Tìm kiếm bài học theo danh mục lớp học hoặc tìm kiếm bài học trong từng chủ điểm cụ thể.
    • Thống kê: Thống kê tiến độ học tập cá nhân, thống kê số lượt truy cập bài học theo tháng, thống kê lượt nộp bài tập và điểm trung bình theo từng lớp.
  • Yêu cầu phi chức năng: Đảm bảo tốc độ tải trang nhanh nhờ kết hợp SSR/SSG; xử lý đồng thời nhiều truy vấn; kiểm soát xác thực và phân quyền chính xác qua JWT; giao diện tương thích và dễ thao tác cho đối tượng học sinh tiểu học.

2. Thiết kế chức năng và các ca sử dụng (Use Case) chính

Hệ thống phân định rõ hai nhóm tác nhân chính là Người dùng (bao gồm Khách ẩn danh, Học sinh, Phụ huynh) và Quản trị viên (Admin):

Nhóm ca sử dụng Tác nhân thực hiện Tóm tắt luồng xử lý và quy tắc nghiệp vụ theo thiết kế
Đăng ký tài khoản Khách ẩn danh Nhập thông tin biểu mẫu; hệ thống kiểm tra tính hợp lệ; tạo bản ghi và gửi liên kết xác thực vào địa chỉ email; người dùng kích hoạt tài khoản qua liên kết để hoàn tất.
Đăng nhập & Xác thực Học sinh, Phụ huynh, Admin Nhập email và mật khẩu; hệ thống kiểm tra sự tồn tại tài khoản, xác định vai trò (Role), sinh token JWT để duy trì phiên làm việc.
Quên mật khẩu Học sinh, Phụ huynh Nhập email đã đăng ký; hệ thống truy vấn tài khoản và gửi mã OTP qua email; người dùng xác thực mã OTP chính xác để tiến hành đặt lại mật khẩu mới.
Làm bài Quiz Học sinh Hệ thống truy vấn bài quiz gắn với bài học; học sinh trả lời các câu hỏi; chọn "Nộp bài"; hệ thống chấm điểm tự động, lưu kết quả và hiển thị điểm số cùng phản hồi chi tiết.
Thi đấu xếp hạng Học sinh Người dùng chọn thi đấu; hệ thống đưa vào phòng chờ ghép ngẫu nhiên 2 người chơi; đếm ngược 10 giây trước khi bắt đầu; người trả lời đúng và nhanh hơn nhận điểm cao hơn; nếu một bên thoát trận, hệ thống tự động xử đối thủ thắng cuộc.
Quản lý nội dung học tập Quản trị viên Thêm, sửa, xóa cấu trúc Môn học, Loại sách, Lớp học (khối 1 đến 5), Chủ điểm, Bài học; hỗ trợ tạo câu hỏi quiz dưới 3 dạng: trắc nghiệm một đáp án, trắc nghiệm nhiều đáp án và điền từ vào ô trống.
Báo cáo và thống kê Phụ huynh, Admin Phụ huynh theo dõi lịch sử làm bài và điểm số của con; Admin theo dõi biểu đồ lượt truy cập hàng tháng, lượt nộp bài và điểm trung bình phân loại theo từng lớp.

3. Kế hoạch cài đặt và kiểm thử

Quá trình triển khai và kiểm thử phần mềm được bố trí ở tuần thứ 16 theo kế hoạch tiến độ:

  • Môi trường kiểm thử: Kiểm tra khả năng tương thích của giao diện client phát triển bằng Next.js trên trình duyệt web; kiểm tra hoạt động của các điểm cuối API trên nền tảng Spring Boot kết nối với cơ sở dữ liệu MongoDB Cloud.
  • Nội dung kiểm thử: Đánh giá chức năng đăng ký, xác thực tài khoản qua email, cơ chế gửi mã OTP, quy trình làm bài quiz tự động tính điểm, cơ chế ghép cặp thời gian thực trong phòng chờ thi đấu xếp hạng, và các biểu mẫu nhập liệu CRUD của phân hệ quản trị viên.

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

Bố cục của khóa luận tốt nghiệp được cấu trúc thành các phần và chương chính như sau:

Phần mở đầu

Trình bày tính cấp thiết của đề tài trong bối cảnh số hóa giáo dục tiểu học tại Việt Nam; xác định đối tượng nghiên cứu (học sinh, phụ huynh, quản trị viên; các môn Toán, Tiếng Việt, Tự nhiên và Xã hội theo 3 bộ sách giáo khoa); phạm vi nghiên cứu (thời gian 18 tuần, không gian ứng dụng web e-learning); mục tiêu tổng quát của đề tài; ý nghĩa khoa học và thực tiễn; bảng phân công nhiệm vụ cụ thể giữa hai thành viên:

  • Sinh viên Bùi Thiên Kim: Thiết kế cơ sở dữ liệu MongoDB, xử lý Back-End bằng Spring Boot, xây dựng các lược đồ Diagram, viết báo cáo phần Back-End và các phần tổng hợp.
  • Sinh viên Nguyễn Quỳnh My: Thiết kế giao diện người dùng bằng Material-UI, xử lý Front-End bằng Next.js, xây dựng các lược đồ Diagram, viết báo cáo phần Front-End và phân hệ Giao diện.

Chương 1. Các công nghệ sử dụng ở Front-End

Tập trung làm rõ cơ sở lý thuyết và các tính năng cốt lõi của framework Next.js bao gồm cơ chế Server-Side Rendering (SSR), Static Site Generation (SSG), hệ thống định tuyến tệp (File-Based Routing), cơ chế tự động phân tách mã (Automatic Code Splitting), và tính năng Hot Module Replacement (HMR). Đồng thời, chương này mô tả vai trò của thư viện Axios trong việc thực hiện các yêu cầu HTTP bất đồng bộ và thư viện giao diện Material-UI trong việc chuẩn hóa các thành phần hiển thị trên nền tảng web.

Các công nghệ sử dụng ở Back-End

Phân tích chi tiết về Spring Framework và Spring Boot (tính năng Spring Initializr, Spring CLI, cơ chế tự động cấu hình @EnableAutoConfiguration, máy chủ nhúng Tomcat/Jetty). Trình bày cơ sở lý thuyết về hệ quản trị cơ sở dữ liệu NoSQL, đi sâu vào MongoDB (cấu trúc Document, Collection, trường khóa chính _id, kỹ thuật tạo Index, cơ chế phân mảnh Sharding, mô hình tính toán MapReduce và hệ thống lưu trữ tập tin GridFS). Giới thiệu giao thức xác thực JSON Web Token (JWT) trong việc bảo vệ API.

Khảo sát hiện trạng và xác định yêu cầu

Báo cáo kết quả khảo sát thực tế tại 3 nền tảng giáo dục trực tuyến: VioEdu, HOCMAI và Arcademics; phân tích ưu điểm và nhược điểm của từng hệ thống làm cơ sở thực tiễn. Trên cơ sở đó, thiết lập danh mục yêu cầu chức năng (nhóm lưu trữ dữ liệu, nhóm quản lý nội dung, nhóm tìm kiếm, nhóm báo cáo thống kê) và các yêu cầu phi chức năng về hiệu năng, độ bảo mật và tính thân thiện của giao diện.

Mô hình hóa yêu cầu

Xây dựng sơ đồ Use Case tổng quát cho hai phân hệ: Phía Người dùng (User) và Phía Quản trị viên (Admin). Đặc tả chi tiết các Use Case quan trọng thông qua các bảng luồng sự kiện (Luồng cơ bản, Luồng thay thế, Luồng ngoại lệ), bao gồm: Đăng ký tài khoản, Gửi lại email xác thực, Đăng nhập, Đổi mật khẩu, Quên mật khẩu qua OTP, Chỉnh sửa thông tin cá nhân, Tìm kiếm bài học, Làm bài Quiz, Thi đấu xếp hạng và Mời thi đấu xếp hạng.

Thiết kế phần mềm

Xây dựng hệ thống lược đồ tuần tự (Sequence Diagram) mô tả chi tiết tương tác qua lại giữa các đối tượng (Giao diện người dùng, Controller, Service, Database) cho từng chức năng nghiệp vụ cụ thể. Trình bày thiết kế cấu trúc dữ liệu trên MongoDB, chi tiết các Document và Collection phục vụ lưu trữ thông tin người dùng, lớp học, môn học, bộ sách, bài giảng, bài tập trắc nghiệm và kết quả thi đấu.

Thiết kế giao diện

Trình bày thiết kế và bố cục trực quan của các màn hình ứng dụng:

  • Phía Client: Trang đăng nhập, đăng ký (phân quyền học sinh và phụ huynh), popup quên mật khẩu, nhập OTP; trang danh sách bài học, chi tiết bài học, danh sách bài tập; màn hình làm bài quiz và hiển thị kết quả chi tiết; trang thông tin cá nhân, lịch sử làm bài; màn hình thi đấu đối kháng và chi tiết thách đấu; trang tạo tài khoản cho con dành riêng cho phụ huynh.
  • Phía Admin: Trang đăng nhập quản trị; bảng điều khiển thống kê tổng quan; các giao diện và popup quản lý Môn học, Loại sách, Lớp học, Chủ điểm, Bài học; giao diện tạo bài tập hỗ trợ 3 định dạng câu hỏi (chọn một đáp án, chọn nhiều đáp án, điền khuyết); giao diện quản lý người dùng; hệ thống biểu đồ thống kê truy cập, lượt nộp bài và điểm trung bình theo từng lớp.

Cài đặt và kiểm thử

Mô tả các yêu cầu kỹ thuật đối với môi trường hệ thống, các bước tiến hành triển khai tích hợp giữa Next.js, Spring Boot và MongoDB Cloud. Thiết lập kế hoạch kiểm thử, quy trình thực hiện kiểm thử chức năng và tổng hợp kết quả kiểm thử tại trang 176 của báo cáo.

Phần kết luận

Đánh giá mức độ hoàn thành so với mục tiêu đề ra ban đầu, tổng kết các kết quả đạt được về mặt ứng dụng thực tế, chỉ ra những nhược điểm còn tồn đọng của hệ thống và định hướng các nội dung cần nghiên cứu phát triển tiếp theo.

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

Đồ án đã xây dựng hoàn chỉnh website dạy học trực tuyến dành cho học sinh tiểu học, đáp ứng các tiêu chuẩn kỹ thuật đã đề ra:

  • Về mặt ứng dụng: Xây dựng thành công hệ thống tích hợp 3 môn học (Toán, Tiếng Việt, Tự nhiên và Xã hội), phân cấp dữ liệu chặt chẽ theo 5 khối lớp (từ lớp 1 đến lớp 5) và tương thích nội dung với 3 bộ sách giáo khoa (Chân trời sáng tạo, Cánh diều, Kết nối tri thức với cuộc sống).
  • Về chức năng tương tác: Triển khai hệ thống làm bài kiểm tra trắc nghiệm (Quiz) với cơ chế tự động chấm điểm và phản hồi tức thì, hỗ trợ 3 dạng câu hỏi khác nhau. Phát triển tính năng "Thi đấu xếp hạng" 1 đấu 1 theo thời gian thực với phòng chờ tự động ghép cặp 2 người, đếm ngược 10 giây, tính điểm dựa trên độ chính xác và tốc độ trả lời câu hỏi, cùng cơ chế tự động xử lý khi có người chơi bỏ cuộc giữa chừng.
  • Về phân quyền: Hệ thống phân tách rõ rệt 3 nhóm đối tượng: Học sinh (học tập, làm bài, thi đấu); Phụ huynh (tạo tài khoản phụ cho con, theo dõi thống kê lịch sử làm bài và tiến độ học tập); Quản trị viên (quản lý toàn bộ danh mục bài giảng, ngân hàng câu hỏi, tài khoản người dùng và theo dõi báo cáo thống kê qua biểu đồ trực quan).
  • Đóng góp so với các nghiên cứu trước: Khắc phục được nhược điểm của các hệ thống khảo sát (như tính phí nội dung ở VioEdu, HOCMAI hoặc rào cản ngôn ngữ tiếng Anh ở Arcademics) bằng cách xây dựng một nền tảng học tập tiếng Việt miễn phí, bám sát khung chương trình giáo dục phổ thông mới của Việt Nam và kết hợp yếu tố trò chơi hóa (gamification) để tăng cường sự chủ động học tập của học sinh tiểu học.

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

Nhóm tác giả đã tự xác định các hạn chế kỹ thuật và phạm vi phát triển trong báo cáo:

  • Hạn chế:
    • Do giới hạn về thời gian và kinh nghiệm thực tế của sinh viên, sản phẩm vẫn còn những thiếu sót nhất định trong việc tối ưu hóa một số chức năng nâng cao.
    • Về mặt công nghệ lưu trữ, MongoDB chỉ có một node master phụ trách ghi dữ liệu; khi xảy ra sự cố cần chuyển đổi node master, thời gian phục hồi có thể mất đến một phút, gây ảnh hưởng nhất định đến tính liên tục của dịch vụ.
    • Việc sử dụng Spring Boot làm tăng kích thước ứng dụng do phải nạp nhiều thư viện mặc định đi kèm, gây lãng phí tài nguyên hệ thống ở quy mô nhỏ.
    • Hệ thống chưa tích hợp tính năng lớp học ảo trực tuyến với tương tác âm thanh/hình ảnh trực tiếp giữa giáo viên và học sinh (như giải pháp tích hợp Microsoft Teams trên nền tảng VioEdu).
  • Hướng phát triển tiếp theo: Tiếp tục nâng cấp và hoàn thiện các chức năng hiện có; tối ưu hóa hiệu năng truy vấn của hệ thống cơ sở dữ liệu; nghiên cứu mở rộng nội dung giảng dạy cho các môn học bổ trợ khác và cải tiến giao diện người dùng dựa trên đóng góp ý kiến từ hội đồng chuyên môn.

Giá trị tham khảo

Đồ án có giá trị tham khảo thiết thực cho nhiều nhóm đối tượng trong lĩnh vực công nghệ thông tin và giáo dục số:

  • Sinh viên chuyên ngành Công nghệ thông tin, Công nghệ phần mềm: Có thể sử dụng đồ án làm tài liệu tham khảo chi tiết về quy trình xây dựng ứng dụng web phân tầng hiện đại sử dụng Next.js kết hợp Spring Boot và cơ sở dữ liệu MongoDB Cloud.
  • Nhà phát triển hệ thống E-learning: Cung cấp tài liệu thiết kế nghiệp vụ hoàn chỉnh cho các chức năng phân cấp nội dung học tập theo chương trình giáo khoa mới, cơ chế bảo mật phân quyền đa vai trò (Học sinh - Phụ huynh - Quản trị viên), và quy trình thiết kế tính năng thi đấu đối kháng trực tiếp (1 đấu 1) áp dụng kỹ thuật trò chơi hóa.
  • Phần đáng tham khảo nhất: Chương mô hình hóa yêu cầu và thiết kế phần mềm với hệ thống bảng đặc tả Use Case chi tiết (kèm luồng cơ bản, thay thế, ngoại lệ) và hệ thống lược đồ tuần tự (Sequence Diagram) chuẩn mực cho từng chức năng web.

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

1. Website hỗ trợ những môn học và bộ sách giáo khoa nào theo chương trình tiểu học?

Hệ thống được thiết kế dành cho học sinh từ lớp 1 đến lớp 5, cung cấp nội dung học tập cho ba môn học chính gồm Toán, Tiếng Việt, Tự nhiên và Xã hội. Nội dung bài giảng và bài tập được phân loại bám sát theo ba bộ sách giáo khoa hiện hành: Chân trời sáng tạo, Cánh diều, và Kết nối tri thức với cuộc sống.

2. Các công nghệ chủ chốt nào được sử dụng để xây dựng hệ thống?

Website sử dụng Next.js (dựa trên React) ở tầng Front-End kết hợp các thư viện Axios và Material-UI. Tầng Back-End được xây dựng bằng Java Spring Boot (Spring Framework). Cơ sở dữ liệu sử dụng giải pháp đám mây MongoDB Cloud (NoSQL), và hệ thống xác thực người dùng được quản lý thông qua JSON Web Token (JWT).

3. Tính năng "Thi đấu xếp hạng" 1 đấu 1 hoạt động theo quy tắc nào?

Hệ thống kiểm tra quyền truy cập và đưa người chơi vào phòng chờ. Khi có đủ 2 người dùng, hệ thống bắt đầu đếm ngược 10 giây để bước vào trận đấu. Hai học sinh cùng trả lời các câu hỏi trong thời gian quy định; người trả lời chính xác và nhanh hơn sẽ nhận được số điểm cao hơn. Trong trường hợp một người chơi thoát khỏi trận đấu trước khi hoàn tất, hệ thống sẽ tự động xử người chơi còn lại giành chiến thắng và cập nhật kết quả vào cơ sở dữ liệu.

4. Hệ thống phân chia quyền hạn của Phụ huynh khác gì so với Học sinh?

Học sinh có quyền truy cập bài học, làm bài tập quiz, tham gia thi đấu đối kháng và xem điểm số cá nhân. Phụ huynh có giao diện bảng điều khiển riêng, được cung cấp tính năng tạo tài khoản học tập cho con và theo dõi toàn bộ báo cáo thống kê về lịch sử làm bài, kết quả bài tập cũng như tiến độ học tập của con em mình.

5. Quản trị viên (Admin) có thể tạo các dạng câu hỏi kiểm tra nào cho bài tập?

Phân hệ quản trị của website cho phép quản trị viên thêm mới và chỉnh sửa câu hỏi bài tập dưới ba định dạng: câu hỏi trắc nghiệm chọn một đáp án đúng, câu hỏi trắc nghiệm chọn nhiều đáp án đúng, và câu hỏi dạng điền đáp án trực tiếp vào ô trống.

Kết luận

Đồ án tốt nghiệp "Xây dựng website dạy học cho học sinh tiểu học sử dụng Spring Boot, NextJS" đã hoàn thành việc thiết kế và triển khai một nền tảng học tập trực tuyến bám sát chương trình giáo dục tiểu học tại Việt Nam. Bằng việc kết hợp kiến trúc Next.js, Spring Boot và MongoDB Cloud, hệ thống đáp ứng tốt các yêu cầu chức năng về quản lý nội dung học tập theo 3 bộ sách giáo khoa, tích hợp kiểm tra tự động và thi đấu đối kháng tạo động lực học tập. Đây là tài liệu học thuật có giá trị tham khảo rõ ràng về mặt quy trình phân tích, thiết kế hệ thống phần mềm và triển khai công nghệ web hiện đại.