6 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
3.7 Use case làm bài tập trắc nghiệm
3.3 Thiết kế giao diện
3.3.1 Giao diện đăng nhập, đăng ký
Hình 3.2:Giao diện đăng nhập, đăng ký
3.3.2 Giao diện trang chủ
Hình 3.3:Giao diện trang chủ
3.3.3 Giao diện mua khoá học
Hình 3.4:Giao diện trang chủ
3.3.4 Giao diện thông tin cá nhân
3.3.5 Giao diện xem lại bài làm
Hình 3.6:Giao diện xem lại bài làm
3.3.6 Giao diện làm quiz
Hình 3.7:Giao diện làm quiz
3.3.7 Giao diện trò chơi
Hình 3.8:Giao diện làm bài tập trò chơi
3.3.8 Giao diện chức năng thanh toán
3.3.9 Các loại popup
Hình 3.10:Các loại popup thông báo
3.4 Thiết kế Back-end (API Bee Service) và cơ sở dữ liệu
3.4.1 Cơ sở dữ liệu
Hệ thống Moodle đã được phát triển từ lâu, lớn, đầy đủ chức năng, vì vậy hệ thống Back- end mà nhóm phát triển chỉ là một service nhỏ để hỗ trợ chức năng thanh toán và lưu trữ lịch sử sử dụng ứng dụng của người dùng để từ đó đưa ra gợi ý khóa học cũng như thống kê kết quả.
Dưới đây là mô tả và ERD của cơ sở dữ liệu:
• Course: để lưu trữ thông tin của khóa học như: id của khóa học trên Ong vàng học tập, giá tiền, khuyến mãi giảm giá, mô tả, ...
• Course User: để lưu trữ thông tin thanh toán khóa học của người dùng: giá thanh toán, hạn sử dụng, ngày bắt đầu có hiệu lực, id khóa học, id người dùng, trạng thái giao dịch, ... • Log User và User Time On App: để lưu trữ lịch sử sử dụng ứng dụng như thời gian, các
khóa học đã truy cập gần đây,...
3.4.2 Back-end (Bee Service)
Bee Service gồm các package chính là Controller, Service, Repository:
• Controller: package định nghĩa API, request data, response data, xử lý trước request data trước khi gọi service để thực hiện lời gọi.
• Service: Là package xử lý logic chính của back-end, được controller gọi và trả về kết quả cho controller
• Repository: Được service gọi để thực hiện việc truy vấn đọc/ghi dữ liệu vào database
Hình 3.12:Thiết kế Back-end
3.5 Cấu trúc của hệ thống
Từ nhứng yêu cầu đặt ra và những công nghệ, công trình đã tìm hiểu, nhóm đưa ra kiến trúc hệ thống cũng như những thành phần mà ứng dụng sẽ tương tác và kết nối.
Hình 3.13:Kiến trúc chung của hệ thống
• ongvanghoctap.edu.vn: trang web Ong vàng học tập sử dụng Moodle, cung cấp các API, dữ liệu các khoá học.
• GCP - Compute Engine: là nơi chạy dịch vụ Java Spring Boot và cơ sở dữ liệu MySQL, cung cấp một số API cho ứng dụng Ong vàng.
• GCP - Cloud Storage: nơi lưu trữ bản build, mã nguồn của back-end.
• Firebase - Authenticate: dịch vụ web của Firebase, hỗ trợ chức năng đăng ký, đăng nhập bằng tài khoản Google, số điện thoại.
• Firebase - Dynamic link: dịch vụ web của Firebase, hỗ trợ chức năng mở ứng dụng bằng đường dẫn sau khi người dùng thanh toán thành công hoặc khi người dùng nhận đường dẫn chia sẻ ứng dụng từ người khác.
• Zalopay Server: Máy chủ của ứng dụng Zalopay dùng để kết nối, xử lý giao dịch của chức năng thanh toán bằng Ví Zalopay.
• VNPay Server: Máy chủ của cổng thanh toán VNPay dùng để kết nối, xử lý giao dịch của chức năng thanh toán bằng cổng thanh toán VNPay.
HIỆN THỰC ỨNG DỤNG 4.1 Công nghệ sử dụng
Để hiện thực được ứng dụng với nhiều chức năng như vậy, nhóm đã sử dụng rất nhiều thư viện, framework như đã được giới thiệu trong Chương 2. Các công nghệ nổi bật được liệt kê dưới đây:
Thư viện, framework Phiên bản Chức năng
Flutter 2.0.5 Xây dựng giao diện ứng dụng
Moodle 3.10 Hệ thống cung cấp API, quản lý dữ
liệu chính của đề tài
Spring Boot 2.4.4 Xây dựng back-end
MySQL 8.0.26 Cơ sở dữ liệu thông tin thanh toán
của người dùng