M ục tiêu của đề tài
Mục tiêu của đề tài là phát triển một ứng dụng học trực tuyến dựa trên bộ mã nguồn mở, với các tiêu chí chi phí phát triển thấp, thời gian triển khai nhanh, và tính thân thiện với người dùng Việt Nam Ứng dụng sẽ bao gồm nhiều tính năng hữu ích và có khả năng áp dụng cho nhiều mục đích khác nhau.
Nhi ệ m v ụ c ủa đề tài
Nhiệm vụ về mặt lý thuyết:
Hiểu khái niệm về mã nguồn mở
Hiểu các nội dung liên quan đến mã nguồn mở
Hiểu một số hệ thống mã nguồn mở hỗ trợ học trực tuyến
Nhiệm vụ về mặt thực nghiệm:
Cài đặt được chương trình
Chạy được chương trình trên VPS
Thêm một vài chức năng cho hệ thống được triển khai
Đối tượng hướng đến của đề tài
Đề tài “Tìm hiểu một số hệ thống nguồn mở hỗ trợ học trực tuyến và triển khai thử nghiệm” hướng đến đối tượng là các trường học vừa và nhỏ có nhu cầu đào tạo học viên, học sinh, sinh viên qua hình thức trực tuyến Bên cạnh đó, đề tài cũng phục vụ cho các website học trực tuyến mong muốn phát triển thêm tính năng hỗ trợ học tập Cuối cùng, đối tượng còn lại là các doanh nghiệp vừa và nhỏ hoặc doanh nghiệp khởi nghiệp cần triển khai hệ thống mã nguồn mở để đào tạo nhân viên từ xa.
Tóm gọn lại, ba đối tượng chính mà đề tài hướng đến là:
Trường học vừa và nhỏ
Doanh nghiệp vừa và nhỏ
Bố cục đề tài
Bố cục đềtài với các nội dung chính được sắp xếp như sau:
Chương 1: Giới thiệu về mã nguồn mở
Chương 2: Tìm hiểu một số hệ thống mã nguồn mở hỗ trợ học trực tuyến Chương 3: Cài đặt và triển khai thử nghiệm
GIỚI THIỆU VỀ MÃ NGUỒN MỞ
Khái niệm về mã nguồn mở
Mã nguồn mở là phần mềm cho phép người dùng tải về, chỉnh sửa và nâng cấp mã nguồn (source code) để phù hợp với nhu cầu sử dụng của họ Thông thường, các mã nguồn này được phát hành miễn phí và thuộc quyền sở hữu của các công ty lớn trong lĩnh vực công nghệ Ngoài ra, các lập trình viên cũng có thể phát triển và cung cấp các phiên bản mã nguồn mở với những tính năng độc đáo khác biệt so với phiên bản gốc.
Mã nguồn là phần mềm mà người dùng máy tính thường không thấy, nhưng đối với lập trình viên, việc truy cập và chỉnh sửa mã nguồn để cải thiện tính năng hay khắc phục lỗi là rất dễ dàng và chính xác.
Lợi ích của việc sử dụng mã nguồn mở
Mã nguồn mở ngày càng được ưa chuộng trong thiết kế website và ứng dụng phần mềm hiện nay Một số lý do khiến người dùng lựa chọn mã nguồn mở bao gồm tính linh hoạt, khả năng tùy chỉnh cao, cộng đồng hỗ trợ mạnh mẽ, và chi phí thấp.
Mã nguồn mở được các chuyên gia ưa chuộng nhờ khả năng quản trị và điều khiển sản phẩm hiệu quả, cho phép họ cấp quyền cho các bên hoạt động hoặc ngừng hoạt động Mặc dù người sử dụng mã nguồn mở không nhiều, nhưng họ vẫn nhận được nhiều lợi ích từ việc sử dụng công nghệ này.
Khả năng sáng tạo không giới hạn trong lĩnh vực phát triển phần mềm được thúc đẩy bởi thiết kế mở, cho phép nhiều người tham gia nghiên cứu và thử nghiệm cải tiến Điều này không chỉ tạo ra các phần mềm tốt hơn với những tính năng hoàn hảo hơn mà còn mang đến cơ hội sáng tạo vô hạn cho các lập trình viên Thách thức này đồng thời cũng kích thích niềm đam mê sáng tạo trong nhiều năm qua.
Mặc dù là phần mềm mã nguồn mở, nhưng độ an ninh và bảo mật của nó lại rất cao, thậm chí có thể vượt trội hơn so với các phần mềm độc quyền Điều này được giải thích bởi sự tham gia của nhiều lập trình viên, cho phép họ cập nhật, nâng cấp và sửa chữa phần mềm nhanh chóng mà không cần xin phép từ tác giả gốc Khi nhiều người cùng chăm sóc một sản phẩm, nó sẽ trở nên hoàn thiện và bảo mật hơn so với các sản phẩm khác.
Mã nguồn mở được ưa chuộng bởi khả năng ổn định và hỗ trợ lâu dài cho các dự án quan trọng của doanh nghiệp Khi doanh nghiệp cần mở rộng và cải thiện chức năng website sau nhiều năm hoạt động, đội ngũ lập trình viên có thể dễ dàng điều chỉnh mã nguồn mở để đáp ứng nhu cầu một cách nhanh chóng, trong khi việc thay đổi mã nguồn bản quyền thường tốn nhiều thời gian hơn.
Các loạ i gi ấy phép về mã nguồ n m ở
Phần mềm sử dụng phi thương mại cho phép người dùng tự do sử dụng và phân phối lại, đặc biệt là cho các tổ chức phi lợi nhuận Tuy nhiên, các tổ chức kinh tế như doanh nghiệp cần phải mua bản quyền để sử dụng Một ví dụ điển hình cho loại phần mềm này là Netscape Navigator.
Thư viện phần mềm không phải trả phần trăm (Royalties Free
Thư viện phần mềm là những phần mềm mà mã nhị phân và mã nguồn được cung cấp và phân phối miễn phí, tuy nhiên người dùng không có quyền sửa đổi chúng Ví dụ điển hình bao gồm các thư viện lớp học và các tệp “header”.
Phần mềm mã nguồn mở kiểu BSD được phát triển bởi một nhóm nhỏ khép kín theo giấy phép phân phối Berkely (BSD), cho phép người dùng sử dụng và phân phối lại dưới dạng mã nhị phân và mã nguồn Mặc dù người dùng có quyền sửa đổi mã, nhưng nhóm phát triển không cho phép họ tự do lấy mã nguồn từ kho mã để sửa đổi và đưa mã đã sửa vào lại kho mà không qua kiểm tra trước.
Mã nguồn mở kiểu Apache cho phép sử dụng mã nguồn mở theo kiểu BSD, đồng thời cho phép các lập trình viên bên ngoài nhóm phát triển can thiệp vào lõi của mã nền Điều này tạo điều kiện thuận lợi cho sự phát triển và cải tiến liên tục của phần mềm.
Mã nguồn mở kiểu CopyLeft hay kiểu Linux (Open Source CopyLeft, Linux-style): PMNM kiểu CopyLeft (trò chơi chữ của Free Software
Giấy phép GPL (General Public Licence) là một bước tiến quan trọng trong việc tự do hóa phần mềm, yêu cầu không chỉ mã nguồn gốc mà cả các sản phẩm dẫn xuất phải tuân thủ quy định của GPL Điều này mang lại cho người dùng quyền sao chép, sửa đổi và mua bán các phần mềm nguồn mở (PMNM) dưới CopyLeft, cũng như quyền tự do tương tự đối với các phần mềm dẫn xuất Tóm lại, nếu PMNM gốc tuân theo CopyLeft, thì mọi sản phẩm dẫn xuất của nó cũng sẽ tự động theo CopyLeft.
Giới thiệu các mã nguồn mở phổ biến
Hiện nay, mã nguồn mở ngày càng được ưa chuộng, dẫn đến sự gia tăng số lượng và chất lượng của chúng Dưới đây là danh sách các mã nguồn mở phổ biến nhất, được đánh giá cao bởi cộng đồng.
1.4.1 Mã nguồn mở thiết kế website
Hiện nay, thiết kế website trở nên dễ dàng và nhanh chóng hơn nhờ vào các mã nguồn mở Dưới đây là danh sách những mã nguồn mở phổ biến hỗ trợ trong việc thiết kế website.
WordPress là một mã nguồn mở và là hệ thống quản lý nội dung (CMS) mạnh mẽ nhất hiện nay Nhiều website trong các lĩnh vực khác nhau đang sử dụng WordPress để phát triển và hoạt động hiệu quả.
Joomla là một trong những mã nguồn mở phổ biến hiện nay, nổi bật với cấu hình mạnh mẽ và khả năng tương thích cao Nó cho phép mở rộng và phát triển thêm nhiều tính năng ưu việt, đáp ứng nhu cầu đa dạng của người dùng.
Drupal is a robust content management system developed using PHP, compatible with various databases including MySQL, PostgreSQL, SQLite, Microsoft SQL Server, MongoDB, and MariaDB, making it an excellent choice for a wide range of websites today.
Magento, OpenCart và WooCommerce là ba phần mềm mã nguồn mở nổi bật, mang lại nhiều ưu điểm cho các website thương mại điện tử Chúng hỗ trợ mạnh mẽ các chức năng như bán hàng, thanh toán và giỏ hàng Do đó, nhiều doanh nghiệp lựa chọn những nền tảng này để thiết kế website thương mại điện tử, xem đây là giải pháp tối ưu cho hoạt động kinh doanh trực tuyến của họ.
B2evolution, ra đời vào năm 2003, nổi bật với khả năng hỗ trợ nhiều blog, admin và người dùng chỉ với một lần cài đặt duy nhất, đặc biệt nhờ tính năng multi-blog Phần mềm mã nguồn mở này được xây dựng trên nền tảng PHP và MySQL, hoạt động hiệu quả và linh hoạt cho người dùng.
Trước khi khám phá các mã nguồn mở ERP, chúng ta cần hiểu ERP (Hệ thống Hoạch định Tài nguyên Doanh nghiệp) là gì ERP là một mô hình công nghệ tích hợp nhiều ứng dụng thành các module trong một phần mềm duy nhất, giúp tự động hóa toàn bộ quy trình liên quan đến tài nguyên doanh nghiệp Mục tiêu của phần mềm ERP là xây dựng một hệ thống dữ liệu tự động, hợp nhất và xuyên suốt giữa các phòng ban như quản lý mua hàng, sản xuất và nhân sự Dưới đây là danh sách các mã nguồn mở ERP phổ biến.
Phần mềm ERP ADempiere là một giải pháp đa nền tảng toàn diện, được phát triển từ dự án Compiere vào năm 2006 ADempiere cung cấp nhiều tính năng quan trọng như quản lý bán hàng, mua hàng, kế toán, sản xuất, quản lý vật liệu và tài chính Ngoài ra, phần mềm còn hỗ trợ quản lý CRM, nhân sự và tính lương, giúp doanh nghiệp tối ưu hóa quy trình quản lý Người dùng có thể dễ dàng tải phần mềm này từ Sourceforge.
Apache OFBiz, short for Apache Open for Business, is an enterprise service package provided by the Apache Foundation It is released under the Apache 2.0 license, allowing users to download it from the Apache website.
Bộ phần mềm xTuple, ra đời từ năm 2001, là giải pháp ERP nguồn mở hàng đầu thế giới, tích hợp nhiều chức năng quan trọng như thương mại điện tử, quản lý danh mục sản phẩm, xúc tiến và quản lý giá cả, quản lý đơn hàng, quản lý kho, kế toán, quản lý sản xuất và các tính năng PoS.
xTuple, được ra mắt vào năm 2000, cung cấp phiên bản mã nguồn mở miễn phí mang tên PostBooks, có thể tải xuống từ Sourceforge Ngoài ra, xTuple cũng cung cấp phiên bản bản quyền trên nền tảng đám mây, phục vụ cho các công ty vừa và nhỏ Đối với các tổ chức lớn hơn, xTuple cung cấp ba phiên bản thương mại: một cho nhà phân phối, một cho nhà sản xuất và một phiên bản doanh nghiệp dùng chung Phần mềm xTuple tích hợp nhiều chức năng như kế toán, bán hàng, CRM, mua sắm, định nghĩa sản phẩm, kiểm kê và phân phối, sản xuất Giấy phép thương mại cho phiên bản PostBooks có giá 1.200 đô la cho mỗi người dùng vĩnh viễn, hoặc 400 đô la mỗi người dùng mỗi năm, với chi phí tăng thêm 100 đô la mỗi tháng nếu sử dụng dịch vụ, cùng 30 đô la cho mỗi người dùng hàng tháng.
Odoo, trước đây được biết đến với tên gọi OpenERP, là một bộ phần mềm ERP mã nguồn mở được phát triển bằng Python, JavaScript và PostgreSQL Sản phẩm này phục vụ cho các doanh nghiệp thuộc mọi quy mô, bao gồm cả những tên tuổi lớn như Danone.
Canonical, Singer và Bưu chính Pháp La Poste đã phát triển bộ phần mềm Odoo, được chia thành nhiều ứng dụng và mô-đun riêng biệt như thanh toán, kế toán, sản xuất, mua bán, quản lý kho và quản lý dự án Phiên bản cộng đồng của Odoo có thể tải miễn phí và bao gồm tất cả các mô-đun ERP như CRM và tiếp thị Phiên bản được lưu trữ miễn phí cho hai người dùng đầu tiên, sau đó tính phí 12 Euro (15 đô la Mỹ) mỗi tháng cho mỗi người dùng và mỗi ứng dụng, kèm theo hỗ trợ qua email Ngoài ra, gói toàn diện hơn cung cấp hỗ trợ tùy chỉnh và tài liệu đào tạo với mức phí 111 Euro (138 đô la Mỹ) mỗi tháng cho mỗi người dùng và mỗi ứng dụng.
Openbravo là một hệ thống ERP mã nguồn mở được phát triển bằng Java, có sẵn để tải về trên Sourceforge, nhằm phục vụ cho các doanh nghiệp vừa và nhỏ Hệ thống này bao gồm nhiều mô đun như tài chính và kế toán, quản lý mua hàng, quản lý bán hàng, quản lý hàng tồn kho, quản lý dự án, PoS và thông tin kinh doanh Ngoài ra, Openbravo còn cung cấp hai phiên bản thương mại: phiên bản chuyên nghiệp dành cho các công ty nhỏ với tối đa 5 người dùng đồng thời và phiên bản doanh nghiệp cho các công ty lớn với số lượng người dùng lớn hơn.
TÌM HIỂ U M Ộ T S Ố H Ệ TH ỐNG MÃ NGUỒ N M Ở H Ỗ TR Ợ
Jitsi Meet
2.1.1 Giới thiệu về Jitsi Meet
Jitsi Meet là ứng dụng WebRTC mã nguồn mở, sử dụng Jitsi Videobridge để cung cấp hội nghị video chất lượng cao và có khả năng mở rộng Đây là giải pháp hội nghị trực tuyến hoàn toàn miễn phí, cho phép người dùng bắt đầu cuộc họp mà không cần tài khoản.
Jitsi Meet ngoài là ứng dụng mã nguồn mở hoàn toàn miễn phí thì Jitsi Meet còn có những đặc điểm nổi bật như sau:
Số lượng người tham gia trong cùng một phòng lên tới 50 người trong cùng một thời điểm
Người tham gia có thể chia sẻ màn hình của chính họ
Có thể điều khiển desktop của người tham gia
Tích hợp (Google, Microsoft, Slack)
Jitsi Meet là một dự án con của Jitsi, thuộc sở hữu của 8x8 Jitsi cung cấp mã nguồn mở miễn phí cho các ứng dụng hội nghị trực tuyến và nhắn tin đa nền tảng, hỗ trợ trên web, Windows, Linux, iOS và Android.
WebRTC là một bộ API bằng JavaScript cho phép giao tiếp thời gian thực mà không cần cài đặt plugin hay phần mềm hỗ trợ Công nghệ này hỗ trợ trình duyệt thực hiện các cuộc gọi video, cuộc gọi thoại và truyền dữ liệu P2P (peer-to-peer) một cách dễ dàng và hiệu quả.
2.1.2 Các tính năng chính của Jitsi Meet
Jitsi Meet là nền tảng hội nghị trực tuyến cho phép người dùng tham gia mà không cần đăng ký tài khoản Khi truy cập vào trang chủ, người dùng có thể nhanh chóng tạo một phòng họp với một mã ID ngẫu nhiên.
Với tính năng này Jitsi Meet sẽ truyền trực tiếp toàn bộ video và âm thanh của mọi người thay vì xử lý chúng trước như một sốcông cụkhác.
Hình 2.1: Hình ảnh mô tả tính năng video chat trên Jitsi Meet
Tính năng chia sẻ màn hình
Jitsi Meet cho phép người dùng dễ dàng chia sẻ màn hình, rất hữu ích cho việc trình bày bài giảng hoặc hướng dẫn Giao diện của Jitsi Meet được thiết kế gọn gàng, giúp màn hình chia sẻ không chiếm quá nhiều không gian từ các thành phần khác, tối ưu hóa trải nghiệm người dùng Người dùng có thể hoàn toàn sử dụng giao diện này mà không cần phải điều chỉnh thêm.
Hình 2.2: Hình ảnh mô tả tính năng chia sẻ màn hình trên Jitsi Meet
2.1.3 Ưu và nhược điểm Ưu điểm
Là một hệ thống mã nguồn mở
Người dùng dễdàng tạo phòng họp không cần đăng ký tài khoản
Giao diện hiện đại, dễ dàng sử dụng
Tính dễ dàng giúp việc setup buổi họp nhanh gọn
Ít tính năng hữu ích cho việc học online
Jitsi Meet là một nền tảng lý tưởng cho việc học trực tuyến nhờ vào các tính năng dễ sử dụng Tuy nhiên, hệ thống này vẫn chưa phát huy tối đa hiệu quả trong việc áp dụng cho các hoạt động học online.
Nextcloud Talk
2.2.1 Giới thiệu về Nextcloud Talk
Nextcloud Talk là một tính năng mở rộng trong hệ thống lưu trữ đám mây Nextcloud, cho phép tạo môi trường họp trực tuyến chỉ với một cú nhấp chuột Nextcloud cung cấp dịch vụ lưu trữ và chia sẻ file miễn phí, tương tự như ownCloud, và hỗ trợ đầy đủ trên các nền tảng như Windows, MacOS, Linux, iOS và Android Hệ thống còn cho phép tích hợp thêm các Extension như Meeting, Mail, Calendar, Chat và Talk để mở rộng chức năng.
Nextcloud Talk được biết đến hoàn toàn là mã nguồn mở cùng với những đặc điểm nổi bật như sau:
Các cuộc gọi video và cuộc gọi âm thanh đều được mã hóa đảm báo tính bảo mật của các cuộc gọi
Hỗ trợ đa nền tảng với WebRTC (*)
Được thiết kế hỗ trợtrên các nền tảng như Web, Android và IOS.
Khả năng kết nối mạnh mẽ với các nền tảng khác nhau
Các cuộc gọi và trò chuyện trên thiết bịdi động đều được thông báo với thông báo đẩy
Mặc dù Nextcloud Talk là một mã nguồn mở, nhưng không hoàn toàn miễn phí Đối với tùy chọn hiệu năng cao cho 100 người dùng, chi phí là 65 Euro mỗi năm.
Với chi phí đó Nextcloud cung cấp cho ta cácđặc quyền như sau:
Gọi điện mọi nơi: Cho phép người tham gia có thể gọi điện thông qua đường dây điện thoại mà không nhất thiết phải có mạng
Không giới hạn: Cải thiện kết nối với tường lừa và nhiều người tham gia hơn trong cuộc gọi
Bắt đầu nhanh hơn: Được các nhân viên Nextcloud cài đặt từ xa
WebRTC là một bộ API viết bằng JavaScript, cho phép giao tiếp thời gian thực mà không cần cài đặt plugin hay phần mềm hỗ trợ Công nghệ này giúp trình duyệt thực hiện các cuộc gọi video, cuộc gọi thoại và chuyển dữ liệu P2P (peer-to-peer) một cách dễ dàng và hiệu quả.
2.2.2 Các tính năng chính của Nextcloud Talk
Nextcloud Talk cung cấp dịch vụ video chat thân thiện với người dùng, cho phép người dùng dễ dàng tương tác với nhau Giao diện của Nextcloud Talk nổi bật với cách bố trí camera, giúp chủ phòng quản lý các thành viên một cách thuận tiện thông qua các biểu tượng như tắt mic và tắt camera, được sắp xếp ngay trên màn hình của từng người tham gia cuộc gọi.
Tính năng chia sẻ màn hình
Tính năng chia sẻ màn hình trên Nextcloud Talk cho phép ghi lại và chia sẻ toàn bộ quá trình thao tác trên màn hình với những người tham gia cuộc gọi Tương tự như chức năng live stream trên các nền tảng trực tuyến khác, tính năng này được thiết kế cho quy mô nội bộ, chỉ cho phép những người trong cuộc gọi trực tuyến xem nội dung chia sẻ.
Hình 2.3: Hình ảnh mô tả tính năng chia sẻ màn hình trên Nextcloud Talk
2.2.3 Ưu và nhược điểm Ưu điểm
NextCloud Talk là một extension trên NextCloud dễ dàng triển khai khi có sẵn hệ thống NextCloud
Đồng bộ với dịch vụlưu trữ đám mây của NextCloud
NextCloud Talk không hoàn toàn miễn phí nếu sử dụng cho số lượng truy cập cao
Nextcloud Talk là một lựa chọn tốt cho việc học online, nhưng chi phí có thể tăng lên khi số lượng người truy cập đông Một điểm mạnh của Nextcloud Talk là nó tích hợp với hệ thống lưu trữ đám mây Nextcloud, tạo cơ hội lớn cho các trường học và doanh nghiệp nếu biết tận dụng Tuy nhiên, nếu không sử dụng hệ thống lưu trữ này, việc đầu tư vào Nextcloud Talk có thể trở nên lãng phí.
Big Blue Button
2.3.1 Giới thiệu về Big Blue Button
Big Blue Button (BBB) là phần mềm mã nguồn mở miễn phí, chạy trên nền tảng Web, hỗ trợ dạy học online và hội nghị trực tuyến Ra mắt từ năm 2009 và đã trải qua 9 phiên bản, BBB cung cấp đầy đủ công cụ cần thiết cho lớp học và hội nghị trực tuyến, từ cơ bản đến nâng cao Ban đầu được phát triển cho các cuộc họp trực tuyến, BBB đã tích hợp nhiều tính năng hữu ích cho việc học tập trực tuyến, bao gồm trình chiếu slide và các công cụ hỗ trợ khác.
Hình 2.4: Hình ảnh mô tả phòng học trực tuyến trên BigBlueButton
BBB cho phép trường học và công ty tạo lớp học từ xa, tổ chức các cuộc họp qua giao diện web Người dùng có thể chia sẻ màn hình, viết bảng, trò chuyện và truyền video qua Webcam hoặc camera.
Hình 2.5: Hình ảnh mô tả tính năng chia sẻ màn hình thông qua Big Blue Button
BigBlueButton là phần mềm mã nguồn mở miễn phí, mang lại lợi ích lớn cho các trường học và doanh nghiệp vừa và nhỏ nhờ chi phí đầu tư hợp lý.
BigBlueButton can seamlessly integrate with various Learning Management Systems (LMS), Content Management Systems (CMS), and other open-source platforms Notable open-source systems compatible with BigBlueButton include Canvas, Chamilo, Drupal, Fedena, Foswiki, Moodle, Smart Class, and WordPress.
2.3.2 Các tính năng chính của Big Blue Button
Các tính năng của Big Blue Button (BBB) sẽ khác nhau tùy thuộc vào vai trò của người dùng, bao gồm người xem hoặc người điều hành trong mỗi phiên họp.
Người xem, thường là học sinh, có thể tham gia trò chuyện, gửi và nhận âm thanh cũng như video, trả lời thăm dò và thể hiện cảm xúc qua biểu tượng cảm xúc như giơ tay Họ còn có khả năng vẽ trên bảng trắng nếu được người trình bày cho phép Tuy nhiên, người xem không có quyền kiểm soát phiên, đó là trách nhiệm của người điều hành.
Hình 2.6: Hình ảnh mô tả người xem khi tham gia cuộc họp trên Big Blue Button
Người điều hành, thường là người hướng dẫn, sở hữu đầy đủ khả năng của người xem, đồng thời có thể bật/tắt tiếng người xem khác, khóa họ để hạn chế trò chuyện riêng tư và gán vai trò thuyết trình cho bất kỳ ai, bao gồm cả chính họ.
Trong một phiên, có thể có nhiều người điều hành cùng tham gia Những người điều hành này có quyền đẩy bất kỳ người dùng nào ra khỏi phiên, cũng như bắt đầu hoặc dừng ghi âm Họ cũng có khả năng kết thúc phiên bất kỳ lúc nào theo ý muốn.
Hình 2.7: Hình ảnh mô tả thao tác quản lý của người điều hành cuộc họp trên Big Blue Button
Người trình bày có quyền kiểm soát khu vực trình bày, cho phép họ tải lên các trang chiếu và chú thích chúng bằng các công cụ bảng trắng Họ cũng có thể bật hoặc tắt chế độ bảng trắng nhiều người dùng, bắt đầu cuộc thăm dò và chia sẻ màn hình với người xem Lưu ý rằng chỉ có một người có thể trình bày tại một thời điểm.
Hình 2.8: Hình ảnh mô tả cuộc thăm dò ý kiến trên Big Blue Button
Với những điều trên người xem, người điều hành và người dẫn chương trình chúng ta có thể chia nhỏcác tính năng của sản phẩm theo từng vai trò.
2.3.3 Ưu và nhược điểm Ưu điểm
Là một hệ thống mã nguồn mở
Nhiều tính năng hữu ích cho việc học online như (Chia sẻ slide bài giảng, thăm dò ý kiến, ghi hình buổi học)
Hệ thống quản lý người dùng
Khả năng tích hợp vào hệ thống LMS như (Moodle, Canvas, Chamilo)
Khả năng tích hợp vào hệ thống CMS như (Wordpress, Drupal)
Giao diện chưa thân thiện với người dùng
BigBlueButton là một hệ thống họp trực tuyến được thiết kế đặc biệt cho việc học online, với nhiều tính năng hữu ích như quản lý người dùng, trình chiếu bài giảng, thăm dò ý kiến và phát video Điểm nổi bật của BigBlueButton là khả năng tích hợp linh hoạt với nhiều hệ thống LMS và CMS, giúp nâng cao trải nghiệm học tập trực tuyến.
Đánh giá và kết luận
Sau khi nghiên cứu ba hệ thống mã nguồn mở hỗ trợ học trực tuyến là Jitsi Meet, Nextcloud Talk và Big Blue Button, tôi đã đưa ra một số đánh giá và kết luận về hiệu quả cũng như tính năng của từng nền tảng.
Sau khi phân tích các tính năng nổi bật, ưu điểm và nhược điểm của ba hệ thống Jitsi Meet, Nextcloud Talk và Big Blue Button, tôi đưa ra đánh giá tổng quát về cả ba nền tảng này như sau:
Về tối ưu chi phí triển khai, Jitsi Meet và Big Blue Button là hai lựa chọn hàng đầu so với Nextcloud Talk, vì cả hai hệ thống này không yêu cầu bất kỳ khoản phí bổ sung nào trong quá trình triển khai.
Hệ thống Big Blue Button được đánh giá là tối ưu nhất cho việc học trực tuyến, vượt trội hơn so với hai hệ thống còn lại.
Big Blue Button cung cấp tính năng trình chiếu slide và các công cụ hỗ trợ, giúp người điều hành dễ dàng chia nhóm thảo luận cho người xem.
Sau khi đánh giá ba hệ thống, tôi kết luận rằng Big Blue Button là lựa chọn tốt nhất để triển khai thử nghiệm.
Lý do chọn hệ thống Big Blue Button:
Chi phí triển khai rẻ
Đầy đủ tính năng trợ giúp cho việc học trực tuyến như trình chiếu slide cùng các công cụ hỗ trợ cho việc trình chiếu
Khả năng tích hợp vào các hệ thống LMS như Canvas, Chamilo và Moodle
Người điều hành cuộc họp có thể phân nhóm các người xem để thảo luận riêng.
Lợi ích khi triển khai hệ thống Big Blue Button:
Big Blue Button là một hệ thống mã nguồn mở với sự hỗ trợ mạnh mẽ từ cộng đồng phát triển Nhờ vào tính năng này, người dùng có thể dễ dàng tìm kiếm giải pháp cho các sự cố kỹ thuật khi triển khai hệ thống.
Các cơ quan và trường học đang tận dụng khả năng tích hợp của hệ thống LMS với các nền tảng như Canvas, Chamilo và Moodle, giúp bổ sung hiệu quả cho hệ thống hỗ trợ học trực tuyến mà không cần phát triển thêm, từ đó giảm đáng kể chi phí.
CHƯƠNG 3: PHÂN TÍCH HỆ TH Ố NG, CÀI ĐẶT VÀ TRI Ể N
Phát biểu bài toán
Xu hướng học trực tuyến đang trở thành một bước tiến quan trọng trong giáo dục và đào tạo, mang lại nhiều lợi ích cho học sinh và sinh viên Hệ thống học trực tuyến cho phép tiếp cận kiến thức nhanh chóng mà không cần đến trường, giúp thu hẹp khoảng cách địa lý Chỉ với một chiếc điện thoại thông minh hoặc máy tính xách tay, giáo viên có thể giảng dạy cho nhiều học sinh ở các địa điểm khác nhau.
Những yêu cầu đối với một hệ thống hỗ trợ học trực tuyến:
Giáo viên và học viên có thể trao đổi với nhau qua video chat và text chat
Giáo viên có thể chia sẻ màn hình cho các học viên theo dõi
Trình chiếu bài giảng và bài tập
Chia nhóm học tập và trao đổi
Giáo viên có khả năng điều chỉnh âm thanh và hạn chế trao đổi riêng giữa sinh viên Để thực hiện bài toán này, tôi đã chọn hệ thống Big Blue Button, và dưới đây là những lý do tôi lựa chọn Big Blue Button cho triển khai bài toán.
Nền tảng học trực tuyến cung cấp đầy đủ các tính năng cần thiết như trình chiếu slide, chia sẻ màn hình, chia sẻ video bên ngoài, cùng với các công cụ thao tác với slide và tính năng lập nhóm để làm bài tập, giúp tối ưu hóa trải nghiệm học tập.
Mã nguồn mở miễn phí và chi phí đầu tư không quá tốn kém
Khả năng tích hợp xâu tới các hệ thống LMS như Moodle, Chamilo và Canvas.
Phân tích hệ th ố ng Big Blue Button
3.2.1 Biểu đồ ngữ cảnh hệ thống
Hình 3.1: Biểu đồ ngữ cảnh hệ thống Big Blue Button
Mô tảcác tác nhân tham gia hệ thống:
- Người xem là người dùng tham gia vào hệ thống với mục đích học trực tuyến
- Người xem nhận dữ liệu voice, hình ảnh webcam, tin nhắn, slide trình chiếu và màn hình chia sẻ từ người trình bày
- Người xem nhận dữ liệu đường dẫn phòng họp và mã truy cập để tham gia hệ thống
- Người trình bày là người dùng tham gia hệ thống với mục đích bài dạy hoặc chủtrì cuộc họp
- Người trình bày có thể đưa dữ liệu voice, hình ảnh webcam, tin nhắn, slide trình chiếu và màn hình chia sẻ cho người xem
- Người điều hành là người dùng tham gia hệ thống nhằm quản lý người xem và người trình bày.
- Người điều hành nhận dữ liệu thông tin người xem và thông tin người trình bày.
3.2.2 Biểu đồphân cấp chức năng
Hình 3.2: Biểu đồ phân cấp chức năng hệ thống Big Blue Button
Mô tả chi tiết chức năng lá:
Thêm tên phòng: chức năng thêm tên phòng giúp định danh các phòng họp trong tài khoản của người dùng.
Tạo mã truy cập là một tính năng quan trọng giúp tăng cường bảo mật cho phòng họp, yêu cầu người tham gia phải nhập mã truy cập để vào phòng họp.
Xem thông tin tài khoản: chức năng giúp người dùng xem thông tin tài khoản của mình.
Xóa tài khoản: chức năng xóa tài khoản giúp người dùng có thể xóa tài khoản của mình trên hệ thống
Quản lý các phòng họp: chức năng quản lý các phòng họp giúp quản trị có thểthay đổi thông tin, thêm và xóa phòng họp
Cài đặt trang: chức năng giúp thay đổi logo, màu sắc trang
Quản lí vai trò người dùng: chức năng giúp phân quyền cho người dùng trên hệ thống
Chat video: chức năng giúp người dùng giao tiếp với nhau bằng hình ảnh trực tiếp của họ
Chat văn bản: chức năng giúp trao đổi thông tin giữa các người dùng bằng văn bản
Trình chiếu: chức năng giúp chia sẻ slide trình chiếu trên giao diện phòng họp
Chia sẻ màn hình: chức năng giúp chia sẻ quá trình thao tác trên màn hình của người trình bày.
3.2.3 Danh sách hồ sơ dữ liệu
Bảng 3.1: Danh sách hồ sơ dữ liệu
Ký hiệu Hồsơ dữ liệu D1 Tên phòng
3.2.4 Ma trận thực thể chức năng
Bảng 3.2: Ma trận thực thể chức năng
Yêu cầu trước khi cài đặ t h ệ th ố ng
Để cài đặt Big Blue Button, cần một server chạy Ubuntu 16.04 64-bit, đây là phiên bản tối ưu Ngoài ra, server phải sạch, tức là chưa từng cài đặt bất kỳ ứng dụng web nào trước đó.
Yêu cầu tối thiểu về server
Với một sản phẩm thực tế, server phải đảm bảo tối thiểu cấu hình như sau:
8 nhân CPU với đơn nhân hiệu năng cao
Ổ đĩa trống 500GB (nếu hệ thống bật tính năng recording), hoặc 50GB trống nếu tắt tính năng recording
Băng thông phải đạt 250Mb/s hoặc cao hơn
TCP port 80 và 443 không được sử dụng cho web app khác
Một hostname để thiết lập một chứng chỉ SSL trên đó
Với một sản phẩm thử nghiệm, server chỉ cần đảm bảo cấu hình như sau:
Chuẩn bị trước khi cài đặt hệ thống
3.4.1 Đăng ký VPS và tên miền Đăng ký dịch vụ VPS trên Digital Ocean Để giảm tải chi phí trong quá trình thử nghiệm, chúng ta sẽ lựa chọn dịch vụ VPS của Digital Ocean Vì Digital Ocean miễn phí 2 tháng dùng thử miễn phí với giới hạn là 100 đô cho người sử dụng mới bắt đầu Để sử dụng 2 tháng miễn phí ta cần đảm bảo các yêu cầu như sau:
Liên kết tài khoản với thẻ Visa hoặc tài khoản PayPal
Trong tài khoản phải có đủ 5 USD (khoản phí 5 USD sẽ hoàn lại sau khi liên kết tài khoản thành công)
Sau đây là một số gói VPS do Digital Ocean cung cấp cho tài khoản dùng thử sau khi đăng ký tài khoản:
Hình 3.3: Hình ảnh liệt kê các gói VPS trên Digital Ocean
Như vậy, chúng ta có thể thử nghiệm hệ thống với một cấu hình tương đối cao như sau:
Cấu hình này đáp ứng đầy đủ yêu cầu thử nghiệm của Big Blue Button Để thực hiện, tôi sẽ sử dụng một tên miền đã thuê từ website tenten.vn.
Hình 3.4: Hình ảnh mô tả tên miền sử dụng trong đề tài
3.4.2 Cài đặt VPS và trỏtên miền
Trước khi cài đặt BBB lên VPS ta cần trỏ tên miền cho VPS Bước thực hiện như sau:
Để cấu hình DNS cho tên miền, bạn cần thiết lập các giá trị như sau: sử dụng Host record là bbb (bbb.hieund.pro), chọn loại A và nhập địa chỉ IP của VPS là 206.189.39.36 vào trường Value.
Hình 3.5: Hình ảnh mô tả cấu hình DNS trên trang cung cấp tên miền
Cài đặt và cấu hình hệ thống
Trước khi cài đặt và cấu hình hệ thống ta cần trả lời một số câu hỏi như sau:
GreenLight là gì? GreenLight là một theme của BBB
GitHub là một nền tảng quản lý dự án và phiên bản mã nguồn, hoạt động như một mạng xã hội dành cho lập trình viên Trên GitHub, lập trình viên có thể sao chép mã nguồn từ các kho lưu trữ (repository) công cộng và tạo tài khoản để quản lý kho chứa riêng của mình, từ đó dễ dàng hợp tác và phát triển dự án.
Một sốkhái niệm của Git cần nắm:
git: là prefix của các lệnh được sử dụng dưới CLI
branch: được hiểu như là nhánh, thể hiện sự phân chia các version khi 2 version đó có sự sai khác nhất định và 2 version đều có sựkhác nhau.
commit: là một điểm trên cây công việc (Work Tree) hay gọi là cây phát triển công việc
Clone, hay còn gọi là nhân bản, là quá trình sao chép các dự án và repository từ các hệ thống sử dụng git như Bitbucket, GitHub, GitLab, và Cor (một sản phẩm mã nguồn mở cho phép người dùng tự tạo git server trên VPS hoặc server) Việc clone cho phép bạn sao chép repository tại commit mong muốn để tiếp tục phát triển Thao tác này sẽ tải toàn bộ mã nguồn và dữ liệu về máy tính của bạn.
Folk là quá trình sao chép một repository từ tài khoản của người khác về tài khoản Git của bạn, cho phép bạn sử dụng và quản lý nó như một repository do chính bạn tạo ra.
repository: Kho quản lý dữ liệu, là nơi lưu trữ các dữ liệu, mã nguồn của project
tag: sử dụng để đánh dấu một commit khi bạn có quá nhiều commit tới mức không thể kiểm soát được
Remote là công cụ cho phép người dùng điều khiển các nhánh từ một repository trên máy chủ Git, và cách thức quản lý các nhánh trên remote tương tự như cách quản lý các nhánh trên local.
diff: So sánh sự sai khác giữa phiên bản hiện tại với phiên bản muốn so sánh, nó sẽ thể hiện các sự khác nhau
gitignore: file mặc định của git sử dụng để loại bỏ(ignore) các thư mục, file mà mình không muốn push lên git server
3.5.1 Cài đặt GitHub Desktop và sao chép repository vàotài khoản GitHub Để download GitHub Desktop vào địa chỉ: https://desktop.github.com/
Hình 3.6: Hình ảnh vị trí nút Download GitHub Desktop
Hình 3.7: Hình ảnh mô tả file cài đặt GitHub Desktop sau khi tải về Đăng nhập trên GitHub Desktop để kết nối vào tài khoản GitHub
Hình 3.8: Hình ảnh vị trí nút Đăng nhập vào GitHub Desktop
Vào trình duyệt và truy cập địa chỉ: https://github.com/bigbluebutton/greenlight
Sau đó bấm vào Fork để đẩy source vào tài khoản GitHub
Mở lại GitHub Desktop bấm vào File → Clone repository…
Hình 3.9: Hình ảnh vị trí nút clone repository trên thanh công cụ của GitHub Desktop
Chọn thư mục greenlight đã được tải lên tài khoản trước đó và nhấn “Clone” để sao chép toàn bộ thư mục này về máy tính cá nhân.
Hình 3.10: Hình ảnh mô tả cách thức thực hiện clone repository trên GitHub Desktop
3.5.2 Cài đặt và cấu hình GreenLight
Trước khi vào phần cài đặt và cấu hình ta cần biết một sốquy trình sau đây:
Toàn bộ quá trình giao tiếp với hệ điều hành Linux Ubuntu Server đều sử dụng bằng lệnh mà không thông qua giao diện người dùng
Toàn bộquá trình cấu hình GreenLight đều được cấu hình tới subdomain là bbb trên tên miền hieund.pro
Để bắt đầu cài đặt GreenLight, trước tiên bạn cần truy cập vào VPS và thực hiện lệnh cập nhật hệ thống bằng cách sử dụng lệnh sau: `sudo apt-get update` để đảm bảo rằng bạn có các bản cập nhật và bản vá lỗi mới nhất.
To install Docker, execute the following commands in sequence: first, run `sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common` Then, add the Docker GPG key with `curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -` Verify the key with `sudo apt-key fingerprint 0EBFCD88`, and finally, add the Docker repository using `sudo add-apt-repository`.
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \ stable" sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io apt-cache madison docker-ce sudo docker run hello-world
Như vậy, ta đã hoàn thành cài đặt Docker
To install Greenlight, simply clone the previously created repository using the command: `git clone https://github.com/n-duhie/greenlight` This URL points to the GitHub repository where the source code is hosted.
Sau đó chúng cần thêm remote repository cho clone của BBB git remote add upstream https://github.com/bigbluebutton/greenlight.git
Sau đó thực hiện các lệnh sau đểhoàn thànhcài đặt GreenLight: git fetch upstream git checkout -b custom-changes upstream/v2
Cấu hình GreenLight Đầu tiên ta cần đổi file sample.env sang env trong folder greenlight: cp sample.env env
Tạo một secret key: docker run rm bigbluebutton/greenlight:v2 bundle exec rake secret
Sau khi thực hiện lệnh, hệ thống sẽ tạo một secret key mà bạn cần sao chép Tiếp theo, mở file env và cấu hình để VPS trỏ đến subdomain (bbb.hieund.pro) Chèn secret key vừa sao chép vào sau “SECRET_KEY_BASE=” và thêm subdomain đã tạo vào vị trí thích hợp.
“SAFE_HOSTS=”, kết quả sau khi thực hiện như sau:
SECRET_KEY_BASEd70d08df0a755150dea7f658cfd74e9303d1a1abbcf 414857f290dd4f18060e7f9b7096a1fa4f20ab8e42d4f64127aee3b2d188d26bff5c 0e66104363f8e282
Sau khi chỉnh sửa xong file env như trên, ta lưu lại bằng tổ hợp ctrl + x, gõ
Sau khi hoàn thành các bước trước, bạn cần tạo một phân vùng Docker bằng lệnh: `docker run rm env-file env bigbluebutton/greenlight:v2 bundle exec rake conf:check`.
Cuối cùng, ta có thể khởi động GreenLight trên VPS bằng lệnh sau: docker-compose up -d
Oauth2 là một phương thức chứng thực hiện đại cho phép các ứng dụng chia sẻ tài nguyên mà không cần tiết lộ thông tin đăng nhập như tên người dùng và mật khẩu Từ "Auth" trong Oauth2 mang hai nghĩa khác nhau, thể hiện tính linh hoạt và an toàn của phương thức này trong việc quản lý quyền truy cập.
Có nhiều công cụ dịch trực tuyến mà bạn có thể sử dụng mà không cần đăng ký hay đăng nhập, chẳng hạn như Google Translate và Translate.com Những trang web này cho phép bạn nhập văn bản và nhận bản dịch ngay lập tức giữa các ngôn ngữ khác nhau, bao gồm cả tiếng Việt.**Source:**1 Google Translate: https://translate.google.com/translate_t2 Translate English to Vietnamese: https://www.translate.com/english-vietnamese3 [PDF] Variation in linguistic politeness in Vietnamese: https://digitalcollections.anu.edu.au/bitstream/1885/10093/1/Le_VariationLinguistic2013.pdf4 [PDF] SOCIAL MEDIA IN LEARNING ENGLISH IN VIETNAM: https://ir.canterbury.ac.nz/server/api/core/bitstreams/e7de0bd4-644f-4581-a637-24bebc478d60/content5 [PDF] TRANSNATIONAL ACTIVISM IN THE VIETNAMESE DIASPORA A : https://scholarspace.manoa.hawaii.edu/bitstream/10125/68920/1/Bui_hawii_0085A_10574.pdf6 [PDF] Understanding the Political Dynamics of Grassroots Democracy in : https://espace.library.uq.edu.au/view/UQ:352936/s4256640_phd_thesissubmission.pdf7 [PDF] Appendix B – Community Engagement Summary Report: https://www.octa.net/pdf/LTRP_Directions2045_AppendixB-CommunityEngagementSummary_Full_20230501.pdf8 [PDF] “Eating alone is painful”: An interdisciplinary and ethnographically : https://mro.massey.ac.nz/bitstream/handle/10179/11273/02_whole.pdf9 [PDF] Greater Mekong Subregion Ben Luc–Long Thanh Expressway Project: https://www.adb.org/sites/default/files/project-documents/41414/41414-063-rp-en_2.pdf
Nếu một trong 20 ứng dụng hoặc website của bạn bị hack và hacker lấy được thông tin người dùng, bạn không cần quá lo lắng về việc lộ thông tin tài khoản như username và password Facebook Điều này bởi vì ứng dụng bị xâm nhập chỉ có quyền truy cập thông qua một chìa khóa (token) nhất định, mà không thể truy cập vào thông tin nhạy cảm như username và password của bạn.
Cài đặt Google Oauth2 trên GreenLight Đầu tiền mở file env trong folder greenlight bằng 2 dòng lệnh sau: cd greenlight nano env
Sau đó thêm Oauth2 id vào sau dòng:
Và thêm secret code vào sau dòng:
GOOGLE_OAUTH2_SECRET= Đây là đoạn mã sau khi tùy chỉnh:
8gi05jrs3aab69mcrtetvenoil0s0ti4.apps.googleusercontent.com
GOOGLE_OAUTH2_SECRET=JInt4l4lK_zkpTJxlvyHg4hu Ở đây là id và secret được lấy trong Oauth2 API đã được tạo trong Google Console
Trước khi tạo tài khoản admin cho ứng dụng ta cần mở folder greenlight trong VPS
Dùng lệnh sau mở folder greenlight: cd greenlight
Tiếp theo thực hiện lệnh sau để tạo tài khoản admin: docker exec greenlight-v2 bundle exec rake user:create["name", "email",
Tên hiển thị khi đăng nhập là "name", địa chỉ email của tài khoản là "email", mật khẩu của tài khoản được gọi là "password", và quyền hạn của tài khoản được xác định bởi "admin".
3.5.5 Tùy chỉnh thông tin trên Landing Page Đầu tiên, ta cần biết như thế nào là một Landing Page? Landing Page là một trang web đơn có nội dung nhằm dẫn dắt và thuyết phục người đọc thực hiện một mục đích cụ thể Dưới đây là hình ảnh chụp lại giao diện Landing Page ban đầu của Big Blue Button
Hình 3.11: Hình chụp giao diện Landing Page ban đầu của Big Blue Button
Kiểm tra độ ổn định của hệ thống
3.6.1 Kiểm tra mức độ tiêu tốn của CPU
Bài kiểm tra độ ổn định của hệ thống được thực hiện với lượng truy cập là
4 tài khoản sử dụng liên tục trong vòng 1h.
Để kiểm tra mức độ tiêu tốn tài nguyên CPU trong phòng họp, chúng ta sẽ sử dụng công cụ đo lường trên DigitalOcean, như được mô tả trong hình 3.14, hiển thị danh sách các tài khoản đang hoạt động.
Hình 3.15: Hình ảnh mô tả số liệu tiêu tốn CPU của hệ thống khi có 4 tài khoản cùng lúc sử dụng trong 1 tiếng
Biểu đồ hiệu năng CPU trên VPS cho thấy sự ổn định, không có hiện tượng tăng hay giảm đột ngột Dựa vào số liệu này, chúng ta có thể tổ chức lớp học online một cách hoàn toàn ổn định trên hệ thống.
Bài kiểm tra băng thông của hệ thống tương tự như bài kiểm tra mức độ tiêu tốn của CPU, được thực hiện với 4 tài khoản truy cập liên tục trong 1 giờ Dưới đây là hình ảnh kết quả của bài kiểm tra trên công cụ đo lường của Digital Ocean.
Hình 3.16: Hình ảnh mô tả số liệu băng thông của hệ thống khi có 4 tài khoản cùng lúc sử dụng trong
Dựa vào kết quả từ hình 3.14, trong 10 phút đầu tiên, băng thông ghi nhận sự đột biến với lượng truy cập tăng từ 0 lên 4, sau đó trở về trạng thái ổn định.
Các giao diện chính của hệ thống
Landing Page là một trang đơn tập trung cung cấp thông tin chi tiết về sản phẩm Big Blue Button Sau khi hoàn tất quá trình cài đặt và cấu hình hệ thống, dưới đây là hình ảnh minh họa giao diện của Landing Page.
Hình 3.17: Hình ảnh mô tả giao diện Landing Page
Giao diện đăng ký cho phép người dùng tạo tài khoản để truy cập đầy đủ các tính năng của hệ thống Người dùng chỉ cần nhấn nút “Sign up” để bắt đầu quy trình đăng ký.
Hình 3.18: Hình ảnh mô tả giao diện đăng ký
Tính năng đăng ký cho phép người dùng mới tạo tài khoản để truy cập các chức năng quản lý phòng họp Sau khi hoàn tất đăng ký, hệ thống sẽ tự động đăng nhập cho người dùng mỗi khi họ truy cập chương trình, giúp tiết kiệm thời gian và nâng cao trải nghiệm sử dụng.
Sau khi bấm vào nút Sign in, đây là giao diện đăng nhập của chương trình:
Hình 3.19: Hình ảnh mô tả giao diện đăng nhập
Hình 3.20: Hình ảnh mô tả giao diện trang web sau khi đăng nhập
Sau khi đăng nhập, bạn có thể xem và chỉnh sửa thông tin cá nhân bằng cách nhấp vào tên đăng nhập ở góc phải giao diện, sau đó chọn mục "profile".
Hình 3.21: Hình ảnh mô tả giao diện thông tin người dùng sau khi đăng nhập
Sau khi người dùng đăng ký tài khoản, hệ thống sẽ tự động tạo một phòng họp cho họ Khi người dùng khởi động phòng họp, giao diện sẽ hiển thị như sau:
Hình 3.22: Hình ảnh mô tả giao diện phòng họp
3.7.5 Giao diện quản trị ệ ản lý người dùng
Trong phần quản lý người dùng, tài khoản admin có khả năng theo dõi và quản lý các tài khoản người dùng, bao gồm những tài khoản đã kích hoạt, chờ xử lý, bị chặn và đã xóa Admin có quyền chỉnh sửa thông tin cá nhân, hợp nhất tài khoản, chặn hoặc xóa người dùng Quản lý người dùng là yếu tố thiết yếu cho hệ thống cho phép người dùng tạo tài khoản và sử dụng dịch vụ Tính năng này giúp kiểm soát hệ thống một cách trực quan và dễ dàng hơn Dưới đây là hình ảnh mô tả giao diện quản lý người dùng.
Hình 3.23: Hình ảnh mô tả giao diện quản lý người dùng
Trong quản lý phân quyền, quản trị viên có khả năng thêm vai trò và điều chỉnh quyền hạn của các vai trò trong hệ thống, bao gồm tất cả các quyền cần thiết.
Có thể tạo phòng họp
Cho phép quản lý người dùng
Cho phép quản lý và xem các bản ghi trên server
Cho phép sửa các vai trò khác
Sau đây là hình ảnh mô tả giao diện tính năng phân quyển của tài khoản admin
Hình 3.24: Hình ảnh mô tả giao diện phân quyền
Giao diện quản lý phòng họp
Trong tính năng quản lý phòng họp, quản trị viên có khả năng theo dõi danh sách các phòng họp đã được tạo, bao gồm trạng thái hoạt động, tên người tạo, ID phòng họp và số lượng người hiện có trong mỗi phòng Bên cạnh đó, admin cũng có thể tham gia vào phòng họp và thực hiện các thiết lập lại cần thiết cho phòng họp.
Hình 3.25: Hình ảnh mô tả giao diện tính năng phòng họp
Hình 3.26: Hình ảnh mô tả giao diện cài đặt phòng họp
Thử nghiệm một số chức năng chính trong phòng họp
3.8.1 Chức năng chia sẻ màn hình
Chức năng chia sẻ màn hình trong phòng họp cho phép người dùng chia sẻ thông tin từ màn hình cá nhân Để bắt đầu, người dùng chỉ cần nhấn vào biểu tượng màn hình ở phía dưới giao diện Sau đó, một cửa sổ lựa chọn sẽ xuất hiện để thực hiện việc chia sẻ.
Hình 3.27: Hình ảnh mô tả cửa sổ chia sẻ màn hình
Bạn có thể chọn màn hình, cửa sổ ứng dụng hoặc thẻ trình duyệt để chia sẻ Sau khi đã lựa chọn xong, hãy nhấn vào nút chia sẻ và dưới đây là kết quả hiển thị sau khi chia sẻ.
Hình 3.28: Hình ảnh mô tả kết quả sau khi chia sẻ màn hình
Chức năng trình chiếu trong phòng họp cho phép người dùng tải lên file trình chiếu của mình Để bắt đầu, nhấn vào nút + và chọn “Upload a presentation” Giao diện upload sẽ xuất hiện, nơi bạn có thể kéo file vào khu vực "Drag files here to upload" hoặc nhấn vào “or browse for files” để tìm và chọn file cần trình chiếu Sau khi hoàn tất quá trình tải lên, hãy đợi cho đến khi upload thành công và nhấn nút Upload để hoàn tất.
Hình 3.29: Hình ảnh mô tả giao diện upload khi chưa chọn file upload
Sau khi chọn file upload thành công, giao diện sẽ cho ra kết quả như sau:
Hình 3.30: Hình ảnh mô tả giao diện upload sau khi chọn file upload
Hình 3.31: Hình ảnh mô tả tính năng trình chiếu slide
Tính năng trình chiếu slide được hỗ trợ bởi nhiều công cụ khác, giúp nâng cao tính trực quan cho bài thuyết trình Những công cụ này cho phép chèn nội dung trực tiếp lên slide, tạo ra trải nghiệm trình bày sinh động hơn.
Hình 3.32: Hình ảnh mô tả các công cụ hỗ trợ trong tính năng chia sẻ slide
Chức năng chat văn bản hỗ trợ các buổi họp yên tĩnh, nơi chỉ có chủ phòng họp được nói Tính năng này giúp chủ phòng dễ dàng tiếp nhận thông tin và trao đổi từ các thành viên tham gia cuộc họp.
Hình 3.33: Hình ảnh mô tả giao diện tính năng text chat
Vi ệt hóa và bổ sung tính năng
Sau khi hoàn tất cài đặt, cấu hình và thử nghiệm hệ thống, tôi nhận thấy rằng hệ thống vẫn chưa đáp ứng đủ yêu cầu để triển khai thực tế Dưới đây là những phần mà tôi đã bổ sung và tối ưu hóa cho hệ thống.
3.9.1 Cài đặt tiếng Việt và Việt hóa
Việc Việt hóa hệ thống là cần thiết vì mục tiêu hướng đến người dùng Việt Nam, giúp họ dễ dàng sử dụng và tiếp cận thông tin bằng tiếng Việt.
Sau đây là quá trình em cài đặt tiếng Việt là Viết hóa hệ thống:
Bước 1: Chuyển ngôn ngữ mặc định sang tiếng Việt
Chuyển ngôn ngữ tiếng Việt cho GreenLight Đầu tiên, ta mở file env trong thư mục greenlight nằm trên máy chủ với các lệnh sau: cd greenlight nano env
Sau đó, ta dịch chuyển đến dòng 211 bằng cách nhấn ctr + shift + _ gõ
“211” nhấn enter Ta có mã ban đầu như sau:
Cuối cùng bấm ctr + x để lưu lại file
Chuyển ngôn ngữ tiếng Việt bên phía server
Sau khi hoàn tất việc chuyển ngôn ngữ tiếng Việt cho GreenLight, chúng ta sẽ tiếp tục chuyển ngôn ngữ cho server Để bắt đầu, hãy quay lại thư mục gốc của server bằng cách sử dụng lệnh “su” Tiếp theo, thực hiện lệnh: sudo dpkg-reconfigure locales.
Sau khi thực hiện lệnh trên server trả về kết quả như sau:
Hình 3.34: Hình ảnh mô tả kết quả sau khi thực hiện lệnh chuyển ngôn ngữ bên phía server
Để cài đặt ngôn ngữ tiếng Việt, bạn hãy sử dụng phím mũi tên để tìm kiếm và chọn "tiếng Việt" với mã hiển thị là “vi_VN UTF-8” Sau đó, nhấn Enter để xác nhận và bấm “Ok” để hoàn tất quá trình cài đặt.
Sau khi hoàn tất các bước đầu tiên, hệ thống sẽ chỉ chuyển sang tiếng Việt ở giao diện chính và hệ điều hành Để chuyển đổi toàn bộ sang tiếng Việt, cần thực hiện thêm việc chuyển ngôn ngữ cho phần phòng họp Đầu tiên, hãy sử dụng lệnh sau để truy cập vào thư mục chứa file cấu hình hệ thống: cd /usr/share/meteor/bundle/programs/server/assets/app/config.
Tiếp theo mở file cấu hình hệ thống bằng lệnh: nano settings.yml
Cuối cùng thay đổi mã “overrideLocale: null” thành “overrideLocale: vi”
Sau khi hoàn thành bước 1, ta truy cập vào file tiếng Việt của hệ thống để
To localize the system into Vietnamese, first navigate to the folder containing the Vietnamese language JSON file by using the command: cd /usr/share/meteor/bundle/programs/server/assets/app/locales.
Sau đó mở file vi.json bằng lệnh: nano vi.json
Cuối cùng ta Việt hóa các từ có trong file vi.json Sau đây là hình ảnh minh họa các lệnh json khi Việt hóa.
Hình 3.35: Hình ảnh minh họa kết quả các lệnh json khi Việt hóa
Bước 3: Khởi động lại hệ thộng
Sau khi hoàn tất các bước trước, hãy khởi động lại hệ thống để cập nhật những thay đổi bằng cách sử dụng lệnh: docker-compose down.
/scripts/image_build.sh bigbluebutton/greenlight release-v2 docker-compose up –d sudo systemctl reload nginx sudo systemctl restart nginx
Lưu ý: Do hạn chế về thời gian, tôi chỉ có thể Việt hóa khoảng 80% tổng số từ ngữ trong hệ thống Một số từ trong phần cài đặt và một vài thông báo vẫn chưa được Việt hóa hoàn toàn Tôi sẽ nỗ lực hoàn thành việc Việt hóa toàn bộ trong thời gian tới.
3.9.2 Bổ sung tính năng liên hệ bằng Messenger
Messenger is a messaging application developed by Facebook that can be accessed through the Facebook website or via a mobile app on devices running iOS or Android.
Việc bổ sung tính năng liên hệ bằng Messenger là rất cần thiết cho sản phẩm thực tế, giúp người dùng giải quyết thắc mắc ngay lập tức mà không cần tham khảo hướng dẫn dài dòng Với sự phổ biến của Facebook, việc tích hợp Messenger vào hệ thống mang lại trải nghiệm người dùng tối ưu Tính năng này không chỉ giúp người dùng dễ dàng liên hệ với quản trị viên mà còn giúp quản trị viên phát hiện lỗi và giải quyết thắc mắc một cách nhanh chóng Dưới đây là quá trình tích hợp tính năng liên hệ bằng Messenger vào hệ thống.
Trước khi tích hợp Messenger vào hệ thống, bạn cần tạo một Fanpage và có quyền quản trị để thiết lập các thông số cần thiết Trong bài viết này, tôi sẽ sử dụng Fanpage của mình để thực hiện quá trình tích hợp Đầu tiên, hãy truy cập vào Fanpage và nhấn vào phần tương ứng để bắt đầu.
Hình 3.36: Hình ảnh mô tả vị trí nút “Settings” trên Fanpage Facebook
Tiếp tục bấm vào “Messaging” để bắt đầu thêm Messenger vào hệ thống Trong phần “Add Messenger to your websites” bấm “Get Started” để bắt đầu
Tiếp tục, chọn ngôn ngữ “Tiếng Việt” để giao diện nút Messenger hiển thị bẳng tiếng Việt
Hình 3.37: Hình ảnh mô tả phần chọn tiếng Việt trong phần cài đặt Messenger
Next, click "Next" to proceed to the next step In the Position section, select "Right" to display the Messenger button on the right side Finally, click "Next" to complete the last step.
Tiếp theo, ta thêm địa chỉ website vào phần “Website Domain” là
“https://bbb.hieund.pro”, bấm “Save” để lưu lại Cuối cùng copy đoạn mã javascript bên phần code snippet và bấm “Finish” đểhoàn thành.
Cuối cùng ta paste đoạn mã đã copy trong phần code snippet trên phần
Để truy cập vào file hiển thị trang chủ của hệ thống, bạn cần mở thư mục “app/views/layouts/” và chỉnh sửa file “application.html.erb” bằng cách thêm đoạn mã trước thẻ .
Hình 3.38: Hình ảnh minh họa vị trí đoạn mã javascript để hiển thị nút Messenger tại trang chủ
Cuối cùng, chúng ta tiến hành khởi động lại hệ thống để hoàn tất quá trình tích hợp Messenger Dưới đây là hình ảnh hiển thị kết quả sau khi đã tích hợp liên hệ Messenger vào hệ thống.
Hình 3.39: Hình ảnh mô tả kết quả sau khi hoàn tất tích hợp nút Messenger vào trang chủ
Trong quá trình triển khai hệ thống mã nguồn mở hỗ trợ học trực tuyến, tôi đã gặp một số khó khăn trong việc cấu hình hệ thống Tuy nhiên, tôi đã thành công trong việc giải quyết các vấn đề và đạt được những kết quả tích cực.
Hệ thống chạy ổn định trên VPS sử dụng Linux Ubuntu 16.04 Server
Thêm chức năng đăng nhập bằng Google, liên hệ bằng Messenger và
Tùy chỉnh lại landing page