Xây Dựng Website và Ứng Dụng Mobile Dạy Học Trực Tuyến - Đồ Án Tốt Nghiệp CNTT CLC

Đồ án tốt nghiệp: Xây dựng website & app mobile dạy học trực tuyến. Giải pháp công nghệ thông tin chất lượng cao, tối ưu hóa trải nghiệm học tập từ xa.

Chuyên ngành

Công nghệ thông tin

Người đăng

Ẩn danh

Thể loại

Khóa luận tốt nghiệp
236
0
0

Phí lưu trữ

55 Point

Mục lục chi tiết

LỜI CẢM ƠN

DANH MỤC HÌNH VẼ

DANH MỤC BẢNG BIỂU

1. CHƯƠNG 1: MỞ ĐẦU

1.1. Lý do chọn đề tài

1.2. Mục tiêu đề tài

1.3. Đối tượng và phạm vi nghiên cứu

1.3.1. Đối tượng

1.3.2. Phạm vi nghiên cứu

1.4. Kết quả dự kiến đạt được

1.4.1. Phía người dùng

1.4.1.1. Phía người học
1.4.1.2. Phía người dạy

1.4.2. Phía người quản trị

2. CHƯƠNG 2: CƠ SỞ LÝ THUYẾT

2.1. Tổng quan về ASP.NET Core

2.1.1. Lịch sử phát triển

2.1.2. Một số khái niệm

2.1.3. Ưu điểm của ASP.NET Core

2.1.4. Cải tiến của ASP.NET Core

2.2. Tổng quan về Restful API

2.2.1. Restful là gì?

2.2.2. Nguyên tắc của Restful API

2.3. Cài đặt môi trường ASP

2.3.1. Giới thiệu chung về các công cụ cho ASP

2.3.2. Cài đặt ASP.NET Core SDK trên Windows

2.3.3. Cài đặt ASP.NET Core SDK với Visual Studio 2019

2.4. Tổng quan về Angular 10

2.4.1. Môi trường phát triển Angular 10

2.4.2. Kiến trúc Angular

2.4.3. Cài đặt môi trường Angular 10

2.4.3.1. Cài đặt Node trên Windows
2.4.3.2. Cài đặt Typescript và Angular

2.5. Tổng quan về React Native

2.5.1. Môi trường phát triển React Native

2.5.2. Kiến trúc React Native

2.5.3. Cài đặt môi trường React native

3. CHƯƠNG 3: KHẢO SÁT HIỆN TRẠNG VÀ XÁC ĐỊNH YÊU CẦU

3.1. Khảo sát hiện trạng

3.2. Khảo sát nhu cầu người dùng

3.3. Khảo sát phần mềm

3.4. Tổng kết sau khi khảo sát

3.5. Xác định yêu cầu

3.5.1. Bảng Requirement dành cho Usecase

3.5.2. Đặc tả Usecase

4. CHƯƠNG 4: THIẾT KẾ ỨNG DỤNG

4.1. Thiết kế dữ liệu

4.1.1. Sơ đồ thiết kế dữ liệu (Database Diagram)

4.1.2. Mô tả sơ đồ thiết kế dữ liệu

4.1.3. Các ràng buộc toàn vẹn

4.2. Thiết kế giao diện

4.2.1. SCP001 Trang chủ chưa đăng nhập

4.2.2. SCP002 Trang đăng ký

4.2.3. SCP003 Trang đăng nhập

4.2.4. SCP004 Trang chủ với quyền học viên

4.2.5. SCP005 Trang đăng ký giảng viên

4.2.6. SCP006 Trang chủ với quyền giảng viên

4.2.7. SCP007 Trang tạo khóa học

4.2.8. SCP008 Trang tạo thông tin chi tiết khóa học

4.2.9. SCP009 Trang quản lý bộ câu hỏi (Questionpool)

4.2.10. SCP010 Trang chi tiết bộ câu hỏi (Questionpool Detail Page)

4.2.11. SCP011 Trang tạo đề thi (Create Exam Page)

4.2.12. SCP012 Trang quản lý khóa học xuất bản (Manage Publish Course Page)

4.2.13. SCP013 Trang lớp học trực tuyến (Online Class)

4.2.14. SCP014 Trang danh mục khóa học (Category)

4.2.15. SCP015 Trang chi tiết giỏ hàng (Cart Detail)

4.2.16. SCP016 Trang chi tiết bài giảng khóa học (Course Detail)

4.2.17. SCP017 Trang lịch sử thanh toán (Invoice History)

4.2.18. SCP018 Trang thông tin cá nhân (Profile)

4.2.19. SCP019 Trang thông tin giảng viên (Instructor Profile)

4.2.20. SCP020 Trang khóa học đã đăng ký (My Course)

4.2.21. SCP021 Trang chủ với quyền quản trị viên

4.2.22. SCP022 Trang quản lý tài khoản người dùng

4.2.23. SCP023 Trang quản lý khóa học

4.2.24. SCP024 Trang quản lý thu nhập giảng viên

4.2.25. SCPM001 Trang đăng nhập (Login Page) (Mobile)

4.2.26. SCPM002 Trang đăng ký tài khoản (Register Page) (Mobile)

4.2.27. SCPM003 Trang chủ (Home Page) (Mobile)

4.2.28. SCPM004 Trang chi tiết khóa học (CourseDetail Page) (Mobile)

4.2.29. SCPM005 Trang tìm kiếm khóa học (Search Page) (Mobile)

4.2.30. SCPM006 Trang chi tiết khóa học tìm kiếm (Search Course Detail Page) (Mobile)

4.2.31. SCPM007 Trang danh sách khóa học đã đăng ký (My Course Page) (Mobile)

4.2.32. SCPM008 Trang nội dung khóa học (Course Content Page) (Mobile)

4.2.33. SCPM009 Trang chi tiết bài giảng (Course Content Page) (Mobile)

