Tổng quan
Khoá luận này với đề tài là xây dựng, phát triển ứng dụng học tập Ecodemy, xoay quanh các dịch vụ cung cấp khoá học trên nền tảng trực tuyến đến người dùng thông qua ứng dụng di động, đồng thời hỗ trợ người dùng đăng ký các lớp học trực tiếp tại trung tâm thông qua chức năng đăng ký lớp học trực tiếp trên ứng dụng. Việc hỗ trợ nhiều phương thức học giúp cho người dùng thuận tiện lựa chọn phương thức phù hợp với bản thân, đồng thời đem lại nhiều nguồn doanh thu cho ứng dụng.
Ứng dụng học tập Ecodemy được thiết kế dựa trên nguyên tắc thiết kế Google Material Design 3, trong ứng dụng ngoài chức năng chính là mua bán khoá học còn nhiều các chức năng khác gồm trực tiếp xem các video bài giảng, file pdf, hình ảnh được giảng viên tải lên, lưu các khoá học yêu thích vào danh sách yêu thích, thanh toán trực tiếp qua cổng giao dịch Zalopay, chức năng tìm kiếm để dễ dàng tìm khoá
học phù hợp, chức năng đánh giá khoá học, chức năng giới thiệu khoá học và cuối cùng là hỗ trợ giao tiếp trực tiếp với tư vấn viên thông qua tính năng chat để xử lý các vấn đề mà người dùng gặp phải nhanh chóng và hiệu quả.
Trong khoá luận sử dụng nhiều các công nghệ mới cũng như công cụ phổ biến trong phát triển ứng dụng Android như: Kotlin, Mongodb, Firebase, … Ngoài ra, chúng tôi còn sử dụng một số công cụ để xây dựng một hệ thống quản lý nội dung cho admin thông qua một công cụ low-code là Dronahq kết hợp với Azure Blob Storage để tải lên và lưu trữ nội dung. Và cuối cùng là sử dụng một số thuật toán như Apriori để xây dựng tính năng đề xuất khoá học cho người dùng.
Dưới đây là bài báo cáo chi tiết của nhóm, bắt đầu từ nội dung mở đầu gồm các thông tin tổng quan và quá trình hình thành cũng như lên ý tưởng của dự án. Sau đó là từng bước trong quá trình hiện thực hoá ứng dụng học tập Ecodemy.
Phạm vi nghiên cứu
Phạm vi công nghệ:
- Ngôn ngữ lập trình Kotlin cho Android
- Cơ sở dữ liệu, lưu trữ: MongoDB Atlas, Firebase, Azure Blob
- Các công cụ, thư viện (Azure Virtual Machine, Azure Communicatior
- Service, Figma, Jetpack Compose…)
- Thư viện thiết kế: Boxicon, Google Font
- Quy tắc thiết kế: Google Material Design 3 [3]…
- Thuật toán đề xuất: Apriori…
Phạm vi chức năng:
- Đăng ký/mua các khóa học – Thanh toán trực tuyến
- Quản lý tài khoản người học, người dạy, tư vấn viên
- Quản lý tài nguyên của các lớp học (bài giảng, pdf, hình ảnh…)
- Hệ thống đánh giá lớp học
- Trò truyện thời gian thực giữa các người dùng, người dùng với quản lý
- Gợi ý khoá học phù hợp với người dùng
Nội dung đề tài
Ứng dụng sẽ chủ yếu giao tiếp và lấy dữ liệu từ mongodb atlas database thông qua https endpoint tích hợp của mongodb, bao gồm cả việc xác thực thông qua authencation của mongodb. Đồng thời sử dụng các tài nguyên hình ảnh, âm thanh, lấy từ các kho lưu trữ của Firebase storage và Azure blob storage được gắn đường dẫn vào mongodb. Ứng dụng cũng được chia thành 2 phân loại người dùng riêng biệt là người học và người dạy. Trong đó người học sẽ thực hiện các chức năng liên quan đến mua khoá học và học tập, còn người dạy sẽ tập trung ở việc quản lý các lớp học, tải lên tài nguyên khoá học, v.v
Về phần trải nghiệm người dùng, ứng dụng học tập Ecodemy tập trung vào việc người dùng có thể trải nghiệm một môi trường dễ sử dụng và mượt mà trong việc tìm kiếm, xem và mua các khoá học trực tuyến. Đồng thời là đăng ký các lớp học trực tiếp được phân biệt rõ ràng để người dùng có thể chọn môi trường học phù hợp với mình.
Sau khi người dùng mua hoặc thêm yêu thích cho các khoá học, hệ thống cũng sẽ tự động giới thiệu những khoá học mà người dùng có thể sẽ quan tâm thông qua việc sử dụng các danh mục của khoá học hoặc cao hơn là dùng các thuật toán như Apriori, để người dùng có thể dễ dàng tìm được các khoá học phù hợp với bản thân.
Mô hình phân rã chức năng giúp đưa ra cái nhìn tổng quan về các chức năng có trong hệ thống, đồng thời xác định được sự liên kết giữa các thành phần trong từng chức năng.
Kết luận
Đề tài này được chúng tôi thực hiện sau rất nhiều kinh nghiệm và kiến thức đã được đúc kết trong suốt quá trình học tập tại trường, đồng thời cũng là sự nghiên cứu, tìm hiểu sâu thêm các công nghệ đi đầu và hiệu quả hiện nay như MongoDB Atlas, Kotlin, Jetpack Compose,…Ngoài ra là áp dụng những công cụ dù không mới nhưng vẫn mang lại hiệu quả cao và vẫn liên tục cập nhật như Microsoft Azure, Firebase,
Python, Apriori,… kết hợp cùng với những kiến thức đã được học từ các môn học, các đồ án trước đây đã giúp ích rất nhiều trong quá trình hiện thực hoá ứng dụng này.