MỞ ĐẦU Công nghệ thông tin đang là một xu thế vẫn đang và sẽ còn phát triển rất nhiều trong tương lai. Hiện nay việc học tập cũng đang đi theo xu thế đó, dần được cải cách theo hướng hiện đại hóa, sử dụng những thiết bị thông minh cũng như những công cụ số nhiều hơn. Từ đó cũng dan theo một nhu cầu không hé nhỏ về những nền tang học tập hiện đại và đa dụng đề phù hợp với xu hướng nêu trên. Cũng chính vì lẽ đó, chúng tôi lên ý tưởng về việc tạo ra một ứng dụng cung cấp nhiều lựa chọn khóa học, giúp người học có một nền tang dé tham gia trau dồi kiến thức mà còn là một nền tảng với nhiều lựa chọn, phù hợp với nhiều đối tượng người học khác nhau.
Ngoài ra, chúng tôi cũng cung cấp một hệ thống gợi ý cho người dùng về các khóa học dé người học có thé dé dàng tiếp thu các kiến thức mong muốn. Trong dé tài này mục tiêu của chúng tôi là hướng đến việc phát triển một ứng dụng học tập trực tuyến. Chúng tôi sẽ xây dựng một nền tảng học tập - cung cấp các khóa học. Được tích hợp vào một ứng dụng di động có tên là Ecodemy.
Trong đó sẽ bao gồm các khóa học trực tuyến, người dùng có thé mua, học ngay trên app và các lớp học trực tiếp, người học sẽ đăng ký, và tham gia lớp học trực tiếp ở trung tâm. Về phạm vi đề tài, chúng tôi tập trung chính vào việc xây dựng hệ thống mua bán khoá học tự động, cùng với đó là khả năng theo dõi các video bài giảng, trực tiếp trên ứng dụng một cách tiện lợi dé người dùng có thể học tập một cách chủ động nhất. Một vài các tính năng phụ khác được xây dựng xung quanh nhằm mục đích cho việc học tập của người dùng trở nên dễ dàng và thuận tiện hơn. Về mặt kĩ thuật sử dụng trong đề tài, chúng tôi sẽ xoay quanh ngôn ngữ Kotlin và Android làm chủ đạo, ngoài ra là các công cụ hỗ trợ khác (Mongodb, Azure, Firebase) để xây dựng phần hệ thống.
TONG QUAN VE DE TÀI 1. Dat van dé Hiện nay các nền tang, ứng dụng mua bán khoá học, học tập trực tuyến đã không còn xa lạ gì với người dùng. Trong đề tài này, chúng tôi đặt ra một bài toán xây dựng và phát triển một hệ thống học tập kết hợp việc học tập trực tuyến và học tập trực tiếp, mà ở trong đó sẽ bao gồm các đối tượng: Người học, người dạy, quản trị viên, cộng tác viên và người dùng khách. Các đối tượng này được xác định với các vai trò (role) khác nhau và tương tác với hệ thống khác nhau, tập trung vào hoạt động mua bán các khoá học trực tuyến và cung cấp các lớp học trực tiếp.
Phân tích & đánh giá hiện trạng thị trường Có hai dạng hình thức học tập trực tuyến chính đó là Learning Destination Site (LDS) một dạng mô hình mà cho phép bạn truy cập nhiều khóa học khác nhau tại cùng một nơi. Chủ yếu sẽ tập trung ở việc cung cấp bài học dạng video về nhiều chủ đề. Hình thức thứ hai đó là Learning Management System (LMS) là một hệ thống phần mềm được sử dụng dé dao tạo và học tập [1]. Điểm khác biệt lớn nhất giữa cả hai đó là LMS sẽ là một công thông tin mà giảng viên sử dụng dé phân phối thông tin cho người học, còn LDS sẽ cung cấp cho người học truy cập vào nhiều khoá học từ nhiều nguồn khác nhau, dựa theo ý chí cá nhân của người đó.
Trong đề tài này, chúng tôi sẽ phát triển một ứng dụng học tập mang nhiều thiên hướng của LDS hơn, khi mà sẽ tập trung vào việc phát triển các khoá học độc lập và đa dạng chủ đề cho người dùng tuỳ chọn, tuy nhiên ứng dụng vẫn sẽ có kết hợp một ít sự có mặt của các người dạy, quản trị viên, họ có thể tương tác với nhau thông qua khả năng tải lên file của người dạy và khả năng chat trực tiếp giữa người học và quản trị viên, người dạy. Thi trường ở nước ngoài rat sôi nôi cũng như có nhiêu sự cạnh tranh đên từ nhiêu ông lớn có thê kê đên như: Udemy, Coursera, Teachable, Khan Academy. Ở thị trường nước ngoài sôi nôi là vậy, nhưng ở trong nước, hiện tại đa sô các nên tảng học tập trực tuyến ở Việt Nam thường là nền tang web. Còn nếu nói về di động thì nền tang học tập ngoại ngữ chiếm phần lớn, từ đó dẫn đến một tiềm năng lớn cho các ứng dụng học tập có thé phát trién trong thị trường còn đang vắng vẻ này.1 Tham khảo các ứng dung hoc tập Tiếng Anh online [2] 1.
Các sản phẩm tương tự trên thị trường Như đã ké ở trên, một số nền tang học tập, mua bán khoá học phô biến hiện nay có thê ké đến là: Udemy, Coursera, Teachable, Khan Academy. Ở thị trường Việt Nam có thé ké đến hocmai.vn, Unica, Edumall, FPT Edu. Một số điểm mạnh có thé kể đến ở những nền tang này là họ có một độ dày kinh nghiệm, các cái tên này đường như đã có chỗ đứng trên thị trường nhờ vào những khoá học đã cung cấp đến tay người dùng trong suốt quá trình hoạt động của mình. Từ đó chúng tôi rút ra được các ưu và nhược điêm của thị trường như sau: Ưu điểm Nhược điểm - __ Các khoá học đa dạng về chủ - Daso tập trung hơn vào nên tảng web, đề, đối tượng hướng đến cũng ít khai thác vào nên tảng di động, dù như chất lượng các khoá học ở người dùng hiện nay có xu hướng sử dụng mức cao di động nhiều hơn máy tính rất nhiều.
- Da có chỗ đứng trong thị - — Các khoá học được thé hiện khá don trường và đi lên từ các trung tâm giản, giao diện các trang web cũng đơn dạy kèm, chuyển đổi thành các giản và không quá thân thiện với người nên tảng học trực tuyến dùng. - Co sự uy tín và lòng tin của - Cac khoá học thường tập trung vào người dùng dạy cho học sinh (phân theo độ tuổi) hoặc tập trung ở dạy ngoại ngữ, chưa có nhiều các khoá học dạy kỹ năng hay dạy các công nghệ trong mảng công nghệ thông tin.1 Ưu nhược diém của thị trường 1. Phân tích ưu điểm của việc xây dựng hệ thống học tập Ecodemy so với các sản phẩm trên thị trường. Ưu điểm của hệ thống học tập Ecodemy heo đuổi một mô hình rộng hơn đa số các sản phẩm trên thị trường, nơi mà người học có thé đa dạng về sự lựa chọn học tập trực tuyến hay trực tiếp.
Sử dụng nên tang di động dé tăng thêm khả năng tiếp cận, so với các hệ thông tập trung vào web thì hệ thống tập trung vào ứng dụng di động sẽ dễ tiếp cận với người dùng hơn ở điểm nó được tối ưu trên thiết bị di động, thứ mà gần như mọi lớp đối tượng người dùng ngày nay đều sở hữu. So với các hệ thống học tập khác thường sẽ tập trung vào một trong hai mô hình là dạy học trực tuyến hoặc dạy học trực tiếp. Giảm sự đa dạng hình thức học cho người dùng. Đối tượng & Phạm vi đề tài e Phạm vi công nghệ: - Ngôn ngữ lập trình Kotlin cho Android - _ Cơ sở dt 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.) - Thu viện thiết kế: Boxicon, Google Font - Quy tac thiét ké: Google Material Design 3 [3].
- _ Thuật toán dé xuất: Apriori. e Phạm vi chức năng: - Dang ký/mua các khóa học — Thanh toán trực tuyến - Quan lý tài khoản người học, người dạy, tư vấn viên - Quan lý tài nguyên cua các lớp hoc (bài giảng, pdf, hình ảnh.) - Hệ thống đánh giá lớp học - Tro truyện thời gian thực giữa các người dùng, người dùng với quan lý - Goi ý khoá học phù hợp với người dùng 1. Cấu trúc khoá luận Bài báo cáo của chúng tôi sẽ gồm 5 chương chính: - _ Chương 1: Tổng quan về dé tài, gồm: nhận xét về thị trường, các sản phẩm hiện có trên thị trường, phân tích đối tượng và phạm vi đề tài. - _ Chương 2: Giới thiệu về các công nghệ sử dụng, các kỹ thuật đã áp dụng trong việc xây dựng và phát triển hệ thống.
- Chương 3: Đặc tả và phân tích hệ thống, cơ sở đữ liệu, các mô hình miêu tả chỉ tiết hệ thống, luồng hoạt động của các chức năng trong ứng dụng. - _ Chương 4: Hiện thực hoá hệ thống, gồm ứng dụng Ecodemy dành cho người học, người dạy và người dùng khách, trình quản lý nội dung dành cho quản trị viên và cộng tác viên. - Chương 5: Tổng kết và kết luận, chia sẻ các thành quả đạt được và chưa đạt được, những kiến thức đã học được và hướng phát triển của đề tài. Kotlin [4] < Kotlin Hình.1 Giới thiệu về Kotlin 2.
Giới thiệu về Kotlin Kotlin là một ngôn ngữ lập trình đa năng, được sáng tạo bởi JetBrains và chính thức trình làng vào năm 2011. Kotlin được thiết kế dé tương thích hoàn toàn với Java, vận hành trên JVM (Java Virtual Machine) và có khả năng biên dịch thành mã bytecode tương thích với Java. Điểm nỗi bật của ngôn ngữ lập trình Kotlin: Phát triển ứng dụng Android: - Kotlin được Google chon là ngôn ngữ lập trình chính thức cho nền tảng phát triển ứng dụng Android. - Khuyến khích sử dung: Google khuyến khích các nhà phát triển ứng dụng Android sử dụng Kotlin.
Hỗ trợ tính năng hiện đại: - Kotlin được trang bị nhiều tính năng tiên tiến, bao gồm lập trình hàm, coroutine va lambda expressions. Cộng đồng lớn mạnh: - Kotlin sở hữu cộng đồng phát triển hùng hậu, cung cấp nguồn tài nguyên học tập và hỗ trợ phong phú. Ap dụng Kotlin vào đề tài xây dựng ứng dụng học tập Ecodemy Qua các ưu điểm đã đề cập ở trên, Kotlin là một ngôn ngữ lập trình tốt đành cho việc phát triển ứng dụng trên nền tảng Android, đồng thời Kotlin cũng hỗ trợ, hoạt động tốt với các công nghệ khác về cơ sở đữ liệu cũng như các công cụ khác mà chúng tôi sử dụng. MongoDB Atlas [5] Atlas Hình.2 Giới thiệu về MongoDB Atlas 2.
Giới thiệu về MongoDB Atlas MongoDB là một hệ thống lưu trữ dữ liệu mã nguồn mở, được thiết kế dé đáp ứng nhu cầu lưu trữ, truy xuất và quản lý dữ liệu phi cấu trúc một cách hiệu quả. Điểm nổi bật của MongoDB là khả năng lưu trữ dữ liệu dưới dạng tài liệu, mang đến sự linh hoạt và khả năng mở rộng cao cho hệ thống.