4.2.34. SCPM010 Trang thi (Exam Page) (Mobile)

4.2.35. SCPM011 Trang kết quả thi (Exam Result Page) (Mobile)

4.2.36. SCPM012 Trang thông tin tài khoản (Account Page) (Mobile)

5. CHƯƠNG 5: CÀI ĐẶT VÀ KIỂM THỬ ỨNG DỤNG

5.1. Cài đặt ứng dụng

5.2. Kiểm thử phần mềm

6. CHƯƠNG 6: KẾT LUẬN

6.1. Kết quả đạt được

6.2. Kiến thức tìm hiểu được

6.3. Về chương trình đã xây dựng

6.4. Hướng phát triển

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Website App Dạy Học Trực Tuyến Đồ Án Tốt Nghiệp CNTT Một Lộ Trình Phát Triển Thành Công

Trong bối cảnh toàn cầu hóa và sự bùng nổ của công nghệ, lĩnh vực giáo dục trực tuyến đã trở thành xu hướng tất yếu. Các nền tảng học tập onlinee-learning mang lại cơ hội tiếp cận tri thức không giới hạn, phá vỡ mọi rào cản về địa lý và thời gian. Điều này đặt ra một yêu cầu cấp thiết về việc phát triển các giải pháp công nghệ tiên tiến, đặc biệt trong các đồ án tốt nghiệp CNTT.

Việc xây dựng Website & App Dạy Học Trực Tuyến không chỉ là một dự án công nghệ thông thường mà còn là sự đóng góp quan trọng vào công nghệ giáo dục. Mục tiêu của một đồ án tốt nghiệp CNTT như vậy là tạo ra một hệ thống quản lý học tập (LMS) toàn diện, vận dụng các công nghệ hiện đại để mang đến trải nghiệm học tập hiệu quả. Theo tài liệu nghiên cứu, "Việc học online hay còn gọi là E-learning (Electronic Learning) là một khái niệm mới được mọi người chú ý hiện nay. E-learning là sự phân phát các nội dung học sử dụng các công cụ điện tử hiện đại như máy tính, mạng vệ tinh, mạng Internet, Intranet trong đó nội dung học có thể thu được từ các website, đĩa CD, video, audio thông qua một máy tính hay TV; người dạy và người học có thể giao tiếp với nhau qua mạng dưới các hình thức như: email, thảo luận trực tuyến (chat), diễn đàn (forum), hội thảo video." [1].

Một đồ án cuối khóa trong lĩnh vực này cần tích hợp nhiều yếu tố từ phát triển website dạy học đến lập trình app e-learning di động. Điều này đòi hỏi sự hiểu biết sâu sắc về các ngôn ngữ lập trình, frameworks và kiến trúc hệ thống, từ backend development cho đến frontend development, đảm bảo tính ổn định, bảo mật và khả năng mở rộng. Sự kết hợp giữa website dạy học trực tuyếnapp dạy học trực tuyến là chìa khóa để đáp ứng đa dạng nhu cầu của người học hiện đại, mang lại một lộ trình phát triển thành công và có ý nghĩa cho sinh viên CNTT.

1.1. Bùng Nổ E learning Cơ Hội Vàng cho Đồ Án CNTT

Sự phát triển vượt bậc của công nghệ đã thúc đẩy mạnh mẽ sự bùng nổ của e-learninggiáo dục trực tuyến. Người học ngày nay tìm kiếm sự linh hoạt, tiện lợi để tiếp cận kiến thức mọi lúc, mọi nơi, chỉ cần một thiết bị có kết nối Internet. Nhu cầu này tạo ra cơ hội lớn cho việc phát triển các nền tảng học tập online sáng tạo. Theo tài liệu nghiên cứu, "Trong thời buổi hiện đại, con người có thể tiếp cận việc học với nhiều cách học khác nhau. Trong đó, không thể không nhắc đến phương pháp học trực tuyến đang phát triển và phổ biến trên thế giới. Chỉ cần một chiếc laptop hay điện thoại có kết nối Internet, người học hoàn toàn có thể học tập bất kì nơi đâu. Đây là một cách học nhanh chóng, dễ dàng, thuận tiện và tiết kiệm." [1]. Sinh viên CNTT có thể tận dụng xu hướng này để thực hiện các đồ án cuối khóa mang tính ứng dụng cao, giải quyết các vấn đề thực tiễn trong công nghệ giáo dục, từ đó khẳng định năng lực chuyên môn và đóng góp vào sự phát triển của cộng đồng.

1.2. Mục Tiêu Đồ Án Tốt Nghiệp CNTT Về Nền Tảng Giáo Dục Trực Tuyến

Mục tiêu chính của một đồ án tốt nghiệp CNTT về website & app dạy học trực tuyến là xây dựng một hệ thống quản lý học tập (LMS) hiệu quả, đáp ứng nhu cầu của cả người học và người dạy. Tài liệu gốc khẳng định rõ: "Đề tài này thực hiện xây dựng hệ thống website dạy học, vận dụng tốt công nghệ RESTful API, Angular và React Native cho ứng dụng di động." [1]. Hệ thống này dự kiến sẽ có các tính năng cốt lõi như quản lý khóa học online, khả năng tìm kiếm và đăng ký khóa học dễ dàng, trình bày bài giảng video cùng các bài kiểm tra online để củng cố kiến thức. Hơn nữa, giao diện thân thiện (UI/UX) và thao tác nhanh gọn là yếu tố quan trọng để đảm bảo trải nghiệm người dùng tốt, giúp người học dễ dàng tiếp cận nội dung và tương tác với hệ thống một cách hiệu quả.

II. Những Thách Thức Phát Triển Website App Dạy Học Trực Tuyến Hiện Nay

