Bối cảnh và vấn đề nghiên cứu
Trong bối cảnh công nghệ thông tin phát triển mạnh mẽ và quá trình chuyển đổi số diễn ra sâu rộng trong lĩnh vực giáo dục, việc ứng dụng các thiết bị thông minh cùng công cụ số vào hoạt động học tập ngày càng trở nên phổ biến. Xu hướng này tạo ra nhu cầu cấp thiết về các nền tảng học tập hiện đại, đa chức năng nhằm đáp ứng thói quen tiếp cận tri thức linh hoạt của người học. Đề tài khóa luận tốt nghiệp của tác giả Trần Bảo Ngọc và Nguyễn Văn Vượng (ngành Mạng máy tính và Truyền thông dữ liệu, Trường Đại học Công nghệ Thông tin – ĐHQG TP.HCM, năm 2024) tập trung giải quyết bài toán xây dựng và phát triển ứng dụng di động học tập mang tên Ecodemy dưới sự hướng dẫn của TS. Phan Xuân Thiện.
Qua khảo sát thị trường giáo dục trực tuyến, tác giả phân định hai mô hình vận hành chủ đạo:
- Learning Destination Site (LDS): Nền tảng cho phép người học truy cập nhiều khóa học độc lập, đa dạng chủ đề từ nhiều nguồn khác nhau dựa trên nhu cầu cá nhân, chủ yếu cung cấp bài học dưới dạng video (điển hình trên thế giới như Udemy, Coursera, Teachable, Khan Academy).
- Learning Management System (LMS): Cổng thông tin và hệ thống phần mềm do cơ sở đào tạo hoặc giảng viên quản lý nhằm phân phối, theo dõi và quản lý quá trình đào tạo học viên.
Tại thị trường Việt Nam, các nền tảng phổ biến như hocmai.vn, Unica, Edumall hay FPT Edu hầu hết tập trung trên môi trường web. Trong khi đó, các ứng dụng học tập trên thiết bị di động chủ yếu hướng đến việc giảng dạy ngoại ngữ, để ngỏ dư địa phát triển cho các ứng dụng cung cấp khóa học kỹ năng và công nghệ thông tin.
| Tiêu chí |
Ưu điểm của thị trường hiện tại |
Nhược điểm của thị trường hiện tại |
| Nội dung & Vị thế |
- Khóa học đa dạng về chủ đề, chất lượng ở mức cao. - Các đơn vị có bề dày kinh nghiệm, gây dựng được uy tín và lòng tin vững chắc từ người dùng. |
- Nội dung đào tạo thường tập trung vào học sinh phổ thông hoặc ngoại ngữ; thiếu hụt các khóa học chuyên sâu về kỹ năng và công nghệ thông tin. |
| Nền tảng & Giao diện |
- Đã tối ưu hóa tốt các quy trình giảng dạy và chuyển đổi từ trung tâm dạy kèm sang trực tuyến. |
- Đa số tập trung vào nền tảng web, ít khai thác nền tảng di động dù người dùng có xu hướng sử dụng smartphone nhiều hơn. - Giao diện web tại nhiều nơi còn đơn giản, chưa tối ưu trải nghiệm tương tác. |
Từ hiện trạng trên, Ecodemy định vị theo mô hình kết hợp (hybrid): phát triển ứng dụng di động thiên hướng LDS nhưng tích hợp linh hoạt sự tương tác giữa người học, người dạy và ban quản trị. Hệ thống không chỉ cung cấp các khóa học trực tuyến (người dùng mua và học ngay trên ứng dụng) mà còn hỗ trợ đăng ký các lớp học trực tiếp tại trung tâm đào tạo, giúp mở rộng nguồn doanh thu và gia tăng lựa chọn cho người học.
Mục tiêu và nhiệm vụ nghiên cứu của đề tài gồm 3 nội dung trọng tâm:
- Xây dựng hoàn chỉnh ứng dụng di động Ecodemy trên hệ điều hành Android, tích hợp hệ thống mua bán khóa học tự động và phát video bài giảng trực tiếp.
- Thiết kế và triển khai hệ thống quản trị nội dung (CMS) hỗ trợ quản lý tài khoản, danh mục, giao dịch và phân quyền tương tác giữa các nhóm người dùng.
- Tích hợp thuật toán học máy nhằm gợi ý và đề xuất khóa học phù hợp với từng cá nhân dựa trên danh mục quan tâm và lịch sử giao dịch.
Đối tượng và phạm vi nghiên cứu:
- Đối tượng nghiên cứu: Quy trình vận hành và tương tác giữa 5 nhóm tác nhân trong hệ thống giáo dục: Người học, Người dạy, Quản trị viên, Cộng tác viên (tư vấn viên) và Người dùng khách; cùng các phương pháp khai phá dữ liệu trong gợi ý khóa học.
- Phạm vi công nghệ: Ngôn ngữ lập trình Kotlin trên Android; bộ công cụ Jetpack Compose; các hệ quản trị và lưu trữ cơ sở dữ liệu MongoDB Atlas (MongoDB Realm), Firebase (Realtime Database, Storage, Cloud Messaging); dịch vụ đám mây Microsoft Azure (Azure Virtual Machine, Azure Blob Storage, Azure Communication Services); công cụ low-code DronaHQ; nguyên tắc thiết kế Google Material Design 3.
- Phạm vi chức năng: Đăng ký, đăng nhập và xác thực OTP; mua và thanh toán khóa học trực tuyến qua cổng ZaloPay; đăng ký lớp học offline; theo dõi video bài giảng và tài liệu học tập (PDF, hình ảnh); quản lý danh sách yêu thích; đánh giá khóa học; nhắn tin thời gian thực; gợi ý khóa học thông qua thuật toán Apriori.
Cơ sở lý thuyết và phương pháp
Khóa luận kết hợp lý thuyết phát triển phần mềm di động hiện đại, kiến trúc ứng dụng đa tầng, các dịch vụ điện toán đám mây và kỹ thuật khai phá dữ liệu (Data Mining).
Khung kiến trúc và mô hình phần mềm
Ứng dụng Android được xây dựng trên mô hình kiến trúc Model-View-ViewModel (MVVM), giúp phân tách độc lập giữa giao diện người dùng và logic xử lý dữ liệu:
- Tầng View (Giao diện): Xây dựng hoàn toàn bằng bộ công cụ khai báo Jetpack Compose (kết hợp các thành phần UI như Button, Column, Row, Text, Image, Video). View không trực tiếp xử lý dữ liệu mà chỉ quan sát (Observe) trạng thái phát ra từ ViewModel.
- Tầng ViewModel (Thành phần kết nối): Tiếp nhận sự kiện tương tác của người dùng (Event click), điều phối dữ liệu thông qua các kho lưu trữ (Repository), lọc dữ liệu (Filtered data), thiết lập cờ trạng thái (Flag) và phát tín hiệu cập nhật dữ liệu (Update data).
- Tầng Model (Thành phần dữ liệu): Tầng thấp nhất, chứa các lớp thực thể (Class), logic xử lý nghiệp vụ (Data process) và các dịch vụ thực hiện CRUD thông qua API (Service) giao tiếp với MongoDB Realm và Firebase.
Nền tảng lưu trữ và hạ tầng đám mây
Hệ thống sử dụng giải pháp kiến trúc phân tán kết hợp giữa cơ sở dữ liệu phi quan hệ (NoSQL) và các dịch vụ đám mây chuyên dụng:
- MongoDB Atlas & MongoDB Realm App Services: Đóng vai trò là hệ quản trị cơ sở dữ liệu chính. Tác giả khai thác tính năng App Users & Authentication để định danh người dùng; sử dụng Serverless Functions nhằm xử lý các nghiệp vụ phụ trợ phía backend; thiết lập các HTTPS Endpoints để cung cấp giao diện lập trình ứng dụng (API) cho client Android tương tác qua HTTP/HTTPS.
- Firebase: Tác giả phân bổ dữ liệu trên hai công cụ lưu trữ chuyên biệt của Google Firebase dựa trên đặc tính dữ liệu:
| Đặc tính so sánh |
Firebase Storage |
Firebase Realtime Database |
| Định dạng dữ liệu |
Lưu trữ tệp tin nhị phân (hình ảnh đại diện avatar, tài liệu). |
Lưu trữ dữ liệu phi cấu trúc dưới dạng JSON theo cây phân cấp. |
| Cơ chế truy cập |
Truy cập thông qua đường dẫn URL hoặc SDK. |
Truy cập và đồng bộ thời gian thực thông qua SDK hoặc REST API. |
| Ưu điểm |
Khả năng mở rộng cao, tối ưu cho tệp dung lượng lớn. |
Tốc độ phản hồi tức thời, đồng bộ dữ liệu nhanh giữa các thiết bị. |
| Ứng dụng trong đề tài |
Dùng lưu trữ hình ảnh đại diện (avatar) của người dùng. |
Dùng xây dựng tính năng nhắn tin (Chat) thời gian thực giữa người dùng và tư vấn viên. |
- Hạ tầng Microsoft Azure:
- Azure Virtual Machine (VM): Triển khai một máy chủ ảo chạy hệ điều hành Ubuntu Server nhằm đảm nhiệm việc đọc dữ liệu lịch sử giao dịch từ cơ sở dữ liệu, thực hiện tiền xử lý và chạy giải thuật đề xuất, sau đó cung cấp kết quả cho client thông qua Flask API.
- Azure Blob Storage: Dịch vụ lưu trữ đám mây cho phép mở rộng đến quy mô petabyte, được dùng để lưu trữ toàn bộ các tệp video bài giảng chất lượng cao phục vụ việc phát trực tiếp trên app.
- Azure Communication Services: Xây dựng trên nền tảng của Microsoft Teams, được tích hợp vào hệ thống nhằm gửi thư điện tử chứa mã xác thực một lần (OTP) tự động khi người dùng đăng ký hoặc khôi phục mật khẩu.
Phương pháp khai phá dữ liệu
Để xây dựng tính năng gợi ý khóa học tự động, tác giả áp dụng Thuật toán Apriori – một thuật toán kinh điển trong học máy và khai phá dữ liệu nhằm tìm kiếm các tập mục phổ biến (frequent itemsets) và rút ra các luật kết hợp (association rules). Dựa trên hai chỉ số cơ bản là độ hỗ trợ (Support) và độ tin cậy (Confidence), thuật toán quét qua lịch sử giao dịch của toàn bộ hệ thống để tìm ra các nhóm khóa học thường xuyên được mua cùng nhau. Khi một học viên thực hiện mua một khóa học nằm trong tập phổ biến, hệ thống sẽ tự động đề xuất các khóa học liên đới còn lại trong tập hợp đó.
Thiết kế và triển khai hệ thống
Hệ thống Ecodemy được thiết kế theo quy trình kỹ thuật phần mềm chuẩn hóa, từ phân rã chức năng, mô hình hóa luồng nghiệp vụ đến thiết kế dữ liệu và giao diện.
Phân rã chức năng theo nhóm tác nhân
Hệ thống thiết lập 5 phân quyền với các nhóm chức năng độc lập:
- Người học (Student): Xem tổng quan khóa học; mua khóa học trực tuyến qua cổng thanh toán ZaloPay; đăng ký lớp học trực tiếp; xem video bài giảng, tệp PDF và hình ảnh tài nguyên; quản lý danh sách khóa học đã mua; thêm khóa học vào mục yêu thích (Wishlist); viết và gửi đánh giá khóa học; cập nhật thông tin cá nhân và avatar; nhận thông báo qua Firebase Cloud Messaging (FCM); trò chuyện trực tiếp (Chat); nhận danh sách khóa học đề xuất theo danh mục hoặc theo thuật toán Apriori.
- Giáo viên (Teacher): Xem tổng quan khóa học phụ trách; quản lý tài nguyên lớp học; tải lên các tệp tài liệu PDF và hình ảnh minh họa bài giảng; tham gia nhắn tin, trao đổi với người học.
- Quản trị viên (Admin): Quản lý thông tin tài khoản người dùng; xem danh sách và cập nhật thông tin khóa học; thêm tài nguyên cho khóa học; tạo khóa học mới; quản lý các danh mục đào tạo (Category); theo dõi danh sách lịch sử giao dịch tài chính; gửi thông báo đẩy tiếp thị hoặc thông báo hệ thống đến người dùng.
- Cộng tác viên (Tư vấn viên): Vận hành trên trang quản trị; tiếp nhận danh sách chat và tư vấn trực tiếp cho người dùng; xem thông tin và thực hiện xác nhận các yêu cầu đăng ký lớp học trực tiếp tại trung tâm.
- Người dùng khách (Guest): Xem danh mục và thông tin khái quát về các khóa học; tìm kiếm khóa học bằng bộ lọc; thực hiện quy trình đăng ký tài khoản mới và xác thực OTP qua email.
Thiết kế cơ sở dữ liệu và giao tiếp API
Hệ thống tổ chức dữ liệu chính trên MongoDB Atlas với các bộ sưu tập (Collection) và trường thông tin chuẩn hóa:
Course: Lưu trữ thông tin khóa học, giảng viên, giá tiền, mô tả và phân loại.
Course Resource: Lưu trữ siêu dữ liệu và đường dẫn liên kết đến các tệp video trên Azure Blob Storage, tài liệu PDF và hình ảnh.
Category: Quản lý danh mục ngành học và chủ đề.
User: Chứa thông tin tài khoản, phân quyền, cấu trúc lồng nhau gồm userInfo (thông tin định danh), userCourse (danh sách khóa học đã sở hữu), userWishlist (danh sách khóa học yêu thích).
User Recommend: Chứa kết quả tính toán các luật kết hợp và danh sách gợi ý khóa học cho từng tài khoản.
Giao tiếp liên hệ thống được chuẩn hóa thông qua 4 nhóm API Endpoint:
- MongoDB Realm Endpoints: Đảm nhiệm các tác vụ xác thực tài khoản người dùng, đồng bộ dữ liệu giao diện và thực hiện các hàm nghiệp vụ serverless.
- ZaloPay Endpoints: Kết nối với ZaloSDK để xử lý luồng tạo đơn hàng, kích hoạt ứng dụng ZaloPay trên thiết bị di động và nhận phản hồi trạng thái thanh toán giao dịch.
- FCM Endpoints: Đẩy thông báo tức thời (Push Notification) đến thiết bị của người dùng khi có tin nhắn mới hoặc thông báo chung từ quản trị viên.
- Azure VM Endpoints: Dịch vụ Flask API chạy trên máy chủ ảo Azure VM tiếp nhận yêu cầu từ client, kích hoạt thuật toán Apriori và trả về danh sách khóa học gợi ý.
Triển khai hệ thống CMS bằng giải pháp Low-Code
Thay vì viết mã nguồn thủ công cho toàn bộ giao diện quản trị web, nhóm tác giả ứng dụng nền tảng low-code DronaHQ. Nền tảng này cho phép thiết kế giao diện kéo-thả nhanh chóng, hỗ trợ kết nối trực tiếp với MongoDB Atlas và Azure Blob Storage. Nhờ đó, đội ngũ Quản trị viên và Cộng tác viên có thể dễ dàng quản lý thông tin người dùng, duyệt đơn đăng ký học offline, theo dõi giao dịch và quản lý khóa học mà không tốn nhiều tài nguyên phát triển hạ tầng web.
Nội dung chính theo từng chương
Chương 1: Tổng quan về đề tài
Tác giả trình bày bối cảnh chuyển đổi số giáo dục, làm rõ sự cần thiết của một nền tảng học tập trên thiết bị di động. Chương này phân tích chi tiết hai mô hình LDS và LMS, đánh giá ưu điểm và hạn chế của các nền tảng học trực tuyến hiện có trên thị trường quốc tế (Udemy, Coursera) và tại Việt Nam (hocmai.vn, Unica, Edumall). Tác giả xác lập rõ tính cấp thiết của Ecodemy: kết hợp đào tạo trực tuyến LDS với đăng ký học trực tiếp, tối ưu hóa giao diện di động. Chương 1 khép lại bằng việc xác định mục tiêu, phạm vi công nghệ (Kotlin, MongoDB, Firebase, Azure, DronaHQ), phạm vi chức năng và cấu trúc 5 chương của khóa luận.
Chương 2: Cơ sở lý thuyết
Chương 2 cung cấp nền tảng công nghệ và lý thuyết chi tiết cho toàn bộ hệ thống:
- Giới thiệu ngôn ngữ lập trình hiện đại Kotlin, ưu điểm về coroutine và tính tương thích với JVM.
- Trình bày bộ công cụ xây dựng giao diện Jetpack Compose theo hướng lập trình khai báo.
- Trình bày kiến trúc phần mềm Model-View-ViewModel (MVVM), phân định rõ ranh giới giữa View, ViewModel và Model.
- Giới thiệu dịch vụ đám mây MongoDB Atlas, MongoDB Realm App Services, Firebase Storage, Firebase Realtime Database và Firebase Cloud Messaging (FCM).
- Phân tích hạ tầng đám mây Microsoft Azure gồm Azure Virtual Machine, Azure Blob Storage và Azure Communication Services.
- Đánh giá nền tảng low-code DronaHQ và công cụ thiết kế Figma.
- Thống kê các thư viện chuyên dụng trong Android Studio: Dagger-Hilt (Dependency Injection), Retrofit (xử lý API), DataStore (lưu trữ cục bộ), Navigation Compose, Coil (tải hình ảnh), Media3 (phát video), CameraX (chụp ảnh avatar), ZaloSDK (thanh toán ZaloPay) và PDF-Viewer.
- Trình bày nguyên lý thuật toán khai phá dữ liệu Apriori trong bài toán tìm tập phổ biến và luật kết hợp.
Chương 3: Phân tích & thiết kế hệ thống
Chương này tập trung vào các đặc tả kỹ thuật và kiến trúc hệ thống:
- Trình bày sơ đồ kiến trúc tổng thể của Ecodemy, định hình luồng giao tiếp giữa ứng dụng client, serverless backend, các dịch vụ đám mây và máy chủ ảo.
- Thiết lập mô hình phân rã chức năng cho 3 nhóm tác nhân chính: Người học, Giáo viên và Quản trị viên.
- Phác thảo sơ đồ khối chức năng chi tiết cho từng màn hình trên ứng dụng di động: Home, Search, Learn, Wishlist, Account, Course và Chat; làm rõ các kịch bản lấy dữ liệu thành công hoặc xử lý báo lỗi API.
- Cung cấp sơ đồ use-case và bảng đặc tả luồng hoạt động chi tiết cho các ca sử dụng: Đăng ký/đăng nhập, quên mật khẩu, mua khóa học qua ZaloPay, đăng ký lớp học trực tiếp, thêm mục yêu thích, xem video/tài liệu, đánh giá khóa học, tìm kiếm, nhắn tin và đề xuất khóa học.
- Thiết kế lược đồ cơ sở dữ liệu trên MongoDB Atlas và Firebase Realtime Database; đặc tả các bộ sưu tập dữ liệu và danh mục các HTTPS API Endpoints (MongoDB Realm, ZaloPay, FCM, Azure VM).
- Mô hình hóa luồng di chuyển ứng dụng (App Flow) cho khóa học trực tuyến, lớp học trực tiếp cùng luồng vận hành trên web CMS (Web Flow) cho Quản trị viên và Cộng tác viên.
Chương 4: Hiện thực giao diện & hệ thống
Chương 4 mô tả kết quả lập trình và triển khai thực tế của đề tài:
- Thiết kế UI: Xây dựng hệ thống thiết kế dựa trên Google Material Design 3, sử dụng phông chữ Nunito, bộ biểu tượng Boxicons, quy chuẩn bộ màu chính, màu trung lập và màu thông báo. Thiết lập các thành phần giao diện mẫu gồm hệ thống nút bấm, trường nhập liệu (TextField) và thẻ hiển thị khóa học (Course Card).
- Hiện thực ứng dụng di động: Lập trình hoàn chỉnh các màn hình chức năng bằng Jetpack Compose: Màn hình Home, Màn hình Search (tích hợp bộ lọc từ khóa), Màn hình Learn (quản lý khóa học đã mua), Màn hình Wishlist, Màn hình Account (khi đã đăng nhập và chưa đăng nhập), Màn hình Course (các tab: tổng quan/overview, bài giảng/lectures, đánh giá/reviews), Màn hình thông tin giảng viên, Giao diện nhắn tin 1-1 và tin nhắn nhóm, Màn hình đăng nhập/đăng ký và Màn hình chờ (Loading). Đồng thời hiện thực giao diện riêng cho phía Giáo viên để quản lý và tải tài nguyên khóa học.
- Hiện thực hệ thống CMS trên DronaHQ: Xây dựng trang web quản trị nội dung hoàn chỉnh gồm các chức năng quản lý người dùng, quản lý khóa học, sửa/thêm tài nguyên, cập nhật danh mục, theo dõi danh sách giao dịch, gửi thông báo đẩy FCM, giao diện chat của tư vấn viên và quy trình xem/xác nhận học viên đăng ký lớp học offline.
- Hiện thực thuật toán đề xuất: Chuyển đổi dữ liệu giao dịch sang dạng ma trận nhị phân (Binary Matrix) ở bước tiền xử lý; chạy giải thuật Apriori trên máy chủ Ubuntu ảo để trích xuất các luật kết hợp; thiết lập Flask API để phân phối dữ liệu gợi ý về ứng dụng di động.
Chương 5: Kết luận và hướng phát triển
Chương cuối tổng kết toàn diện quá trình thực hiện khóa luận, đánh giá các kết quả đạt được về mặt sản phẩm ứng dụng và hệ thống backend, thẳng thắn nhìn nhận các điểm hạn chế về phạm vi và thời gian thực hiện, đồng thời vạch ra các định hướng hoàn thiện hệ thống trong tương lai.
Kết quả và đóng góp
Kết quả kỹ thuật đạt được
- Xây dựng hoàn chỉnh ứng dụng di động Ecodemy: Ứng dụng Android chạy ổn định, triển khai hoàn toàn bằng ngôn ngữ Kotlin và Jetpack Compose theo mô hình kiến trúc MVVM. Giao diện người dùng tuân thủ chặt chẽ tiêu chuẩn thiết kế Material Design 3, tối ưu hóa hiển thị trên màn hình điện thoại thông minh.
- Tích hợp đồng bộ hệ sinh thái đa đám mây:
- Kết nối thành công cơ sở dữ liệu MongoDB Atlas thông qua các HTTPS Endpoints của MongoDB Realm và hàm Serverless.
- Ứng dụng Firebase Realtime Database vận hành trơn tru tính năng trò chuyện trực tiếp (Chat 1-1 và Chat nhóm); tích hợp Firebase Cloud Messaging để gửi thông báo tức thời.
- Vận hành lưu trữ video bài giảng chất lượng cao trên Microsoft Azure Blob Storage, kết hợp thư viện Media3 hỗ trợ phát trực tiếp trên thiết bị di động.
- Tích hợp cổng thanh toán ZaloPay (ZaloSDK), tự động hóa toàn bộ quy trình mua khóa học trực tuyến.
- Triển khai dịch vụ gửi email OTP tự động thông qua Azure Communication Services bảo mật quá trình xác thực tài khoản.
- Vận hành hệ thống CMS quản trị trên DronaHQ: Khai thác hiệu quả nền tảng low-code để quản lý tập trung toàn bộ dữ liệu người dùng, khóa học, tài nguyên học tập, lịch sử giao dịch và xác nhận đăng ký lớp học offline.
- Triển khai mô hình gợi ý Apriori: Thiết lập thành công luồng xử lý dữ liệu tự động từ ma trận nhị phân giao dịch đến thuật toán Apriori, cung cấp kết quả gợi ý khóa học chính xác thông qua dịch vụ Flask API trên máy chủ ảo Azure Ubuntu.
Đóng góp thực tiễn của đề tài
- Khóa luận đề xuất mô hình kinh doanh giáo dục kết hợp (Hybrid Learning Destination Site) phù hợp với thực tiễn tại Việt Nam: kết hợp giữa việc học trực tuyến qua video trên thiết bị di động với việc đăng ký tham gia các khóa đào tạo trực tiếp tại trung tâm.
- Minh chứng tính khả thi của việc kết hợp kiến trúc di động hiện đại (Kotlin + Jetpack Compose) với các dịch vụ đám mây phân tán (MongoDB Atlas, Firebase, Azure) và nền tảng phát triển nhanh (Low-code DronaHQ), giúp rút ngắn thời gian phát triển hệ thống phần mềm hoàn chỉnh mà vẫn đảm bảo độ tin cậy.
Hạn chế và hướng nghiên cứu tiếp
Khóa luận thẳng thắn nêu rõ một số hạn chế do thời gian nghiên cứu và nguồn lực có hạn:
- Phạm vi nền tảng: Ứng dụng mới chỉ phát triển trên nền tảng di động Android, chưa hỗ trợ hệ điều hành iOS hoặc nền tảng web dành cho người học.
- Kinh nghiệm và tối ưu hóa: Do hạn chế về thời gian thực hiện và kinh nghiệm thực tế của nhóm sinh viên, một số luồng tương tác và xử lý ngoại lệ trong hệ thống vẫn cần tiếp tục được tối ưu hóa để tăng tính ổn định.
- Mô hình gợi ý: Thuật toán Apriori chỉ mới khai thác trên tập dữ liệu lịch sử mua hàng sẵn có mà chưa kết hợp thêm các yếu tố hành vi thời gian thực khác của người học (như thời gian xem video, tần suất tìm kiếm hoặc phản hồi đánh giá).
Hướng phát triển tiếp theo được nhóm tác giả xác định bao gồm việc mở rộng hệ thống sang các nền tảng khác, tối ưu hóa hiệu năng truyền tải video bài giảng, bổ sung các phương thức thanh toán mới và nghiên cứu ứng dụng các giải thuật học máy chuyên sâu hơn để nâng cao độ chính xác trong việc cá nhân hóa lộ trình học tập.
Giá trị tham khảo
Báo cáo khóa luận là tài liệu tham khảo có giá trị học thuật và thực tiễn đối với:
- Sinh viên các ngành Công nghệ thông tin, Kỹ thuật phần mềm, Mạng máy tính: Là tài liệu mẫu hữu ích trong việc xây dựng đồ án tốt nghiệp về ứng dụng di động Android; cung cấp tài liệu chi tiết về cách thiết kế giao diện bằng Jetpack Compose và tổ chức mã nguồn theo mô hình MVVM.
- Các nhà phát triển phần mềm di động: Có thể tham khảo quy trình tích hợp các dịch vụ đám mây đa dạng (MongoDB Realm Serverless, Firebase Realtime Database, Azure Blob Storage, Azure Communication Services) vào một ứng dụng hoàn chỉnh.
- Các dự án khởi nghiệp công nghệ giáo dục (EdTech): Cung cấp tài liệu phân tích hệ thống về mô hình phân rã 5 nhóm tác nhân, cấu trúc dữ liệu khóa học trực tuyến/trực tiếp và giải pháp sử dụng công cụ low-code DronaHQ để xây dựng nhanh hệ thống CMS vận hành.
Câu hỏi thường gặp
1. Ứng dụng Ecodemy khác biệt như thế nào so với các nền tảng học trực tuyến hiện có tại Việt Nam theo phân tích của tác giả?
Phần lớn các nền tảng tại Việt Nam (như hocmai.vn, Unica, Edumall) hoạt động chủ yếu trên nền tảng web và thường tập trung vào giáo dục phổ thông hoặc dạy ngoại ngữ. Ecodemy tập trung phát triển native trên thiết bị di động, áp dụng mô hình hybrid kết hợp giữa học trực tuyến qua video tự học và đăng ký các lớp học trực tiếp tại trung tâm, đồng thời mở rộng các chủ đề về kỹ năng và công nghệ thông tin.
2. Hệ thống Ecodemy quản lý những nhóm người dùng nào và phân quyền ra sao?
Hệ thống phân quyền cho 5 nhóm tác nhân:
- Người học: Mua, thanh toán qua ZaloPay, học trực tuyến, đăng ký học offline, đánh giá và chat.
- Giáo viên: Quản lý bài giảng và tải lên tài nguyên (PDF, hình ảnh).
- Quản trị viên: Vận hành CMS trên DronaHQ để quản lý người dùng, khóa học, danh mục, giao dịch và gửi thông báo FCM.
- Cộng tác viên: Trực chat hỗ trợ người dùng và xác nhận đăng ký lớp học offline.
- Người dùng khách: Tìm kiếm, xem danh mục và thực hiện quy trình đăng ký tài khoản có xác thực OTP.
3. Mã nguồn ứng dụng di động Android Ecodemy được tổ chức theo kiến trúc nào?
Ứng dụng được xây dựng theo mô hình kiến trúc Model-View-ViewModel (MVVM). Tầng View viết bằng Jetpack Compose; tầng ViewModel quản lý trạng thái, tiếp nhận sự kiện giao diện và kết nối với các Repository; tầng Model đảm nhiệm việc định nghĩa thực thể, xử lý logic dữ liệu và thực hiện các lời gọi API tới MongoDB Realm và Firebase.
4. Dữ liệu video bài giảng và các tệp tài liệu trong Ecodemy được lưu trữ ở đâu?
Toàn bộ video bài giảng trực tuyến được lưu trữ trên dịch vụ đám mây Microsoft Azure Blob Storage để hỗ trợ truyền tải dung lượng lớn và phát mượt mà trên ứng dụng qua thư viện Media3. Các tài liệu bài học (PDF, hình ảnh) được giáo viên tải lên và lưu trữ theo liên kết tài nguyên, trong khi ảnh đại diện (avatar) của người dùng được lưu trữ trên Firebase Storage.
5. Thuật toán học máy Apriori được triển khai như thế nào trong đề tài?
Thuật toán Apriori được triển khai trên máy chủ ảo Azure Virtual Machine chạy hệ điều hành Ubuntu. Hệ thống trích xuất lịch sử mua hàng, thực hiện tiền xử lý dữ liệu thành ma trận nhị phân để thuật toán tính toán độ hỗ trợ (Support) và độ tin cậy (Confidence), từ đó tìm ra các tập khóa học phổ biến. Kết quả gợi ý được cung cấp cho ứng dụng di động client thông qua một dịch vụ Flask API.
Kết luận
Khóa luận tốt nghiệp của tác giả Trần Bảo Ngọc và Nguyễn Văn Vượng đã hoàn thành xuất sắc mục tiêu nghiên cứu và phát triển ứng dụng học tập Ecodemy trên nền tảng Android. Công trình thể hiện sự kết hợp bài bản giữa kỹ thuật lập trình di động hiện đại (Kotlin, Jetpack Compose, MVVM) với hạ tầng dịch vụ đám mây phân tán và giải thuật khai phá dữ liệu Apriori. Kết quả nghiên cứu không chỉ mang lại một sản phẩm phần mềm giáo dục hoàn chỉnh mà còn đóng góp tài liệu tham khảo kỹ thuật chi tiết cho cộng đồng sinh viên và nhà phát triển công nghệ thông tin.