Ứng dụng trò chơi trực tuyến nhiều người chơi vào xây dựng nền tảng học tập

MỤC LỤC

Mục tiêu

- Hứng thú cá nhân trong việc kết hợp trò chơi và học tập trực tuyến như một cách để làm cho quá trình học tập trở nên thú vị hơn và hiệu quả hơn. - Sự tăng cường trong việc sử dụng trò chơi trong giáo dục, và mong muốn nghiên cứu cách tạo ra nền tảng đa người chơi có khả năng thúc đẩy tương tác học tập.

Phạm vi

- Chức năng waiting room (Phòng chờ): Sau khi nhập mã pin, người dùng sẽ tham gia vào phòng chờ, nơi họ đợi cho đến khi tất cả người chơi khác đã sẵn sàng hoặc người tạo trò chơi bắt đầu. - Chức năng playing game: Màn hình chính của trò chơi, nơi người dùng tham gia vào câu hỏi và thử thách trả lời đúng trong thời gian giới hạn. - Chức năng vinh danh: Sau khi kết thúc trò chơi, người dùng có thể xem điểm số của họ và vị trí của họ trong danh sách xếp hạng.

- Leaderboard (Bảng xếp hạng): Hiển thị danh sách các người chơi và điểm số của họ trong phiên chơi hiện tại hoặc phiên chơi gần đây. - Chức năng tham gia waiting room (Phòng chờ): Nơi người tạo trò chơi có thể kiểm soát việc tham gia của người chơi và bắt đầu trò chơi. - Leaderboard (Bảng xếp hạng): Giỳp người tạo trũ chơi theo dừi điểm số của người chơi trong thời gian thực hoặc sau khi trò chơi kết thúc.

Chức năng report: Hiển thị thông tin về các bài kiểm tra đã tạo, người chơi tham gia, câu hỏi và nhiều thông tin khác liên quan đến quản lý trò chơi.

Phạm vi chức năng

- Chức năng feedback: Một phần của trò chơi mà người dùng có thể gửi phản hồi hoặc đánh giá về trò chơi sau khi chơi xong. - Chức năng playing game: Nơi người tạo trò chơi điều hành việc chơi trò chơi và hiển thị câu hỏi và phản hồi. - Chức năng xem feedback: Cho phép người tạo trò chơi xem phản hồi từ người chơi sau khi trò chơi kết thúc.

- Chức năng quản lý quizzes: Nơi người tạo trò chơi có thể tạo/chỉnh sửa bộ câu hỏi hoặc bài kiểm tra mới.

Phương pháp thực hiện

- Xây dựng một hệ thống có thể đáp ứng được số lượng người dùng lớn.