Việc phát triển website dạy họclập trình app e-learning đặt ra nhiều thách thức đáng kể. Từ việc đáp ứng nhu cầu đa dạng của người dùng đến việc đảm bảo tính bảo mật và khả năng mở rộng của hệ thống. Thị trường nền tảng học tập online ngày càng cạnh tranh, với sự hiện diện của nhiều hệ thống quản lý học tập (LMS) lớn, đòi hỏi các ứng dụng giáo dục mới phải có sự khác biệt và tối ưu vượt trội.

Theo tài liệu nghiên cứu, "Ngày nay với sự ra đời của các trang web hướng dẫn tự học...các trang web thay đổi về chức năng và cả giao diện để đáp ứng nhu cầu học mọi lúc, mọi nơi của người dùng. Vì vậy, các website liên quan đến sách hiện nay phải đáp ứng được về cả giao diện đẹp, dễ thao tác và chức năng đa dạng dễ sử dụng, tiện lợi." [3]. Điều này nhấn mạnh tầm quan trọng của việc khảo sát kỹ lưỡng và xác định yêu cầu hệ thống. Các đồ án tốt nghiệp CNTT cần giải quyết các vấn đề như bảo mật hệ thống e-learning, khả năng xử lý cơ sở dữ liệu lớn, và việc tích hợp các tính năng tương tác hiệu quả. Việc vượt qua những thách thức này không chỉ nâng cao chất lượng của sản phẩm mà còn thể hiện năng lực chuyên môn của người thực hiện đồ án cuối khóa.

Một trong những khía cạnh quan trọng là việc đảm bảo hệ thống có thể hoạt động ổn định và đáp ứng được lượng người dùng lớn mà vẫn giữ được hiệu suất cao. Điều này đòi hỏi lựa chọn công nghệ phù hợp và kiến trúc hệ thống vững chắc. Ngoài ra, việc duy trì tính mới mẻ và cập nhật liên tục các tính năng theo xu hướng công nghệ giáo dục cũng là một áp lực không nhỏ đối với các nhà phát triển.

2.1. Khảo Sát Nhu Cầu Người Dùng và Phân Tích Hiện Trạng Các Nền Tảng Học Tập Online

Trước khi bắt tay vào phát triển website dạy học hay ứng dụng giáo dục, việc khảo sát nhu cầu người dùng là bước không thể thiếu. Điều này giúp định hình các tính năng và thiết kế của đồ án tốt nghiệp CNTT, đảm bảo sản phẩm cuối cùng thực sự hữu ích. Tài liệu nghiên cứu đã tiến hành khảo sát các nền tảng học tập online phổ biến như Udemy, Coursera, và SkillShare, chỉ ra rằng "người dùng có nhu cầu về trang học trực tuyến với các nội dung được phân bố rõ ràng theo hastag và level để tiện dụng trong việc theo dõi, tìm kiếm khóa học...các bài giảng có thể mở khóa 1 phần trước khi thanh toán đăng ký giúp người dùng lựa chọn khóa học phù hợp với bản thân." [3]. Bên cạnh đó, các nhược điểm về giao diện (Udemy quá nhiều chữ, Coursera quá sơ sài) và chi phí khóa học cũng được ghi nhận, cung cấp những bài học quý báu để tối ưu hóa thiết kế và mô hình kinh doanh cho dự án.

2.2. Vấn Đề Bảo Mật Hệ Thống E learning và Quản Lý Dữ Liệu Lớn

Khi xây dựng một nền tảng học tập online, bảo mật hệ thống e-learning là một trong những ưu tiên hàng đầu. Việc bảo vệ dữ liệu cá nhân của người dùng, thông tin khóa học, và các giao dịch thanh toán trực tuyến là yếu tố then chốt để xây dựng niềm tin. Hệ thống cần có khả năng chống lại các cuộc tấn công mạng và đảm bảo tính toàn vẹn của cơ sở dữ liệu. Việc quản lý cơ sở dữ liệu lớn, bao gồm thông tin về học viên, giảng viên, khóa học và lịch sử giao dịch, đòi hỏi một kiến trúc dữ liệu vững chắc và các ràng buộc toàn vẹn được thiết kế cẩn thận. Mặc dù tài liệu gốc không có chương riêng về bảo mật, các tính năng như "Quản lý tài khoản người dùng" và "Khóa tài khoản người dùng vi phạm" [1] trong quyền quản trị viên ngụ ý sự quan tâm đến an toàn và toàn vẹn hệ thống.

III. Cách Xây Dựng Website Dạy Học Trực Tuyến Mạnh Mẽ Với ASP

Việc kiến tạo một website dạy học trực tuyến hiện đại đòi hỏi sự kết hợp hài hòa giữa các công nghệ backend developmentfrontend development. Trong các đồ án tốt nghiệp CNTT về nền tảng học tập online, việc lựa chọn frameworks phù hợp là yếu tố then chốt quyết định hiệu suất và khả năng mở rộng của hệ thống. Sự kết hợp giữa ASP.NET Core cho phần backend và Angular cho phần frontend đã được chứng minh là một giải pháp mạnh mẽ.

Tài liệu nghiên cứu khẳng định, "Nhóm quyết định lựa chọn framework Angular vì phân chia theo các module và service giúp phân nhóm giao diện, chức năng theo role người dùng dễ giàng, API sử dụng ASP.NET Core vì tính dễ tiếp cận, hỗ trợ tốt với NuGet Package, MS SQLServer cho việc quản lý dữ liệu vì hỗ trợ tốt cho sử dụng cục bộ (local) và khá tốt khi host" [3]. Sự tách biệt rõ ràng giữa logic nghiệp vụ (backend) và giao diện người dùng (frontend) giúp đội ngũ phát triển làm việc hiệu quả hơn, đồng thời dễ dàng bảo trì và nâng cấp hệ thống. ASP.NET Core cung cấp một môi trường phát triển nhanh chóng, linh hoạt và đa nền tảng, trong khi Angular mang lại khả năng xây dựng giao diện người dùng động, tương tác cao, tạo nên một trải nghiệm học tập mượt mà và hấp dẫn.

