Đồ án 2: Xây dựng Ứng dụng Dạy học Trực tuyến - ĐH Công nghệ Thông tin

Báo cáo đồ án xây dựng ứng dụng dạy học trực tuyến. Tài liệu tham khảo chi tiết về phân tích yêu cầu, thiết kế hệ thống và công nghệ sử dụng.

2022

56
0
0

Phí lưu trữ

30 Point

Tóm tắt

I. Tổng quan về Đồ án Xây dựng Ứng dụng Dạy học Trực tuyến

Ứng dụng dạy học trực tuyến (E-learning) là một giải pháp công nghệ hiện đại nhằm cung cấp các khóa học đa dạng cho người dùng trên nền tảng di động. Đây là đồ án 2 được thực hiện tại Trường Đại học Công nghệ Thông tin, ĐHQG TP.HCM với mục tiêu xây dựng một hệ thống quản lý khóa học linh hoạt. Nền tảng e-learning này được thiết kế để đáp ứng nhu cầu học tập ngày càng tăng của người dùng ở các lĩnh vực như ngoại ngữ, công nghệ thông tin, thiết kế và kinh doanh. Ứng dụng không chỉ cung cấp nội dung học tập phong phú mà còn cung cấp một giao diện thân thiện giúp người dùng dễ dàng tìm kiếm, đăng ký và theo dõi khóa học. Công nghệ được sử dụng trong dự án bao gồm Codeigniter Framework cho phía backend, đảm bảo hiệu suất cao và khả năng mở rộng tốt.

1.1. Lý do chọn đề tài Ứng dụng E learning

Học trực tuyến hiện đang trở thành xu hướng mới do tốc độ phát triển internet và ảnh hưởng của đại dịch. Nhu cầu dạy học trực tuyến ngày càng tăng, nhưng người dùng gặp khó khăn trong việc chọn khóa học phù hợp. Xây dựng một ứng dụng e-learning với chatbot tư vấn giúp giải quyết vấn đề này. Ứng dụng cung cấp các khóa học đa dạng về mức độ, giá cả và thời gian, giúp người dùng tiết kiệm thời gian tìm kiếm.

1.2. Đối tượng sử dụng và Phạm vi Ứng dụng

Ứng dụng dạy học được thiết kế cho hai đối tượng chính: sinh viên, học viên muốn nâng cao kỹ năng và quản trị viên quản lý nội dung. Phạm vi triển khai là môi trường mobile với các tính năng như đăng ký khóa học, xem bài giảng video, đánh giá khóa học và tìm kiếm. Hệ thống quản trị cho phép quản lý danh mục, khóa học, thông tin chi tiết và thống kê doanh thu một cách linh hoạt và hiệu quả.

II. Cơ sở Lí thuyết và Công nghệ sử dụng

Đồ án e-learning sử dụng công nghệ tiên tiến để xây dựng một hệ thống vững chắc và hiệu suất cao. Framework Codeigniter được lựa chọn cho backend vì khả năng xử lý nhanh, dễ bảo trì và tích hợp cơ sở dữ liệu linh hoạt. Kiến trúc hệ thống được thiết kế theo mô hình MVC (Model-View-Controller), giúp phân tách logic ứng dụng một cách rõ ràng. Cơ sở dữ liệu được thiết kế tối ưu với các quan hệ giữa các bảng dữ liệu về người dùng, khóa học, bài giảng và đánh giá. Giao diện người dùng được phát triển để đảm bảo trải nghiệm mượt mà, với bố cục trực quan và dễ thao tác. Các công nghệ web hiện đại được áp dụng để tạo ra một ứng dụng responsive hoạt động tốt trên các thiết bị di động khác nhau.

2.1. Công nghệ Backend và Framework sử dụng

Codeigniter Framework là lựa chọn chính cho backend của ứng dụng e-learning. Framework này nổi bật với tốc độ xử lý nhanh, cấu trúc dễ học và dễ bảo trì. Codeigniter cung cấp các công cụ mạnh mẽ để quản lý cơ sở dữ liệu, xử lý request/response, và xây dựng API. Kiến trúc MVC của framework giúp tách biệt phần logic nghiệp vụ, giao diện, và dữ liệu, tạo thuận lợi cho quá trình phát triển và bảo trì ứng dụng.