Hướng phát triển của đề tài

 Thiết kế xây dựng chức năng Report (giúp xem lại các game đã tạo trong quá khứ.

Phân công công việc

    Điều này đặt ra câu hỏi về cách làm cho quá trình này trở nên thú vị và hiệu quả hơn, đặc biệt là khi kết hợp với yếu tố giải trí như trò chơi trực tuyến. Hứng thú cá nhân trong việc kết hợp trò chơi và học tập trực tuyến không chỉ là một nguyên nhân cá nhân mà còn là một xu hướng ngày càng được đánh giá cao trong giáo dục hiện đại. Sự tăng cường trong việc sử dụng trò chơi trong giáo dục không chỉ là một phương tiện giáo dục thay thế mà còn là một xu hướng đang phát triển mạnh mẽ.

    Điều này đặt ra nhu cầu nghiên cứu và phát triển nền tảng đa người chơi, nơi mà sự tương tác giữa các học viên không chỉ là một phần quan trọng mà còn được coi là chìa khóa để thúc đẩy hiệu suất học tập. Với mục tiêu này, việc tạo ra một nền tảng học tập trực tuyến dựa trên trò chơi, đặc biệt là nền tảng đa người chơi, trở thành một điểm nhấn quan trọng trong nghiên cứu giáo dục và công nghệ. Sự kết hợp giữa giáo dục và giải trí không chỉ mang lại niềm vui và sự hứng thú cho người học mà còn mở ra một hướng mới trong việc tối ưu hóa quá trình học tập và tạo ra cộng đồng học tập tích cực và đầy sáng tạo.

    Mục tiêu chính của đề tài là phát triển một nền tảng học tập trực tuyến đa người chơi dựa trên trò chơi, nhằm tạo ra một môi trường học tập độc đáo và thuận lợi cho việc tương tác giữa người học.

    KIẾN THỨC NỀN TẢNG 4.1. Golang

    Angular Framework

    Angular là một framework phát triển ứng dụng web động được phát triển và duy trì bởi Google. Angular giúp lập trình viên xây dựng ứng dụng web động, đa trang và đa mô-đun một cách dễ dàng và hiệu quả. Nó cung cấp một cơ sở hạ tầng mạnh mẽ và nhiều tính năng để phát triển ứng dụng phức tạp.

    Angular được sử dụng rộng rãi trong cộng đồng phát triển web để xây dựng các ứng dụng động, đặc biệt là các ứng dụng doanh nghiệp và các dự án lớn.

    Material UI

    Material-UI đã trở thành một trong những thư viện phổ biến nhất khi xây dựng giao diện người dùng cho ứng dụng React, và nó được sử dụng rộng rãi trong cộng đồng phát triển web.

    Postgresql

     Mã nguồn mở: PostgreSQL là một dự án mã nguồn mở, điều này có nghĩa là mã nguồn của nó có sẵn cho cộng đồng phát triển để xem xét, cải thiện và sử dụng mà không cần phải trả bất kỳ chi phí nào.  Khả năng mở rộng: PostgreSQL hỗ trợ nhiều phương pháp mở rộng, bao gồm phân vùng dữ liệu, nhóm dữ liệu và chế độ sao chép, giúp nó phù hợp với các ứng dụng cần xử lý lượng dữ liệu lớn và tăng cường khả năng chịu tải.  Tiêu chuẩn SQL: PostgreSQL tuân theo chuẩn SQL ANSI, điều này giúp đảm bảo tính tương thích và chuyển đổi dễ dàng giữa các hệ quản trị cơ sở dữ liệu khác.

     Hỗ trợ đa loại dữ liệu: Ngoài các kiểu dữ liệu cơ bản như số nguyên và chuỗi, PostgreSQL còn hỗ trợ các kiểu dữ liệu phức tạp như mảng, JSON, hình học và nhiều kiểu dữ liệu tùy chỉnh.  Tính bền vững và an toàn: PostgreSQL có các tính năng như giao dịch, nguyên tắc ACID (Atomicity, Consistency, Isolation, Durability), và các cơ chế bảo mật mạnh mẽ để đảm bảo tính an toàn và bền vững của dữ liệu.  Hệ thống mở rộng bằng tiện ích mở rộng: PostgreSQL cho phép người dùng mở rộng chức năng của nó thông qua việc cài đặt tiện ích mở rộng, cung cấp linh hoạt cho các yêu cầu cụ thể của dự án.

    PostgreSQL là một lựa chọn phổ biến trong cộng đồng phát triển và được sử dụng rộng rãi cho các ứng dụng web, doanh nghiệp, và các dự án cơ sở dữ liệu lớn.

    Redis

    "Publish/Subscribe" cho phép các thành phần khác nhau trong hệ thống giao tiếp với nhau thông qua các kênh. Redis thường được sử dụng trong các ứng dụng yêu cầu hiệu suất cao, độ trễ thấp, và khả năng mở rộng tốt như các hệ thống cache, hàng đợi thông điệp, và lưu trữ thông tin phi tuyến tính.

    Kafka

    • Phân loại các yêu cầu phần mềm

      Người ta có thể cấu hình mức độ đồng nhất (consistency) và tính khả dụng (availability) dựa trên yêu cầu cụ thể của hệ thống. Kafka đã trở thành một phần quan trọng trong các kiến trúc hệ thống phức tạp, nơi nó giúp xử lý và truyền tải lưu lượng lớn của các sự kiện và thông điệp giữa các thành phần khác nhau của hệ thống.  Tra cứu: Tra cứu nhóm câu hỏi, tra cứu câu hỏi, tra cứu trò chơi, tra cứu leaderboard, tra cứu xếp hạng hiện tại, tra cứu người chơi.

      Cho phép huỷ, cập nhật thông tin đã cung cấp 2 Lập câu hỏi Cung cấp thông. Cho phép huỷ, cập nhật thông tin đã cung cấp 3 Lập trò chơi Cung cấp thông.

      Bảng xếp  hạng
      Bảng xếp hạng

      Use Case Diagram 2. Sơ đồ Use case

      • Đặc tả Use case

        3 Tổ chức trò chơi Bắt đầu một trò chơi từ bộ câu hỏi đã tạo.  Người dùng muốn vào hệ thống để thực hiện các tính năng thì phải thông qua đăng nhập.  Khi quên mật khẩu và muốn lấy lại mật khẩu mới thì người dùng thực hiện use case này.

        Sự kiện kích hoạt: Bấm “Forgot password” ở màn hình đăng nhập Điều kiện thực hiện: Không có. Ngược lại hệ thống sẽ thông báo thất bại và tiến hành lại từ đầu.  Người dùng muốn thay đổi thông tin cá nhân hoặc mật khẩu thì sử dụng use case này.

        - Hiển thị màn hình Thay đổi mật khẩu - Nhập mật khẩu hiện tại và mật khẩu mới - Bấm “Change password” để thay đổi - Hệ thống hiển thị thông báo.  Người dung sau khi đăng nhập sẽ vào màn hình trang chủ, ở góc trên bên phải màn hình.  Người dùng chọn bộ câu hỏi để tổ chức trò chơi, trò chơi sẽ lấy câu hỏi từ bộ câu hỏi đó.

         Bấm vào một câu hỏi để đi tới màn hình xem chi tiết bộ câu hỏi.

        THIẾT KẾ GIAO DIỆN NGƯỜI DÙNG 6.1. Danh sách các màn hình

        Màn hình Login

        1 Nhấn nút Log in Kiểm tra điều kiện nhập và chuyển sang màn tiếp theo.

        CÀI ĐẶT VÀ KIỂM THỬ 7.1. Kiểm thử phía ứng dụng

        TỔNG KẾT 8.1. Kết quả đạt được