Việc tích hợp các công nghệ này đòi hỏi sự hiểu biết về API tích hợp để đảm bảo giao tiếp liền mạch giữa client và server. Mục tiêu là xây dựng một website dạy học trực tuyến không chỉ có tính năng đầy đủ mà còn hoạt động ổn định, an toàn và dễ sử dụng, hỗ trợ đắc lực cho cả người học và giảng viên.

3.1. Tối Ưu Backend Với ASP.NET Core và RESTful API trong Phát Triển Website

ASP.NET Core nổi lên như một framework hàng đầu cho backend development nhờ vào các ưu điểm vượt trội về hiệu suất, tính linh hoạt và khả năng đa nền tảng. Theo tài liệu gốc, "ASP.NET Core là một framework luôn được cập nhật và hỗ trợ của Microsoft. Nó được thiết kế và cải tiến để trở nên nhanh chóng, linh hoạt và tương thích với nhiều nền tảng khác nhau với hiệu suất ngày càng được nâng cao." [2]. Việc sử dụng RESTful API là nguyên tắc kiến trúc quan trọng để kết nối các thành phần của website dạy học trực tuyến. RESTful API tuân thủ các ràng buộc như Giao diện đồng nhất, Phi trạng thái, Client-Server, Khả năng caching, và Phân lớp hệ thống, giúp tối ưu hóa việc truyền tải dữ liệu và tương tác giữa máy chủ và client. Điều này đảm bảo hệ thống backend mạnh mẽ, có khả năng mở rộng và dễ dàng tích hợp với các dịch vụ bên ngoài.

3.2. Frontend Development Hiệu Quả Cùng Angular 10 Cho Trải Nghiệm Học Tập Tốt Nhất

Để tạo ra một website dạy học với trải nghiệm người dùng tối ưu, frontend development đóng vai trò cực kỳ quan trọng. Angular 10, một framework JavaScript mã nguồn mở, là lựa chọn lý tưởng cho mục tiêu này. Tài liệu nghiên cứu mô tả Angular 10 "sử dụng TypeScript để phục vụ cho quá trình phát triển ứng dụng Angular" và có kiến trúc "module, component, template, metadata và các service được inject vào các component của module thông qua cơ chế Dependency Injection." [2]. Các khái niệm như Data Binding (Interpolation, Event Binding, Two-way binding) cho phép tạo ra giao diện động, tương tác cao. Việc thiết kế UI/UX thân thiện, dễ điều hướng với các thành phần tái sử dụng được giúp nâng cao sự hài lòng của người học và giảng viên, biến ứng dụng giáo dục trở nên hấp dẫn và hiệu quả.

3.3. Thiết Kế Cơ Sở Dữ Liệu và Quản Lý Người Dùng Cho Hệ Thống E learning

Một hệ thống e-learning mạnh mẽ phải dựa trên một cơ sở dữ liệu được thiết kế cẩn thận và hiệu quả. Việc xác định các thực thể như người dùng (học viên, giảng viên, quản trị viên), khóa học, bài giảng, bài kiểm tra, và giao dịch là cơ sở để xây dựng cấu trúc dữ liệu. Tài liệu nghiên cứu đề cập đến "Sơ đồ thiết kế dữ liệu (Database Diagram)" và "Các ràng buộc toàn vẹn" [4] để đảm bảo tính nhất quán và chính xác của dữ liệu. Hệ thống quản lý người dùng bao gồm các chức năng đăng ký, đăng nhập, phân quyền, và quản lý hồ sơ cá nhân. Điều này cho phép mỗi đối tượng tương tác với hệ thống quản lý học tập (LMS) theo đúng vai trò và quyền hạn của mình, tạo nên một môi trường học tập và giảng dạy có tổ chức và an toàn. Việc tích hợp thanh toán trực tuyến cũng cần có sự hỗ trợ vững chắc từ thiết kế cơ sở dữ liệu.

IV. Lập Trình App E learning Đa Nền Tảng Bí Quyết Với React Native

Trong kỷ nguyên di động, lập trình app e-learning trở thành yếu tố không thể thiếu để mở rộng phạm vi tiếp cận người học và mang lại trải nghiệm học tập linh hoạt. React Native, một framework mã nguồn mở được phát triển bởi Facebook, cung cấp giải pháp tối ưu cho việc xây dựng ứng dụng giáo dục đa nền tảng. Với React Native, các nhà phát triển có thể viết mã một lần bằng JavaScript và triển khai trên cả hai hệ điều hành iOS và Android, tiết kiệm đáng kể thời gian và nguồn lực.

Tài liệu nghiên cứu nhấn mạnh lợi ích của React Native: "Khả năng tái sử dụng code và các components đã được phát triển sẵn...Tiết kiệm effort khi có thể code 1 mà có thể run cho cả IOS và Android" [2]. Điều này đặc biệt quan trọng đối với các đồ án tốt nghiệp CNTT, nơi thời gian và nguồn lực thường có hạn. Một app dạy học trực tuyến được xây dựng bằng React Native không chỉ đảm bảo tính nhất quán về giao diện và trải nghiệm người dùng trên các thiết bị khác nhau mà còn tận dụng được hiệu năng của các thành phần native. Việc này giúp ứng dụng giáo dục hoạt động mượt mà, phản hồi nhanh chóng, nâng cao sự hài lòng của người dùng.

Khả năng Live and Hot reloading của React Native cũng là một ưu điểm lớn, giúp quá trình phát triển nhanh hơn và hiệu quả hơn. Mục tiêu của việc lập trình app e-learning là tạo ra một kênh học tập di động tiện lợi, bổ trợ cho website dạy học trực tuyến, hoàn thiện hệ sinh thái e-learning và đáp ứng mọi nhu cầu của người học hiện đại.