2.2. Thiết kế Cơ sở dữ liệu và Kiến trúc Hệ thống

Cơ sở dữ liệu được thiết kế với các quan hệ bảng liên quan đến người dùng, khóa học, bài giảng video, đánh giá và thanh toán. Kiến trúc hệ thống theo mô hình client-server với giao diện desktop/mobile giao tiếp với backend server. Thiết kế giao diện tập trung vào tính thân thiện người dùng, với các menu và danh mục được bố trí hợp lý, giúp người dùng dễ dàng tìm kiếmđăng ký khóa học.

III. Chức năng Chính của Ứng dụng E learning

Ứng dụng dạy học trực tuyến cung cấp các chức năng toàn diện cho cả người dùng thường và quản trị viên. Đối với khách hàng, ứng dụng cho phép xem thông tin khóa học mới nhất, đăng ký khóa học, xem bài giảng video, đánh giábình luận. Các khóa học được phân loại theo danh mục, mức độ, thời gian và giá cả để giúp người dùng dễ dàng tìm kiếm. Ứng dụng hỗ trợ tìm kiếm khóa học nâng cao với các bộ lọc chi tiết. Người dùng có thể thêm khóa học vào danh sách yêu thích để lưu trữ những khóa học quan tâm. Đối với quản trị viên, ứng dụng cung cấp dashboard quản lý toàn diện để quản lý thông tin trung tâm, khóa học, người dùng, và thống kê doanh thu một cách hiệu quả.

3.1. Các tính năng dành cho Học viên

Chức năng người dùng bao gồm đăng ký tài khoảnđăng nhập để truy cập ứng dụng. Học viên có thể duyệt danh sách khóa học được phân loại theo danh mụcmức độ khó. Tính năng tìm kiếm nâng cao cho phép tìm kiếm theo từ khóa, giá cả và thời lượng. Người dùng có thể xem thông tin chi tiết khóa học, xem video bài giảng, nộp bài tậpxem điểm số. Tính năng yêu thích giúp lưu lại những khóa học quan tâm.

3.2. Các tính năng dành cho Quản trị viên

Quản trị viên có quyền truy cập dashboard quản lý để quản lý toàn bộ hệ thống. Chức năng quản lý khóa học cho phép tạo, chỉnh sửa, xóa khóa học và quản lý bài giảng video. Quản lý danh mục cho phép tạo và tổ chức các danh mục khóa học. Chức năng thống kê cung cấp báo cáo doanh thu, số lượng học viêntỷ lệ hoàn thành khóa học. Quản lý người dùng cho phép xem, chỉnh sửa thông tin học viên.

IV. Kết quả Hạn chế và Hướng phát triển Ứng dụng

Đồ án xây dựng ứng dụng e-learning đã đạt được những kết quả nổi bật trong việc tạo ra một hệ thống học trực tuyến hoàn chỉnh và thực tiễn cao. Ứng dụng đã cung cấp các chức năng cơ bản để đáp ứng nhu cầu học viênquản lý khóa học hiệu quả. Giao diện được thiết kế thân thiện người dùng với bố cục trực quan giúp tăng trải nghiệm sử dụng. Tuy nhiên, ứng dụng vẫn còn một số hạn chế như chưa tích hợp thanh toán trực tuyến, chưa có chức năng video streaming tối ưu, và chưa hỗ trợ tiếng Anh đầy đủ. Hướng phát triển trong tương lai bao gồm tích hợp các cổng thanh toán như Stripe hoặc Momo, tối ưu video streaming, thêm tính năng gamification, hỗ trợ đa ngôn ngữ, và phát triển ứng dụng native cho iOS và Android.

4.1. Kết quả đạt được từ Đồ án E learning

Đồ án e-learning đã thành công trong việc xây dựng một ứng dụng đầy đủ chức năng để quản lý và cung cấp khóa học trực tuyến. Hệ thống quản trị hoạt động hiệu quả, cho phép quản lý khóa họcthống kê doanh thu dễ dàng. Giao diện ứng dụng được thiết kế đẹp mắtdễ sử dụng với bố cục hợp lý. Chức năng tìm kiếm và lọc hoạt động tốt, giúp người dùng tìm kiếm khóa học phù hợp nhanh chóng.