4.1. Kiến Trúc và Các Thành Phần Cốt Lõi Của Ứng Dụng Giáo Dục React Native

React Native xây dựng các ứng dụng giáo dục dựa trên một kiến trúc component mạnh mẽ. Các khái niệm cốt lõi như Components, Props, State, và Hooks là nền tảng. Theo tài liệu gốc, "Component là một block code độc lập, có thể tái sử dụng, nó chia UI thành nhiều phần nhỏ" [2]. Có hai loại Components chính: Functional (Stateless) và Class (Stateful). Props (Properties) được sử dụng để truyền dữ liệu từ component cha xuống component con và không thể thay đổi, trong khi State quản lý dữ liệu nội bộ của một component và có thể thay đổi. React Hooks, như useEffect, cung cấp khả năng quản lý trạng thái và vòng đời component trong các hàm chức năng, giúp mã nguồn trở nên gọn gàng và dễ quản lý hơn. Việc hiểu rõ các thành phần này là chìa khóa để lập trình app e-learning hiệu quả.

4.2. Thiết Kế UI UX Thân Thiện Trên App Dạy Học và Tích Hợp Tính Năng Thanh Toán Trực Tuyến

Thiết kế UI/UX đóng vai trò sống còn trong sự thành công của một app dạy học trực tuyến. Một giao diện trực quan, dễ sử dụng sẽ khuyến khích người học tương tác và gắn bó với ứng dụng giáo dục. Tài liệu nghiên cứu trình bày nhiều giao diện mẫu cho cả phiên bản web và mobile, minh họa sự chú trọng vào trải nghiệm người dùng [4]. Việc tối ưu hóa thiết kế UI/UX trên thiết bị di động bao gồm việc đảm bảo khả năng đáp ứng, điều hướng đơn giản, và các yếu tố hình ảnh hấp dẫn. Bên cạnh đó, tích hợp thanh toán trực tuyến an toàn và tiện lợi là tính năng không thể thiếu. Hệ thống cần hỗ trợ nhiều phương thức thanh toán, như đã đề cập trong tài liệu gốc: "Người dùng bấm vào nút “Pay by Account Balance” hoặc “Paypal”" [3], đồng thời đảm bảo quy trình thanh toán minh bạch và nhanh chóng, nâng cao sự hài lòng và tin cậy của người dùng.

V. Ứng Dụng Thực Tiễn và Kết Quả Đạt Được từ Đồ Án Cuối Khóa CNTT E learning

Một đồ án cuối khóa CNTT về Website & App Dạy Học Trực Tuyến không chỉ dừng lại ở lý thuyết mà phải thể hiện được khả năng ứng dụng thực tiễn mạnh mẽ. Sau quá trình phát triển tỉ mỉ, hệ thống đã đạt được những kết quả đáng kể, biến ý tưởng thành một ứng dụng giáo dục hoàn chỉnh và khả thi. Các tính năng cốt lõi được triển khai đã giải quyết trực tiếp các yêu cầu mà người dùng mong muốn từ một nền tảng học tập online hiện đại.

Hệ thống e-learning này bao gồm các chức năng quan trọng như quản lý thông tin người dùng (học viên, giảng viên, quản trị viên), quản lý khóa học, khả năng tìm kiếm và đăng ký khóa học linh hoạt. Đặc biệt, việc tích hợp bài giảng video chất lượng cao và các bài kiểm tra online với tính năng chấm điểm tự động đã tạo ra một môi trường học tập tương tác và hiệu quả. Theo mục tiêu của đề tài, "Đề tài này có thể được sử dụng cho công việc quản lý khóa học online, tìm kiếm, đăng ký khóa học, trình bày nội dung bài giảng cùng với bài kiểm tra củng cố kiến thức với giao diện đẹp mắt, dễ dàng sử dụng, thao tác nhanh gọn vì có đầy đủ các chức năng cơ bản cho phép thực hiện công việc chính xác, an toàn." [1].

Kết quả của đồ án tốt nghiệp CNTT này không chỉ là một sản phẩm phần mềm hoạt động ổn định mà còn là minh chứng cho khả năng vận dụng kiến thức lý thuyết vào thực tiễn, tạo ra giá trị thiết thực cho công nghệ giáo dục. Hệ thống cung cấp một nền tảng vững chắc cho việc tiếp tục phát triển và mở rộng trong tương lai, hướng tới một hệ thống quản lý học tập (LMS) ngày càng thông minh và tiện ích hơn.

5.1. Triển Khai Các Tính Năng Bài Giảng Video Bài Kiểm Tra Online và Tương Tác

Trong Website & App Dạy Học Trực Tuyến, việc triển khai các tính năng cốt lõi là yếu tố then chốt để tạo nên một nền tảng học tập online hấp dẫn. Hệ thống cho phép đăng tải và quản lý bài giảng video một cách dễ dàng, mang đến nội dung học tập trực quan và sinh động. Song song đó, các bài kiểm tra online được tích hợp, với khả năng chấm điểm tự động và cung cấp phản hồi ngay lập tức, giúp học viên củng cố kiến thức hiệu quả. Tài liệu gốc chi tiết các tính năng này qua các màn hình như "Trang tạo thông tin chi tiết khóa học", "Trang quản lý bộ câu hỏi (Questionpool)", "Trang tạo đề thi (Create Exam Page)" và "Trang lớp học trực tuyến (Online Class)" [4]. Ngoài ra, các cơ chế tương tác trực tuyến như bình luận, diễn đàn, và khả năng đánh giá khóa học cũng được xây dựng, khuyến khích sự tham gia tích cực của người học, tạo ra một cộng đồng học tập năng động và sôi nổi.

5.2. Đánh Giá Hiệu Quả Hệ Thống và Hướng Phát Triển Cho Luận Văn CNTT

Quá trình kiểm thử phần mềm là bước quan trọng để đánh giá hiệu quả và độ ổn định của website & app dạy học trực tuyến. Tài liệu gốc đã bao gồm "Bảng kiểm thử phần mềm" [5] để đảm bảo các chức năng hoạt động đúng như yêu cầu. Sau khi triển khai và đánh giá, đồ án tốt nghiệp CNTT này cung cấp những cơ sở vững chắc cho các hướng phát triển tiếp theo. Các mục tiêu như cá nhân hóa học tập thông qua gợi ý khóa học dựa trên hành vi người dùng hoặc tích hợp trí tuệ nhân tạo (AI) để phân tích hiệu suất học tập có thể là những định hướng tiềm năng cho các luận văn CNTT trong tương lai. Việc thu thập phản hồi từ người dùng thực tế sẽ là dữ liệu quý giá để liên tục cải tiến và nâng cấp hệ thống, đảm bảo sự phát triển bền vững.

VI. Tương Lai của Công Nghệ Giáo Dục và E learning Kết Luận và Khuyến Nghị

Sự phát triển mạnh mẽ của Website & App Dạy Học Trực Tuyến như một đồ án tốt nghiệp CNTT không chỉ là một thành tựu cá nhân mà còn là một đóng góp quan trọng vào bức tranh tổng thể của giáo dục trực tuyến. Lĩnh vực e-learning đang trên đà phát triển không ngừng, định hình lại cách thức con người tiếp cận và tiếp thu kiến thức. Công nghệ giáo dục đang mở ra những chân trời mới, nơi việc học trở nên dễ dàng, cá nhân hóa và hiệu quả hơn bao giờ hết.

Kết quả của đề tài nghiên cứu đã chứng minh tiềm năng của việc ứng dụng các công nghệ hiện đại vào việc xây dựng nền tảng học tập online toàn diện. Tuy nhiên, để duy trì sự phát triển bền vững, các hệ thống này cần liên tục đổi mới và thích nghi với xu hướng công nghệ. Tài liệu gốc cũng đề cập đến "Hướng phát triển" [6], cho thấy tầm nhìn dài hạn cho dự án. Các khuyến nghị bao gồm việc tăng cường tích hợp công nghệ AI, mở rộng tính năng tương tác, và tối ưu hóa trải nghiệm người dùng trên mọi nền tảng. Việc liên tục đầu tư vào nghiên cứu và phát triển sẽ là chìa khóa để các nền tảng học tập online giữ vững vị thế và tiếp tục mang lại giá trị to lớn cho xã hội.

Tương lai của e-learning hứa hẹn sẽ mang đến những phương pháp học tập đột phá, nơi mỗi cá nhân đều có thể phát huy tối đa tiềm năng của mình thông qua các khóa học trực tuyến được thiết kế thông minh và linh hoạt.

6.1. Hướng Tới Cá Nhân Hóa Học Tập và Ứng Dụng AI trong Hệ Thống Quản Lý Học Tập LMS

Xu hướng cá nhân hóa học tập đang định hình tương lai của giáo dục trực tuyến. Việc ứng dụng trí tuệ nhân tạo (AI) vào hệ thống quản lý học tập (LMS) sẽ là bước tiến lớn để đạt được mục tiêu này. AI có thể phân tích hành vi, sở thích và hiệu suất học tập của từng cá nhân để đề xuất các khóa học trực tuyến phù hợp, điều chỉnh lộ trình học, và cung cấp phản hồi tùy chỉnh. Điều này giúp tối ưu hóa quá trình giảng dạy từ xa, đảm bảo rằng mỗi học viên đều nhận được sự hỗ trợ cần thiết để phát triển. Mặc dù tài liệu gốc chưa đi sâu vào AI, nhưng các tính năng như theo dõi lịch sử làm bài kiểm tra và đánh giá khóa học tạo nền tảng cho việc phát triển các tính năng cá nhân hóa thông minh trong tương lai, nâng cao hiệu quả của e-learning.

6.2. Mô Hình SaaS Giáo Dục và Chiến Lược Phát Triển Bền Vững cho Giáo Dục Trực Tuyến

Để phát triển bền vững, Website & App Dạy Học Trực Tuyến cần xem xét mô hình SaaS giáo dục. Mô hình Software as a Service (SaaS) cho phép cung cấp các khóa học trực tuyến và dịch vụ trên nền tảng đám mây, với các gói thuê bao linh hoạt. Điều này giúp tối ưu chi phí vận hành và mở rộng thị trường hiệu quả. Tài liệu gốc đã đề cập đến "việc phân chia thu nhập với giảng viên hợp lý" [3], ngụ ý một mô hình kinh doanh bền vững. Các chiến lược bao gồm tối ưu hóa SEO để thu hút người dùng, xây dựng cộng đồng học tập mạnh mẽ, và liên tục cải thiện chất lượng nội dung. Bằng cách áp dụng mô hình SaaS giáo dục, các nền tảng học tập online có thể đảm bảo nguồn doanh thu ổn định, tái đầu tư vào công nghệ và nội dung, từ đó đóng góp lâu dài vào sự phát triển của giáo dục trực tuyến.

Tóm tắt và mô tả trên trang này được tạo với sự hỗ trợ của AI. Nếu bạn thấy nội dung không chính xác hoặc có vấn đề, vui lòng Báo lỗi nội dung.

27/09/2025
Xây dựng website và ứng dụng mobile dạy học trực tuyến đồ án tốt nghiệp khoa đào tạo chất lượng cao ngành công nghệ thông tin

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