4.2. Hạn chế và Hướng phát triển trong Tương lai

Hạn chế hiện tại bao gồm chưa tích hợp thanh toán trực tuyến, chưa tối ưu video streaming cho tốc độ cao, và chưa có hỗ trợ đa ngôn ngữ. Hướng phát triển tương lai sẽ tập trung vào tích hợp các cổng thanh toán, nâng cấp hệ thống video, thêm tính năng AI chatbot tư vấn khóa học, phát triển ứng dụng native, và mở rộng thị trường sang các nước khác.

28/12/2025

Trích đoạn nội dung tài liệu

CHƯƠNG 1: GIỚI THIỆU CHUNG 1.1 Tổng quan đề tài Tên đồ án: Ứng dụng dạy học trực tuyến Chủ đề chính: Dạy học trực tuyến trên di động Mô hình phát triển: MVC Nền tảng phát triển: Mobile & Web 1.2 Lý do chọn đề tài Học trực tuyến hiện đang trở thành xu hướng mới hiện nay vì tốc độ phát triển internet, tính tiện dụng và do ảnh hưởng của đại dịch. Nhu cầu học trực tuyến của mọi người ngày càng tăng ở rất nhiều lĩnh vực khác nhau như ngoại ngữ, công nghệ thông tin, thiết kế, kinh doanh… Các trung tâm, tổ chức giáo dục hiểu được điều đó mà đã tạo ra rất nhiều loại khóa học trực tuyến đa dạng về mức độ, giá cả và thời gian. Vì vậy nên người dùng khi muốn chọn cho mình khóa học phù hợp nhu cầu, trình độ cũng như giá cả vừa phải với ví tiền hay thời lượng học hợp lý thường sẽ phải mất nhiều thời gian để suy nghĩ, cân nhắc, và tìm hiểu. Để giải quyết cho vấn đề đó thì một ứng dụng học trực tuyến sẽ là sự lựa chọn tuyệt vời.3 Đối tượng sử dụng Người có nhu cầu học các khóa học trực tuyến trên thiết bị di động.

Quản trị viên 1.4 Phạm vi nghiên cứu Phạm vi môi trường: Mobile, Web 11 Phạm vi chức năng: - Đề tài tập trung xây dựng trên cả nền tảng mobile và web với các chức năng chính: • Khóa học: Xem thông tin chi tiết, thêm vào danh sách yêu thích, tìm kiếm, lọc theo danh mục, đăng ký, xem bài giảng, đánh giá khóa học • Thông báo: nhận được thông báo ghi lại tên khóa học và thời điểm mỗi khi đăng ký khóa học thành công. • Thanh toán: Nhập và chỉnh sửa thông tin thanh toán • Profile: Chỉnh sửa thông tin cá nhân • Admin Panel: Quản lý khóa học, quản lý danh mục, quản lý bài giảng, thống kê doanh thu, quản lý người dùng, xem lịch sử đăng ký khóa học Các ứng dụng tương tự: Udemy: Figure 1 Udemy Hiện nay, Udemy là một trong số những nền tảng học trực tuyến đồ sộ nhất thế giới, từ số lượng khóa học, học viên đến số ngôn ngữ được hỗ trợ (có khá nhiều khóa học tiếng Việt trên nền tảng này). 12 Udemy không chỉ nhắm đến đối tượng học viên, mà còn là để chỉ những giảng viên tạo ra các khóa học. Không giống với đa số các nền tảng học online tập trung vào những khóa học do các trường đại học lập nên, Udemy có tính mở, hướng đến việc cung cấp kiến thức và kinh nghiệm thực tiễn.

Coursera: Figure 2 Coursera Coursera là một nền tảng chuyên cung cấp các khóa học online, hay còn được gọi với các tên MOOCs – Khóa học trực tuyến mở. Các khóa học trực tuyến này đến từ các trường đại học hàng đầu trên thế giới là đối tác của Cousera, bao gồm Stanford, Duke, Penn, Princeton, Michigan, Peking,… Ngôn ngữ học khá đa dạng, đa phần là tiếng Anh. Các khóa học trên Coursera bao gồm nhiều chuyên ngành, có phí hoặc miễn phí. 13 CHƯƠNG 2: CƠ SỞ LÍ THUYẾT 2.1 Công nghệ sử dụng 2.