MỞ ĐẦU 1. Lý do chọn đề tài Ngày nay, cuộc sống xã hội ngày càng phát triển, hiện đại và tiến bộ hơn, đòi hỏi con người phải có đầy đủ kiến thức, kỹ năng để hội nhập, giúp ích cho bản thân, gia đình và xã hội. Từ đó, vai trò của việc học luôn được đề cao và chú trọng. Việc học ngày càng quan trọng thì cách tiếp cận việc học cũng quan trọng không kém.

Nhất là trong thời buổi hiện đại, con người có thể tiếp cận việc học với nhiều cách học khác nhau. Trong đó, không thể không nhắc đến phương pháp học trực tuyến đang phát triển và phổ biến trên thế giới. Chỉ cần một chiếc laptop hay điện thoại có kết nối Internet, người học hoàn toàn có thể học tập bất kì nơi đâu. Đây là một cách học nhanh chóng, dễ dàng, thuận tiện và tiết kiệm.

Chính bởi thấy được tầm quan trọng và những ưu điểm vượt trội của phương thức học trực tuyến, nhóm em quyết định chọn đề tài xây dựng trang web dạy học online. Học online hay còn gọi là E-learning (Electronic Learning) là một khái niệm mới được mọi người chú ý hiện nay. Có khá nhiều định nghĩa về E-learning. Hay theo quan điểm hiện đại, E-learning là sự phân phát các nội dung học sử dụng các công cụ điện tử hiện đại như máy tính, mạng vệ tinh, mạng Internet, Intranet trong đó nội dung học có thể thu được từ các website, đĩa CD, video, audio thông qua một máy tính hay TV; người dạy và người học có thể giao tiếp với nhau qua mạng dưới các hình thức như: email, thảo luận trực tuyến (chat), diễn đàn (forum), hội thảo video.

Ngoài E-learning một hình thức khác của việc học online là tự học qua mạng của các học sinh, sinh viên bằng các trang web học online miễn phí. Việc học online hiện nay trở nên phổ biến và dễ dàng tiếp cận đến mọi người, không những học sinh sinh viên mà còn hướng đến những đối tượng mong muốn cập nhật kiến thức, kĩ năng [1]. Mục tiêu đề tài Đề tài này thực hiện xây dựng hệ thống website dạy học, vận dụng tốt công nghệ RESTful API, Angular và React Native cho ứng dụng di động. Đề tài này có thể được sử dụng cho công việc quản lý khóa học online, tìm kiếm, đăng ký khóa học, trình bày nội dung bài giảng cùng với bài kiểm tra củng cố kiến thức với giao diện đẹp mắt, dễ dàng sử dụng, thao tác nhanh gọn vì có đầy đủ các chức năng cơ bản cho phép thực hiện công việc chính xác, an toàn.

Khoa ĐT CLC – ĐH SPKT TP.HCM |1 Khóa Luận Tốt Nghiệp 1. Đối tượng và phạm vi nghiên cứu 1. Đối tượng Đối tượng nhóm chúng em hướng đến là những người có nhu cầu học thêm các kiến thức mới, những người muốn chia sẻ những kiến thức hay và bổ ích cho mọi người và vẫn có thể kiếm thêm thu nhập cho bản thân, dẫn đến việc hệ thống website và ứng dụng dạy học online của chúng em ra đời 1. Phạm vi nghiên cứu Ứng dụng dành cho người đi làm và sinh viên học sinh không thể tham gia các khóa học chính thức, những người luôn bận rộn với công việc hằng ngày không có thời gian ngồi ở các trung tâm đào tạo hàng giờ liên tục từ ngày này qua tháng nọ, chỉ cần một chiếc laptop hoặc điện thoại thông minh bên mình họ có thể học mọi nơi , mọi lúc bằng cách truy cập vào website dạy học online 1.

Kết quả dự kiến đạt được 1. Phía người dùng 1. Phía người học Cho phép người học đăng ký, đăng nhập vào website để: ● Xem/chỉnh sửa thông tin cá nhân ● Tìm kiếm khóa học mong muốn ● Đăng ký và tham gia khóa học ● Đăng ký trở thành giảng viên ● Xem thông tin giảng viên ● Thanh toán khóa học đăng ký ● Xem thông tin thanh toán, xuất hóa đơn ● Thực hiện và xem lịch sử hoàn thành các bài kiểm tra ôn luyện ● Đánh giá (rating) khóa học ● Bình luận góp ý khóa học 1. Phía người dạy Cho phép người dạy đăng ký, đăng nhập vào website để: ● Xem/chỉnh sửa thông tin cá nhân Khoa ĐT CLC – ĐH SPKT TP.HCM |2 Khóa Luận Tốt Nghiệp ● Quản lý khóa học ● Quản lý bộ câu hỏi và các bộ đề ôn tập kiến thức ● Đăng ký và thanh toán khóa học khác bằng tiền kiếm được nhờ bán khóa học 1.

Phía người quản trị Cho phép người quản trị đăng nhập vào website để: ● Quản lý tài khoản người dùng ● Khóa tài khoản người dùng vi phạm ● Quản lý khóa học ● Vô hiệu hóa các khóa học không đạt yêu cầu/vi phạm ● Quản lý thu nhập ● Quản lý người dạy Khoa ĐT CLC – ĐH SPKT TP.HCM |3 Khóa Luận Tốt Nghiệp CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2. Tổng quan về ASP.NET Core ASP.NET Core là một framework luôn được cập nhật và hỗ trợ của Microsoft. Nó được thiết kế và cải tiến để trở nên nhanh chóng, linh hoạt và tương thích với nhiều nền tảng khác nhau với hiệu suất ngày càng được nâng cao. Trong báo cáo này, ASP.NET Core là một framework có thể được sử dụng để phát triển web với.

Nếu bạn có kinh nghiệm làm việc với MVC hoặc Web API trong một vài năm thì bạn sẽ nhận thấy những tính năng quen thuộc cũng như rất nhiều công cụ khác được phát triển để hỗ trợ người dùng [2]. Lịch sử phát triển ASP.NET đã được tin dùng và sử dụng từ nhiều năm bởi đội ngũ kỹ thuật viên đông đảo từ khắp nơi trên thế giới như 1 lựa chọn để phát triển các ứng dụng web. Kể từ đó, framework này đã trải qua quá trình thay đổi, cập nhật, nâng cấp đều đặn và cuối cùng đã đưa chúng ta đến với ASP.0 hậu duệ mới gần đây nhất của nó.NET Core không phải là phiên bản tiếp theo của ASP.6 ● Đó là một framework hoàn toàn mới, may mắn rằng nó một dự án side-by-side tương tự với mọi thứ mà chúng ta biết. ● Nó thực ra được viết lại trên framework ASP.6 hiện tại những kích thước nhỏ hơn và nhiều modular hơn [2].

Một số khái niệm ASP.NET Core là một web framework mã nguồn và được tối ưu hóa cho cloud để phát triển các ứng dụng web chạy trên nhiều nền tảng như Windows, Linux và Mac. Hiện tại, nó bao gồm MVC framework được kết hợp các tính năng của MVC và Web API thành một web framework duy nhất. ● Các ứng dụng ASP.NET Core có thể chạy trên .NET Core hoặc trên .NET Framework hoàn chỉnh. ● Nó đã được thiết kế để cung cấp một framework tối ưu cho các ứng dụng để triển khai tới cloud hoặc chạy on-premises.

● Nó bao gồm những modular với các thành phần tối thiểu, do đó bạn giữ được tính linh hoạt trong quá trình xây dựng các giải pháp của mình. ● Bạn có thể phát triển và chạy các ứng dụng đa nền tảng từ ASP.NET Core trên Windows, Mac và Linux [2]. Khoa ĐT CLC – ĐH SPKT TP.HCM |4 Khóa Luận Tốt Nghiệp 2. Ưu điểm của ASP.NET Core ASP.NET Core đi kèm với những ưu điểm sau: ● ASP.NET Core có một số thay đổi kiến trúc dẫn đến modular framework nhỏ hơn.NET Core không còn dựa trên System.

● Nó dựa trên một tập hợp nhiều yếu tố của Nuget packages. ● Điều này cho phép bạn tối ưu ứng dụng của mình chỉ cần những NuGet packages cần thiết. ● Lợi ích của diện tích bề mặt ứng dụng nhỏ hơn thì bảo mật chặt chẽ hơn, giảm dịch vụ, cải thiện hiệu suất và giảm chi phí [2]. Cải tiến của ASP.NET Core Với ASP.NET Core, bạn có thể nhận được các cải tiến sau: ● Xây dựng và chạy các ứng dụng ASP.NET Core đa nền tảng trên Windows, Mac và Linux.

● Được xây dựng trên .NET Core, hỗ trợ side-by-side app versioning. ● Công cụ mới giúp đơn giản hóa việc phát triển web hiện đại. Liên kết đơn các web stack như Web UI và API Web. ● Cấu hình dựa trên môi trường đám mây sẵn có.

● Được xây dựng dựa trên cho DI (Dependency Injection). ● Tag Helpers làm cho các Razor makup trở nên tự nhiên hơn với HTML. ● Có khả năng host trên IIS hoặc self-host [2]. Tổng quan về Restful API 2.

Restful là gì? REST (Representational State Transfer) là một kiểu kiến trúc được định nghĩa bởi Roy Fielding. Mục đích của REST là thiết kế các ứng dụng mạng phân tán sử dụng HTTP như là một giao thức tầng ứng dụng và nó là một mô hình kiến trúc thực sự cho web. Theo cách hiểu đơn giản, REST là một loạt hướng dẫn và dạng cấu trúc dùng cho việc chuyển đổi dữ liệu. Thông thường, REST hay được dùng cho ứng dụng web, nhưng cũng có thể ứng dụng vào dữ liệu phần mềm.

Khoa ĐT CLC – ĐH SPKT TP.HCM |5 Khóa Luận Tốt Nghiệp API là viết tắt của Application Programming Interface, phương thức kết nối với các thư viện và ứng dụng khác. Windows có nhiều API, và Twitter cũng có web API, tuy chúng thực hiện các chức năng khác nhau, với mục tiêu khác nhau. Nhìn chung, RESTful API là những API đi theo cấu trúc REST. Bản thân REST không phải là một loại công nghệ, mà là phương thức tạo API với nguyên lý tổ chức nhất định.

Những nguyên lý này nhằm hướng dẫn lập trình viên tạo môi trường xử lý API request được toàn diện hơn [3]. Nguyên tắc của Restful API Như một hệ quả tất yếu của quá trình phức tạp ngày càng lớn của các dịch vụ web lớn nên RESTful đã được đưa ra như là một giải pháp để thay thế việc thực hiện triệu gọi từ xa (RPC) thông qua web. Web dựa vào tài nguyên, nhưng các dịch vụ web lớn lại không dựa vào tài nguyên. Web dựa vào URI và liên kết nhưng các dịch vụ web lớn lại không dựa vào chúng.

Web dựa vào HTTP và các tính năng của nó, nhưng các dịch vụ web hầu như không dựa vào bất kỳ tính năng nào của HTTP. Vấn đề này không phải là các dịch vụ web lớn không nhận ra mà nó cảm thấy không nhận được lợi ích gì từ dịch vụ web hướng tài nguyên. Chúng không có khả năng đánh địa chỉ, không cache, kết nối không tốt. Chúng cũng không cần giao diện đồng nhất.

Chúng không được rõ ràng, hiểu được một vấn đề không giúp mình hiểu được vấn đề tiếp theo, trong thực tế chúng cũng có vấn đề khi tương tác với nhiều khách hàng cùng một lúc. REST là một kiểu kiến trúc cho hệ thống phân tán như World Wide Web.

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