Backend: Codeigniter Framework Codeigniter là 1 framework viết bằng ngôn ngữ lập trình PHP dựa trên mô hình MVC. Nó cho phép các nhà phát triển xây dựng các ứng dụng web nhanh hơn bằng cách cung cấp những thư viện đầy đủ cho các tác vụ thông thường. Codeigniter là một trong các nền tảng thiết kế web theo mã nguồn mở được ưa chuộng hiện nay, bên cạnh Laravel, Drupal, Magento,… Nền tảng này được sử dụng chủ yếu để xây dựng các loại ứng dụng web động có tương tác với ngôn ngữ PHP. Phiên bản đầu tiên của Codeigniter được phát hành ngày 28/02/2006.

Tính đến thời điểm hiện tại thì Codeigniter đang được phát triển bởi ExpressionEngine Development Team thuộc EllisLab, Inc. Frontend Figure 4 Bootstrap Bootstrap là một framework bao gồm các HTML, CSS và JavaScript template dùng để phát triển website chuẩn responsive. Bootstrap là một bộ sưu tập miễn phí của các mã nguồn mở và công cụ dùng để tạo ra một mẫu webiste hoàn chỉnh. Với các thuộc tính về giao diện được quy định sẵn như kích thước, màu sắc, độ cao, độ rộng…, các designer có thể sáng tạo nhiều sản phẩm mới mẻ nhưng vẫn tiết kiệm thời gian khi làm việc với framework này trong quá trình thiết kế giao diện website.

PHP Figure 5 PHP PHP là viết tắt của Hypertext Preprocessor. PHP là một ngôn ngữ kịch bản mã nguồn mở, thông dịch và hướng đối tượng, được thực hiện ở phía máy chủ. Đối với dự án di động, PHP được sử dụng để viết các Web API nhằm mục đích giao tiếp với server database MySQL. API là viết tắt của Application Programming Interface – giao diện lập trình ứng dụng.

API cung cấp khả năng cung cấp khả năng truy xuất đến một tập các hàm hay dùng. Và từ đó có thể trao đổi dữ liệu giữa các ứng dụng. Web API là một phương thức dùng để cho phép các ứng dụng khác nhau có thể giao tiếp, trao đổi dữ liệu qua lại. Dữ liệu được Web API trả lại thường ở dạng JSON hoặc XML thông qua giao thức HTTP hoặc HTTPS.

MySQL 16 Figure 6 MySql SQL (Structured Query Language) Ngôn ngữ truy vấn có cấu trúc: là ngôn ngữ theo chuẩn ANSI để định nghĩa và xử lý dữ liệu trong một cơ sở dữ liệu quan hệ. Các phát biểu SQL dùng để truy tìm và cập nhật dữ liệu trong một cơ sở dữ liệu. MySQL là cơ sở dữ liệu tốc độ cao, ổn định hoạt động trên nhiều hệ điều hành, cung cấp một hệ thống lớn các hàm tiện ích rất mạnh. Hệ quản trị cơ sở dữ liệu MySQL được hiểu như là chương trình dùng để quản lý hệ thống cơ sở dữ liệu, trong đó, cơ sở dữ liệu là một hệ thống lưu trữ thông tin được sắp xếp rõ ràng, phân lớp ngăn nắp.

Nó giúp bạn có thể truy cập dữ liệu một cách thuận lợi và nhanh chóng nhất. Vì hỗ trợ đa số các ngôn ngữ lập trình nên MySQL chính là hệ quản trị cơ sở dữ liệu tự do nguồn mở phổ biến nhất trên thế giới. Hiện MySQL đang được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng. Github 17 Figure 7 Github GitHub là một hệ thống quản lý dự án và phiên bản code, hoạt động giống như một mạng xã hội cho lập trình viên.

Các lập trình viên có thể clone lại mã nguồn từ một repository và Github chính là một dịch vụ máy chủ repository công cộng, mỗi người có thể tạo tài khoản trên đó để tạo ra các kho chứa của riêng mình để có thể làm việc. Github có đầy đủ những tính năng của Git, ngoài ra nó còn bổ sung những tính năng về social để các developer tương tác với nhau. Github cung cấp các tính năng social networking như feeds, followers, và network graph để các developer học hỏi kinh nghiệm của nhau thông qua lịch sử commit. Flutter Figure 8 Flutter 18 Flutter là mobile UI framework của Google để tạo ra các giao diện chất lượng cao trên iOS và Android trong khoảng thời gian ngắn.

Flutter hoạt động với những code sẵn có được sử dụng bởi các lập trình viên, các tổ chức. Flutter hoàn toàn miễn phí và cũng là mã nguồn mở. Các ứng dụng được xây dựng với Flutter hầu như không thể phân biệt với những ứng dụng được xây dựng bằng cách sử dụng Android SDK, cả về giao diện và hiệu suất. Hơn nữa, với những tinh chỉnh nhỏ, chúng có thể chạy trên thiết bị iOS.

Chạy ở 60 fps, giao diện người dùng được tạo ra với Flutter thực thi tốt hơn nhiều so với những ứng dụng được tạo ra với các framework phát triển đa nền tảng khác chẳng hạn như React Native và Ionic. Một số lí do khiến bạn có thể hứng thú với Flutter : Flutter sử dụng Dart, một ngôn ngữ nhanh, hướng đối tượng với nhiều tính năng hữu ích như mixin, generic, isolate, và static type. Flutter có các thành phần UI của riêng nó, cùng với một cơ chế để kết xuất chúng trên nền tảng Android và iOS. Hầu hết các thành phần giao diện người dùng, đều sẵn dùng, phù hợp với các nguyên tắc của Material Design.

Các ứng dụng Flutter có thể được phát triển bằng cách4 sử dụng IntelliJ IDEA, một IDE rất giống với Android Studio. Getx Figure 9 GetX GetX trong Flutter là một thư viện rất tiện ích và được dùng rất nhiều trong lập trình Flutter. GetX cung cấp các giải pháp mạnh mẽ và tiện lợi như : quản lý state có performance cao, dependency injection thông minh, quản lý route nhanh và hiệu quả. REST API Figure 10 REST API in action REST API (còn được biết với tên gọi RESTful API) là một giao diện lập trình ứng dụng (API) tuân thủ các ràng buộc và quy ước kiến trúc REST được sử dụng trong việc giao tiếp giữa client và server.

REST là viết tắt của REpresentational State Transfer, nó được tạo ra bởi nhà khoa học máy tính Roy Fielding. Figure 11 REST API WORKFLOW 21 REST (REpresentational State Transfer) là một đại diện cho sự chuyển đổi dữ liệu. Trong kiến trúc này client và server hoàn toàn độc lập, chúng không biết gì về nhau. Mỗi một request REST API đều không mang theo trạng thái trước đó (stateless).

Như vậy để đôi bên trao đổi state, chúng sẽ phải thông qua các resources. Các resource này chính là phần đại diện cho sự thay đổi dữ liệu. API (Application Programming Interface) là giao diện lập trình ứng dụng. Giao diện này không dành cho người dùng cuối mà dành cho các nhà phát triển (developer).

22 CHƯƠNG 3 : THIẾT KẾ HỆ THỐNG 3.1 Phân tích yêu cầu hệ thống 3.1 Phân tích yêu cầu chức năng Yêu cầu lưu trữ Tính năng lưu trữ là một trong những tính năng rất quan trọng của hệ thống, ảnh hưởng trực tiếp đến các chức năng trong hệ thống. Để hệ thống hoạt động tốt và đạt yêu cầu, ta cần lưu trữ các thông tin như sau: - Thông tin chi tiết khóa học: Tên, mô tả, video url, đánh giá… - Thông tin danh mục: Tên, mô tả… - Thông tin bài giảng: Tên, mô tả, video url… - Thông tin cá nhân: Các thông tin cơ bản về tên, mô tả, hình ảnh, wishlist… - Thông tin thanh toán: Họ tên, mã số thẻ… Yêu cầu về tính năng - Ứng dụng được viết trên Flutter có thể chạy trên đa nền tảng (Android, iOS), có khả năng truy cập ở tất cả mọi vị trí, thời điểm có kết nối internet. Một vài yêu cầu mà hệ thống cần đáp ứng: - Bảo mật: Ứng dụng cung cấp khả năng bảo mật cơ bản của một mạng xã hội.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