1. Trang chủ
  2. » Luận Văn - Báo Cáo

Phân tích, cài đặt module quản lý đề và tổ chức thi trực tuyến trong hệ thống hỗ trợ và thi trực tuyến

82 18 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 82
Dung lượng 4,38 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC NHA TRANG KHOA CÔNG NGHỆ THÔNG TIN ĐỒ ÁN TỐT NGHIỆP PHÂN TÍCH, CÀI ĐẶT MODULE QUẢN LÝ ĐỀ VÀ TỔ CHỨC THI TRỰC TUYẾN TRONG HỆ THỐNG HỖ TRỢ HỌC VÀ THI

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC NHA TRANG KHOA CÔNG NGHỆ THÔNG TIN

ĐỒ ÁN TỐT NGHIỆP PHÂN TÍCH, CÀI ĐẶT MODULE QUẢN LÝ ĐỀ VÀ TỔ CHỨC THI TRỰC TUYẾN TRONG HỆ THỐNG HỖ TRỢ HỌC VÀ THI

TRỰC TUYẾN

Giảng viên hướng dẫn: TS Đinh Đồng Lưỡng

Sinh viên thực hiện: Nguyễn Tấn An

Mã số sinh viên: 56131369

Khánh Hoà - 2018

Trang 2

BỘ GIÁO DỤC ĐÀO TẠO TRƯỜNG ĐẠI HỌC NHA TRANG KHOA CÔNG NGHỆ THÔNG TIN

ĐỒ ÁN TỐT NGHIỆP PHÂN TÍCH, CÀI ĐẶT MODULE QUẢN LÝ ĐỀ VÀ TỔ CHỨC THI TRỰC TUYẾN TRONG HỆ THỐNG HỖ TRỢ HỌC VÀ THI

TRỰC TUYẾN

GVHD: Ts Đinh Đồng Lưỡng SVTH: Nguyễn Tấn An

MSSV: 56131369

Khánh Hoà, tháng 6/2018

Trang 3

i

TRƯỜNG ĐẠI HỌC NHA TRANG

Khoa/viện: Khoa Công nghệ Thông tin

PHIẾU THEO DÕI TIẾN ĐỘ VÀ ĐÁNH GIÁ ĐỀ TÀI / KHÓA LUẬN

TỐT NGHIỆP

(Dùng cho CBHD và nộp cùng báo cáo ĐA/KLTN của sinh viên)

Tên đê tài: Xây dựng hệ thống hỗ trợ học tập và thi trực tuyến

Giảng viên hướng dẫn: Ts Đinh Đồng Lưỡng

Sinh viên được hướng dẫn: Nguyễn Tấn An MSSV: 56131369

Khóa: Khóa 56 Ngành: Công nghệ thông tin

của GVHD

Kiểm tra giữa tiến

độ của Trưởng BM

Ngày kiểm tra:

……… ………

Đánh giá công việc hoàn thành:……%:

Được tiếp tục:  Không tiếp tục: 

Ký tên

……….……

Lập trình giao diện và các chức năng của chương trình

Viết báo cáo tổng kết

Nhận xét chung (sau khi sinh viên hoàn thành ĐA/KL):

………

……….…… Điểm hình thưc:……/10 Điểm nội dung: /10 Điểm tổng kết:………/10

Đồng ý cho sinh viên: Được bảo vệ:  Không được bảo vệ: 

Khánh Hòa, ngày…….tháng…….năm 2018

Cán bộ hướng dẫn

(Ký và ghi rõ họ tên)

Trang 4

ii

LỜI CAM ĐOAN

Tôi xin cam đoan đây là công trình nghiên cứu của nhóm tôi và được sự hướng

dẫn khoa học của Ts Đinh Đồng Lưỡng Các nội dung nghiên cứu, kết quả trong đề

tài này là trung thực và chưa công bố dưới bất kì hình thức nào trước đây Những nội

dung trong phần khảo sát, phân tích, nhận xét và đánh giá được chính tác giả thu thập

từ các nguồn khác nhau có ghi rõ trong phần tài liệu tham khảo Ngoài

ra, trong đồ án còn tham khảo phần mềm của nhóm tác giả khác đều có trích dẫn và chú

thích nguồn gốc Nếu phát hiện có bất kì sự gian lận nào tôi xin hoàn toàn chịu trách

nhiệm về nội dung đồ án của mình Trường Đại học Nha Trang không liên quan đến

những vi phạm tác quyền, bản quyền do tôi gây ra trong quá trình thực hiện (nếu có)

Nha Trang, tháng 6 năm 2018

Sinh viên Nguyễn Tấn An

Trang 5

iii

LỜI CẢM ƠN

Trên thực tế không có sự thành công nào mà không gắn liền với những sự hỗ trợ,

giúp đỡ dù ít hay nhiều, dù trực tiếp hay gián tiếp của người khác Trong suốt thời gian

từ khi bắt đầu học tập ở giảng đường đại học đến nay, em đã nhận được rất nhiều sự

quan tâm, giúp đỡ của quý thầy cô, gia đình và cả bạn bè Với lòng biết ơn sâu sắc nhất,

em xin gửi đến quý thầy cô ở Khoa Công nghệ Thông tin – Trường Đại học Nha Trang

đã cùng với tri thức và tâm huyết của mình để truyền đạt vốn kiến thức quý báu cho

chúng em trong suốt thời gian học tập tại trường Và đặc biệt trong học kì này, khoa đã

tổ chức cho chúng em được tiếp cận với môn học mà theo em là rất hữu ích đối với sinh

viên, đó là Đồ án tốt nghiệp Em xin chân thành cảm ơn thầy Đinh Đồng Lưỡng đã tận

tình hướng dẫn em qua từng buổi thảo luận về tính tự học và khả năng tự nghiên cứu

Nếu không có những lời hướng dẫn, dạy bảo của thầy thì em nghĩ bài báo cáo này của

em rất khó có thể hoàn thiện được Một lần nữa, em xin chân thành cảm ơn thầy Đồ án

môn học được thuật hiện trong khoảng thời gian ngắn Bước đầu đi vào thực thế, tìm

hiểu về công nghệ mới, kiến thức mới và áp dụng kiến thức đã tìm hiểu được vào thực

tế Do vậy, không tránh khỏi những thiếu sót, em rất mong nhận được những ý kiến

đóng góp quý báo của quý thầy cô và các bạn học cùng lớp để kiến thức của em được

hoàn thiện hơn

Lời cảm ơn thầy Đinh Đồng Lưỡng Sau cùng, em xin kính chúc quý thầy cô trong

khoa Công nghệ Thông tin và ban giám hiệu trường Đại học Nha Trang thật dồi dào sức

khỏe, niềm tin để tiếp tục thực hiện sử mệnh cao đẹp của mình là truyền đạt kiến thức

cho thế hệ mai sau

Nha Trang, tháng 6 năm 2018

Sinh viên Nguyễn Tấn An

Trang 6

iv

MỤC LỤC

PHIẾU THEO DÕI TIẾN ĐỘ VÀ ĐÁNH GIÁ ĐỀ TÀI / KHÓA LUẬN

TỐT NGHIỆP i

LỜI CAM ĐOAN ii

LỜI CẢM ƠN iii

MỤC LỤC iv

DANH MỤC CÁC CHỮ VIẾT TẮT vi

DANH MỤC CÁC HÌNH vii

DANH MỤC CÁC BẢNG viii

PHẦN MỞ ĐẦU 1

CHƯƠNG 1 TỔNG QUAN VỀ VẤN ĐỀ NGHIÊN CỨU 3

1.1 Đặt vấn đề 3

1.2 Lý do chọn đề tài 3

1.3 Xác định các yêu cầu của đề tài 4

1.4 Phương pháp nghiên cứu 5

1.5 Ý nghĩa khoa học và thực tiễn 5

1.6 Cấu trúc bài báo cáo 6

CHƯƠNG 2 HỆ THỐNG GIÁO DỤC TRỰC TUYẾN (E-LEARNING) VÀ CÔNG NGHỆ HỖ TRỢ 8

2.1 Tổng quan về E-learning 8

2.1.1 Định nghĩa: 8

2.1.2 Tình hình phát triển và ứng dụng E-Learning 9

2.1.3 Lợi ích và hạn chế của E-learning: 11

2.2 Phân tích một số hệ thống E-learning 13

2.3 Công nghệ hỗ trợ 15

2.3.1 Công nghệ Meteor 15

2.3.2 Tìm hiểu về MongoDB 19

2.3.3 Tìm hiểu về React và mô hình Redux 20

2.3.4 Tìm hiểu về Webpack 23

2.3.5 Tìm hiểu về Next.js 23

2.3.6 Tìm hiểu về thư viện giao diện Ant Design 24

Trang 7

v

2.3.7 Tìm hiểu về công nghệ AI xử lý ảnh 24

2.3.8 Cấu hình hệ thống, triển khai hệ thống lên Server 26

CHƯƠNG 3 KHẢO SÁT VÀ PHÂN TÍCH HỆ THỐNG 31

3.1 Khảo sát nhu cầu các đối tượng sử dụng 31

3.1.1 Đối tượng giáo viên 31

3.1.2 Đối tượng sinh viên 32

3.1.3 Đối tượng phụ huynh 32

3.2 Khảo sát phần mềm TuiElearning 32

3.3 Thiết kế cơ sở dữ liệu 33

3.3.1 Đặc tả hệ thống 33

3.3.2 Sơ đồ phân rã chức năng 34

3.3.3.Sơ đồ lớp của chức năng quản lý đề thi và thi trực tuyến 34

CHƯƠNG 4 CÀI ĐẶT HỆ THỐNG VÀ KẾT QUẢ ĐẠT ĐƯỢC 41

4.1 Quản lý bộ đề 41

4.2 Quản lý kì thi 44

4.3 Quản lý thống kê câu hỏi 46

4.4 Một số thuật toán chính sử dụng trong chương trình 47

CHƯƠNG 5 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN TOÀN HỆ THỐNG 50

5.1 Kết luận đồ án 50

5.1.1.Kết quả đạt được 50

5.1.2.Hạn chế tồn tại 50

5.2 Hướng phát triển 51

DANH MỤC TÀI LIỆU THAM KHẢO 52

PHỤ LỤC A: TÀI LIỆU HƯỚNG DẪN SỬ DỤNG 53

Trang 8

CNTT Công nghệ thông tin

HTTP HyperText Transfer Protocol

PHP Hypertext Preprocessor

HTML HyperText Markup Language

AJAX Asynchronous JavaScript and XML DPP Distributed Data Protocol

JSON JavaScript Serialized Object Notation

NoSQL None-Relational Structured Query Language RDBMS Relational Database Management System

MVC Model-View-Controller

CSS Cascading Style Sheets

OOP Object Oriented Programming

API Application programming interface

SEO Search Engine Optimization

3rd-party Third party

AI Artificial Intelligence

Trang 9

vii

DANH MỤC CÁC HÌNH

Hình 2 1 Top 10 trang edTech Việt Nam theo lượng truy cập 11

Hình 2 2 Lưu trữ bảng ghi trong MongoDB 19

Hình 2 3 Mô tả cấu trúc dữ liệu của MongoDB 20

Hình 2 4 Mô tả về Redux 22

Hình 2 5 Nguyên lý hoạt động của Redux 22

Hình 2 6 Kiến trúc thư viện OpenCV 25

Hình 2 7 Giao diện khởi động sau khi cài đặt của Nginx trên trình duyệt 28

Hình 3 1 Sơ đồ phân rã chức năng 34

Hình 3 2 Sơ đồ lớp tổng quát của module quản lý đề và tổ chức thi trực tuyến 35

Hình 3 3 Sơ đồ phân rã từ sơ đồ lớp chức năng tạo câu hỏi 39

Hình 3 4 Sơ đồ phân rã từ sơ đồ lớp chức năng tạo kì thi 40

Hình 4 1 Giao diện hiển thị tất cả bộ đề 41

Hình 4 2 Giao diện thêm mới bộ đề 42

Hình 4 3 Giao diện thêm mới câu hỏi cho bộ đề 42

Hình 4 4 Giao diện danh sách các kì thi 43

Hình 4 5 Giao diện thêm mới kì thi - 1 43

Hình 4 6 Giao diện thêm mới kì thi - 2 44

Hình 4 7 Giao diện tham gia vào kì thi 44

Hình 4 8 Giao diện trước khi bắt đầu thi 45

Hình 4 9 Giao diện trong quá trình thi 45

Hình 4 10 Giao diện kết quả nhận dạng của mỗi thí sinh trong 1 kì thi 46

Hình 4 11 Giao diện cập nhật ảnh dữ liệu cho hệ thống AI 46

Hình 4 12 Giao diện thống kê câu hỏi trong một bộ đề thi của một kì thi 47

Trang 10

viii

DANH MỤC CÁC BẢNG

Bảng 2.1 Các định nghĩa trong SQL ánh xạ sang MongoDB 19

Bảng 3 1 Collection QuestionType 36

Bảng 3 2 Collection Question 36

Bảng 3 3 Collection QuestionOverride 37

Bảng 3 4 Collection QuestionBank 37

Bảng 3 5 Collection QuizQuestionReport 37

Bảng 3 6 Collection Quiz 38

Bảng 3 7 Collection UserExam 38

Trang 11

PHẦN MỞ ĐẦU

Ngày nay, có thể nhận thấy rằng, Internet là một “huyết mạch” quan trọng không thể thiếu, đặc biệt còn giữ vai trò rất lớn trong việc tạo sự bứt phá cho nền kinh tế chia

sẻ và thời đại cách mạng công nghiệp 4.0 đang hiện hữu khắp nơi trên toàn thế giới

Cách mạng công nghiệp 4.0 được coi là cuộc cách mạng chưa từng có trong lịch

sử nhân loại, nó sẽ diễn biến rất nhanh, là sự kết hợp của công nghệ trong các lĩnh vực vật lý, số hóa và sinh học, tạo ra những khả năng hoàn toàn mới và có tác động sâu sắc đối với các hệ thống chính trị, xã hội, kinh tế của thế giới Cuộc cách mạng công nghiệp 4.0 mà điển hình là sự bùng nổ ngày càng mạnh mẽ của công nghệ thông tin đang thay đổi diện mạo của nền giáo dục không chỉ ở các quốc gia phát triển mà còn ở các nước đang phát triển như Việt Nam

Do những thay đổi trong nền giáo dục, các nhà cải cách đại học cần xem xét học tập trực tuyến như một công cụ đào tạo toàn cầu, tăng cường khả năng tiếp cận sinh viên

và thu nhập cho nhà trường

Giáo dục trực tuyến không thay thế giáo dục truyền thống Một số trường đại học

đi đầu về đổi mới hiểu rằng học tập trực tuyến bổ sung những gì tích cực và hiện đại để tạo nên môi trường học tập hoàn hảo nhất cho mọi người Học trực tuyến làm phong phú nền giáo dục bằng cách tiếp cận thị trường mới mà giáo dục truyền thống ít chạm tới, ví dụ nhóm tuổi trên 24 Học trực tuyến đáp ứng nhu cầu của mọi người, ở các lứa tuổi khác nhau, đang tìm kiếm một loại hình đào tạo đáp ứng nhu cầu chuyên môn của mình trên con đường sự nghiệp Nó thực sự là một cách tuyệt vời để mở rộng việc tiếp cận giáo dục ở mức độ toàn cầu So với phương pháp học truyền thống, hình thức học

và thi thử trực tuyến có ưu điểm là học sinh, sinh viên có khả năng tìm tòi và tiếp cận những nguồn dữ liệu khổng lồ, sử dụng thành thạo máy tính, có kỹ thuật tìm hiểu và lấy thông tin trên internet qua đó hoàn thiện các kỹ năng cần thiết”

Một trong những lợi thế dễ nhận thấy của giáo dục trực tuyến là thị trường mới này dễ khai thác Nhu cầu học tập của những người ở xa vùng trung tâm càng ngày càng tăng cao chính là cơ hội cho học trực tuyến

Học tập trực tuyến đang là một chiều hướng phát triển hoàn toàn mới cho giáo dục đại học Khi chất lượng giáo dục đại học được nâng cao hơn nữa, nó sẽ tiếp tục kích thích sự phát triển của nền kinh tế tri thức, tăng uy tín và tài chính cho các trường Học

Trang 12

tập trực tuyến không thay thế mô hình học tập truyền thống Nhưng học tập trực tuyến đang là một trong những cơ hội thú vị nhất cho việc học tập trong vòng vài thế kỷ qua

Dựa trên những phân tích trên việc ứng dụng công nghệ thông tin trong công tác giảng dạy và quản lý đào tạo trong môi trường đại học giúp các bạn học sinh, sinh viên học tập, ôn tập, ôn luyện các bài thi, kiểm tra; giúp giáo viên có thể tạo các bài giảng, các bài tập ôn luyện cho từng đối tượng học sinh, sinh viên, các bài kiểm tra, dạy và trao đổi trực tuyến như một mạng xã hội dành cho việc học tập; giúp phụ huynh có thể theo dõi việc học tập và kết quả thi của con em mình Đồng thời các thầy cô giảng dạy có thể quản lý, tổ chức thi trực tuyến, thống kê, đánh giá các đề thi một cách dễ dàng Hơn thế nữa, hệ thống cho phép sử dụng để tổ chức các cuộc thi khác như cuộc thi “ Thách thức tin học” được tổ chức tại khoa Công nghệ Thông tin, hay các cuộc thi tiếng anh cũng có thể áp dụng hệ thống này…

Với sự hướng dẫn tận tình của giáo viên hướng dẫn TS.Đinh Đồng Lưỡng đã giúp nhóm hoàn thành bài báo cáo đồ án tốt nghiệp này Tuy đã cố gắng để tìm hiểu, phân tích thiết kế và cài đặt hệ thống nhưng chắc rằng không tránh khỏi những thiếu sót Chúng em rất mong nhận được sự góp ý của quí thầy cô Chúng em xin chân thành cảm ơn!

Trang 13

CHƯƠNG 1 TỔNG QUAN VỀ VẤN ĐỀ NGHIÊN CỨU

1.1 Đặt vấn đề

Giáo dục trực tuyến (hay còn gọi là e-learning) là phương thức học ảo thông qua một máy vi tính, điện thoại thông minh nối mạng đối với một máy chủ ở nơi khác có lưu giữ sẵn bài giảng điện tử và phần mềm cần thiết để có thể hỏi, yêu cầu, ra đề cho học sinh học trực tuyến từ xa Giáo viên có thể truyền tải hình ảnh và âm thanh qua đường truyền băng thông rộng hoặc kết nối không dây (wifi), mạng nội bộ (LAN) Mở rộng ra, các cá nhân hay các tổ chức đều có thể tự lập ra một trường học trực tuyến (e-school) mà nơi đó vẫn nhận đào tạo sinh viên, đóng học phí và có các bài kiểm tra như các trường học khác Nhưng hình thức dạy học này còn tiềm ẩn một số hạn chế sau:

 Tham gia học tập dựa trên e-Learning đòi hỏi người học phải có khả năng làm việc độc lập với ý thức tự giác cao độ Bên cạnh đó, cũng cần thể hiện khả năng hợp tác, chia sẻ qua mạng một cách hiệu quả với giảng viên và các thành viên khác

 Người học cũng cần phải biết lập kế hoạch phù hợp với bản thân, tự định hướng trong học tập, thực hiện tốt kế hoạch học tập đã đề ra

 Trong nhiều trường hợp, không thể và không nên đưa ra các nội dung quá trừu tượng, quá phức tạp Đặc biệt là nội dung liên quan tới thí nghiệm, thực hành mà Công nghệ thông tin không thể hiện được hay thể hiện kém hiệu quả

 Hệ thống e-Learning cũng không thể thay thế được các hoạt động liên quan tới việc rèn luyện và hình thành kỹ năng, đặc biệt là kỹ năng thao tác và vận động

 Sự hạn chế về kỹ năng công nghệ của người học sẽ làm giảm đáng kể hiệu quả, chất lượng dạy học dựa trên e-Learning

 Bên cạnh đó, hạ tầng công nghệ thông tin (mạng internet, băng thông, chi phí…) cũng ảnh hưởng đảng kể tới tiến độ, chất lượng học tập

1.2 Lý do chọn đề tài

Trường Đại học Nha Trang - trường đại học đa ngành đa lĩnh vực, hiện tại trường đang đào tạo 8 ngành trình độ tiến sĩ, 15 ngành trình độ thạc sĩ, 33 ngành trình độ đại học và 10 ngành trình độ cao đẳng Lưu lượng người học thường xuyên của Trường: gần 100 nghiên cứu sinh, trên 1.000 sinh viên cao học, hơn 13.000 sinh viên chính quy tại Nha Trang và trên 10.000 sinh viên hệ vừa làm vừa học tại 18 cơ sở liên kết trên cả nước Trường đã triển khai mô hình dạy học trực tuyến E-learning dựa trên Moodle và cũng đã đạt được những thành quả đáng kể Song số giảng viên đăng ký tập huấn và

Trang 14

triển khai E-learning chưa nhiều Một số lý do có thể kể đến là: Server chậm và thường xảy ra sự cố; khi giảng viên ra bài tập, bài kiểm tra, hệ thống chưa tự động email cho sinh viên biết; trao đổi trên E-learning không nhanh bằng email, khả năng quản lý và giám sát thi trực tuyến còn thiếu và chưa phù hợp

Xuất phát từ những vấn đề trên, nhóm chúng em thực hiện xây dựng bộ công cụ

hỗ trợ học tập và thi trực tuyến có các tính năng tương tự như Moodle Ngoài ra hệ thống còn được bổ sung thêm một số tính năng cho phù hợp với môi trường thực tế giảng dạy tại Việt nam nói chung và trường ĐH Nha Trang nói riêng như các tính năng tự động thông báo của hệ thống tới người học qua email cá nhân tự động email nhắc nhở sinh viên, hỗ trợ việc giám sát việc thi trực tuyến thông qua hệ camera, giám sát đọc mail của người học, thống kê và đánh giá hệ thống các câu hỏi, phân loại các mức độ khó dễ của từng câu hỏi xếp hạng sinh viên và thông báo tự động tới phụ huynh

Chúng em sử dụng các công nghệ mới nhất hiện tại đang được áp dụng trên thế giới áp dụng vào việc phân tích và xây dựng bộ công cụ này như: React, mô hình Redux, Apollo, Mongodb, Node.js, Meteor và Webpack để dễ dàng chia phần mềm ra thành rất nhiều file khác nhau Codebase có thể được chia thành các “chunks” có khả năng được nạp theo thứ tự hay yêu cầu khác nhau Điều này giúp giảm đáng kể thời gian khi khởi chạy vì hệ thống chỉ nạp một tập tin mã khi cần thiết Một tính năng tuyệt vời khác đó

là khả năng tự thêm (webpack plugin) vào trong quá trình dịch/chạy, điều này cho phép bạn thoải mái tùy chỉnh theo nhu cầu cũng như đóng góp xây dựng các plugin như mã nguồn mở (open source) Được sử dụng phía máy khách (client) để tăng tốc độ chạy, khắc phục hạn chế chạy chậm của Meteor

1.3 Xác định các yêu cầu của đề tài

Xác định yêu cầu nội dung:

Trong tổng thể toàn bộ nội dung đề tài yêu cầu cần tìm hiểu các công nghệ mới: React, Redux, Apollo, hệ quản trị MongoDB, Node.Js, Meteor, Webpack, NextJS thực hiện việc khảo sát hiện trạng, xác định yêu cầu đề tài, phân tích, thiết kế cơ sở dữ liệu

Hệ thống chia thành 2 module chính mô tả công việc của từng thành viên:

 Mô-đun 1: Thực hiện chức năng phân tích, cài đặt phần quản trị hệ thống, cài đặt phần quản lý giáo viên, sinh viên và phụ huynh trong hệ thống hỗ trợ cho việc học

và thi trực tuyến, chi tiết gồm: (Sinh viên thực hiện: Trần Tất Thắng)

- Cài đặt phần phân quyền người dùng (cho phép thiết lập quyền đối với từng người dùng cụ thể) và quản trị hệ thống (nhận và phản hồi đánh giá người dùng)

Trang 15

- Cài đặt phần quản lý giáo viên gồm tạo môn học, khóa học, lớp học, lập lịch bài giảng, tạo diễn đàn trao đổi học tập, quản lý sinh viên, quản lý việc làm bài tập của sinh viên, quản trị lớp học)

- Cài đặt phần quả lý sinh viên gồm xem danh sách và yêu cầu tham gia các khóa học, lớp học, môn học; lập thời khóa biểu học tập cho bản thân, tạo diễn đàn học tập)

- Cài đặt phần hỗ trợ phụ huynh gồm xem kết quả học tập, thời khóa biểu của sinh viên

 Mô-đun 2: Thực hiện việc phân tích, cài đặt phần quản lý đề và tổ chức thi trực tuyến trong hệ thống hỗ trợ học và thi trực tuyến, chi tiết gồm: (Sinh viên thực hiện: Nguyễn Tấn An)

- Cài đặt phần quản lý tạo đề gồm tạo đề thi trực tiếp, đề thi dạng luyện tập ôn thi có gợi ý, đề thi dạng trắc nghiệm, quản lý việc ôn tập của sinh viên, quản lý bộ đề

- Thiết kế nhiều loại câu hỏi trong một đề thi, hỗ trợ tự động chấm bài thi, tổ chức thi online, sử dụng AI xử lý ảnh thu được để chống gian lận trong quá trình thi

- Đánh giá thống kê kết quả thi, gửi mail kết quả thi về cho giáo viên và phụ huynh,

tổ chức thi online

Đối tượng hướng đến

- Người dạy có hoặc không hiểu biết nhiều về công nghệ thông tin, muốn thử nghiệm các phương pháp giảng dạy mới

- Sinh viên đào tạo từ xa, sinh viên tại chức, sinh viên đào tạo tại các cơ sở liên kết kể

cả các sinh viên đang học tại cơ sở chính

- Hỗ trợ theo dõi và quản lý của phụ huynh sinh viên

1.4 Phương pháp nghiên cứu

- Nghiên cứu và ứng dụng lý thuyết công nghệ mới về React, Mongodb, Note.js, Meteor, Webpack, NextJS phục vụ đề tài

- Thu thập nghiên cứu của tác giả trong và ngoài nước liên quan đến đề tài

- Kế thừa những ưu điểm từ những đề tài trước, khắc phục các sự cố còn tồn tại, phát triển thêm các chức năng, tối ưu lại hệ thống để vận hành ổn định

1.5 Ý nghĩa khoa học và thực tiễn

Việc ứng dụng giáo dục trực tuyến trong dạy học giúp giáo viên nâng cao tính sáng tạo và trở nên linh hoạt hơn trong quá trình giảng dạy của mình Ngoài ra, ứng dụng công nghệ thông tin trong dạy học còn giúp giáo viên có thể chia sẻ bài giảng của mình với đồng nghiệp, cùng nhau thảo luận và nâng cao chất lượng giáo án của mình

Trang 16

Việc ứng dụng giáo dục trực tuyến trong dạy học, học sinh, sinh viên được tiếp cận phương pháp dạy học mới hấp dẫn Ngoài ra, sự tương tác giữa thầy và trò được cải thiện đáng kể, học sinh, sinh viên có nhiều cơ hội được thể hiện quan điểm cũng như chính kiến riêng của mình Điều này không chỉ giúp họ ngày thêm tự tin mà còn là cơ hội cho giáo viên hiểu thêm về năng lực, tính cách và mức độ tiếp thu kiến thức của học trò, từ đó có những điều chỉnh phù hợp và khoa học

Kết quả nghiên cứu giúp giáo viên có thể quản lý lớp học từ xa, không cần phải điểm danh từng giờ lên lớp mà qua đó giám sát việc làm bài tập cá nhân, bài tập nhóm trực tiếp ngay trên hệ thống website, hệ thống hỗ trợ giáo viên việc thống kê các kết quả học tập cũng như thống kê mức độ của bộ đề để sau đó giáo viên có thể cân nhắc đến việc ra đề thi và kiểm tra đối với từng môn học khác nhau, việc thống kê bộ đề theo tỷ

lệ làm bài của sinh viên hiện nay và đa số chưa có ở các hệ thống dạy học trực tuyến tại các trường khác Đồng thời hệ thống còn có những giải pháp hỗ trợ việc chống gian lận trong tổ chức thi trực tuyến Đây là hạn chế chính của các hệ thống elearning hiện có

Kết quả nghiên cứu giúp giáo viên chủ nhiệm liên tục kết nối với phụ huynh học sinh trong suốt khóa học Mọi thông tin về kết quả học tập của sinh viên được thông báo hàng tới phụ huynh, giúp các bậc cha mẹ có thể theo dõi sát sao quá trình học của con

em mình Ngoài ra hệ thống có thể hỗ trợ việc tổ chức các chương trình game show liên quan đến vấn đề học thuật, tìm hiểu kiến thức xã hội

1.6 Cấu trúc bài báo cáo

Cấu trúc bài báo cáo gồm 5 chương:

Chương 1 Tổng quan về đề tài

Chương 2 Hệ thống giảng dạy trực tuyến (E-Learning) và công nghệ hỗ trợ

2.1 Tổng quan về E-learning

Định nghĩa về E-learning, tình hình phát triển và ứng dụng

2.2 Giải quyết vấn đề còn gặp phải

Các vấn đề còn gặp phải tại các hệ thống E-Learning của trường, hệ thống được kế thừa và trên cả nước

2.3 Các công nghệ hỗ trợ

Giới thiệu cơ sở lý thuyết sử dụng các mô hình công nghệ mới

Chương 3 Khảo sát và phân tích hệ thống

3.1 Khảo sát các đối tượng trong hệ thống

Khảo sát các đối tượng tham gia vào hệ thống

3.2 Khảo sát phần mềm TuiElearning

Trang 17

Khảo sát điểm mạnh, hạn chế của ứng dụng web hỗ trợ học và thi trực tuyến TuiElearning đã được phát triển

3.3 Thiết kế cơ sở dữ liệu

Thiết kế cơ sở dữ liệu tổng quát cho các module quản lý

Chương 4: Cài đặt hệ thống và kết quả đạt được

Các kết quả của việc cài đặt các module

Chương 5: Kết luận và hướng phát triển toàn hệ thống

Tổng kết, kết quả đã thực hiện được và hướng phát triển của đề tài

Trang 18

CHƯƠNG 2 HỆ THỐNG GIÁO DỤC TRỰC TUYẾN

(E-LEARNING) VÀ CÔNG NGHỆ HỖ TRỢ 2.1 Tổng quan về E-learning

E-learning là tập hợp đa dạng các phương tiện, công nghệ kỹ thuật cho giáo dục như văn bản, âm thanh, hình ảnh, mô phỏng, trò chơi, phim, thư điện tử, các diễn đàn thảo luận, phòng hội thảo ảo… Để tạo ra các khoá học thật gần gũi với phương pháp dạy học truyền thống, các nhà cung cấp E-learning thường đưa ra các khoá học kết hợp các tính năng trên với các chức năng như: làm bài tập, lớp học có giáo viên, các khoá học tương tác…

E-Learning giúp cho cán bộ, giảng viên, sinh viên toàn trường hoàn toàn có thể học tập bất cứ thời gian nào, tại bất cứ đâu Với sinh viên, nó mở ra một môi trường học tập mới, dễ dàng, linh hoạt và chủ động hơn nhiều Với giảng viên hệ thống cho phép gửi bài giảng điện tử cho sinh viên qua email hoặc website của Trường trước khi lên lớp; tại lớp, giảng viên chỉ tập trung hướng dẫn sinh viên lĩnh hội những kiến thức quan trọng hoặc thảo luận thay vì thuyết trình toàn bộ nội dung bài giảng và đọc chép

E-Learning giúp việc học tập trở nên thú vị hơn, hấp dẫn hơn và thuyết phục hơn, đặc biệt là đối với các môn học khó và dễ nhàm chán nhờ các slide, hình ảnh, video và audio minh họa một cách sinh động

Cán bộ, giảng viên và sinh viên cần giao tiếp, cộng tác và chia xẻ kiến thức thì E-learning có thể giúp chúng ta thu được những kết quả chắc chắn và lâu dài, không chỉ thông qua nội dung mà đồng thời bằng cả cộng đồng mạng trực tuyến, hỗ trợ “học tập thông qua nhận xét và thảo luận”

E-Learning cho phép sinh viên tự quản lí được tiến trình học tập của mình theo cách phù hợp nhất Chúng ta có nhiều cách học khác nhau như đọc, xem, khám phá, nghiên cứu, tương tác, thực hành, giao tiếp, thảo luận, chia xẻ kiến thức Với E-Learning sinh viên có thể truy cập tới rất nhiều nguồn tài nguyên phục vụ cho học tập Như vậy, mỗi người đều có quyền chọn lựa hình thức học tập phù hợp nhất với khả năng và điều kiện của mình

Trang 19

Với E-Learning chúng ta trở nên năng động hơn Cán bộ của trường có thể dùng quỹ thời gian của mình để làm việc ngoài văn phòng (tại nhà, tại cơ sở đào tạo ở xa, quán cafe hay một địa điểm nào đó có kết nối internet) E-Learning đóng một vai trò rất quan trọng trong giảm thiểu lượng thời gian dành cho đào tạo cán bộ, giảng viên, sinh viên

Learning sẽ trở thành xu thế tất yếu trong nền kinh tế tri thức Hiện nay, Learning đang thu hút được sự quan tâm đặc biệt của các nước trên thế giới Rất nhiều

E-tổ chức, công ty hoạt động trong lĩnh vực E-Learning đã ra đời

2.1.2 Tình hình phát triển và ứng dụng E-Learning

Trên thế giới:

E-Learning phát triển không đồng đều tại các khu vực trên thế giới E-Learning phát triển mạnh nhất ở khu vực Bắc Mỹ Ở châu Âu, E-Learning cũng rất có triển vọng, trong khi đó châu Á lại là khu vực ứng dụng công nghệ này ít hơn Tại Mỹ, dạy và học điện tử đã nhận được sự ủng hộ và các chính sách trợ giúp của chính phủ ngay từ cuối những năm 90, có khoảng 80% trường Đại học sử dụng phương pháp đào tạo trực tuyến, với khoảng 35% các chứng chỉ trực tuyến được chính thức công nhận E-Learning không chỉ được triển khai ở các trường Đại học mà ngay ở các công ty việc xây dựng và triển khai E-Learning cũng diễn ra rất mạnh mẽ Có nhiều công ty thực hiện việc triển khai E-Learning thay cho phương thức đào tạo truyền thống và mang lại hiệu quả cao Do thị trường rộng lớn và sức thu hút mạnh mẽ của E-Learning nên hàng loạt công ty đã chuyển sang hướng nghiên cứu và xây dựng các giải pháp về E-Learning như: Click2Learn, Global Learning Systems, Smart Force… Năm 2002, thị trường này đã đạt 13,5 tỷ USD Năm 2006, đào tạo trực tuyến đạt tới 100 tỷ USD Theo ước tính của các chuyên gia, đến năm 2010 đào tạo trực tuyến trên toàn cầu sẽ đạt 500 tỷ USD Ở các nước công nghiệp phát triển (điển hình là Mỹ), đào tạo trực tuyến đang phát triển nhanh với doanh

số đạt 10,3 tỷ USD vào năm 2002 và đạt 83,1 tỷ USD vào năm 2006

Tại châu Á, E-Learning vẫn đang ở trong tình trạng sơ khai, chưa có nhiều thành công vì một số lý do như: các quy tắc, luật lệ bảo thủ, tệ quan liêu, sự ưa chuộng đào tạo truyền thống của văn hoá châu Á, vấn đề ngôn ngữ không đồng nhất, cơ sở hạ tầng nghèo nàn và nền kinh tế lạc hậu ở một số quốc gia châu Á Tuy vậy, đó chỉ là rào cản tạm thời do nhu cầu đào tạo ở châu lục này đang trở nên ngày càng cao không thể đáp ứng được bởi các cơ sở giáo dục truyền thống buộc các quốc gia châu Á đang dần dần phải thừa nhận tiềm năng không thể chối cãi được mà E-Learning mang lại Đào tạo trực tuyến đang phát triển nhanh chóng, với doanh thu tăng trưởng 25% mỗi năm Tại Singapore, khoảng 87% trường Đại học sử dụng phương pháp đào tạo trực tuyến Tại Hàn Quốc, đến nay đã có 9 trường Đại học trực tuyến trên mạng hính phủ xem đây như một công cụ để giảm tải chi phí dạy kèm tại các trung tâm luyện thi, qua đó góp phần

Trang 20

bình đẳng trong giáo dục Cùng với đó, kênh truyền hình học đường được mở ra cùng với website cung cấp các bài giảng ôn thi đại học miễn phí, thu hút một số lượng rất lớn học sinh tham gia Một số giáo viên, giảng viên giỏi ở Hàn Quốc cho rằng e-learning mang lại cơ hội và sự công bằng hơn cho giáo dục bởi những học sinh nghèo có thể tham gia vào khóa luyện thi của những thầy giỏi với mức học phí rất ít so với lớp luyện thi thông thường Nhật Bản là nước có ứng dụng E-Learning nhiều nhất so với các nước khác trong khu vực Môi trường ứng dụng E-Learning chủ yếu là trong các công ty lớn, các hãng sản xuất, các doanh nghiệp… và dùng để đào tạo nhân viên

Tại Việt Nam:

Trong năm 2013, năm thị trường tự học trực tuyến (Self-paced E-Learning) lớn nhất châu Á là Trung Quốc, Hàn Quốc, Nhật, Ấn Độ và Úc (Ambient Insight 2014).Về tốc độ tăng trưởng, Myanmar là quốc gia có tốc độ tăng trưởng cao nhất, đạt 50,2% / năm giai đoạn 2013-2018.Việt Nam đứng thứ tư về tốc độ tăng trưởng, khoảng 40%/năm giai đoạn 2013-2018

Tại Việt Nam, giáo dục là một trong những ngành được ưu tiên cao nhất và được hưởng các nguồn đầu tư cao nhất nhằm nâng cao chất lượng giáo dục trong những năm tới Với định hướng đó, Việt Nam đã quyết định đưa công nghệ thông tin vào tất cả mọi cấp độ giáo dục nhằm đổi mới phương pháp dạy học, nâng cao chất lượng học tập trong tất cả các môn học và trang bị cho lớp trẻ đầy đủ các công cụ và kỹ năng cho kỷ nguyên thông tin Cụ thể, Bộ Giáo dục và Đào tạo phối hợp với các doanh nghiệp triển khai E-Learning và thi trực tuyến Chẳng hạn như cuộc thi “Thiết kế hồ sơ bài giảng điện tử E-Learning” năm học 2009-2010; hay cuộc thi giải toán qua mạng tại website Violympic.vn, hay cuộc thi Olympic tiếng Anh (IOE) trên mạng xã hội

Go – ioe.go.vn

Những năm trước đây, số lượng website E-Learning ở Việt Nam rất ít và chưa thực sự phải là những giải pháp E-Learning tổng thể cũng như chưa tuân theo các chuẩn cho E-Learning trên thế giới Từ năm 2006, việc triển khai ứng dụng E-Learning đã có nhiều khởi sắc, một phần là được sự quan tâm của chính phủ, một phần là sự nỗ lực của các doanh nghiệp CNTT nghiên cứu, triển khai E-Learning

Một số website E-Learning ở Việt Nam:

 2007: Trung tâm Học Mãi ra mắt website luyện thi đại học, bồi dưỡng văn hóa trực

tuyến Hocmai.vn

 8-2012: Website E-Learning dành cho tiểu học đầu tiên ra mắt: Chamhoc.vn

 Cuối năm 2012: VNG ra mắt website E-Learning Zuni.vn, cung cấp bài học và luyện

thi các cấp, ngoại ngữ, kiến thức chuyên môn và kỹ năng mềm

Trang 21

 5-2013: Viettel ra mắt trang E-Learning viettelstudy.vn, cung cấp các bài học ngoại

ngữ, luyện thi các cấp và kỹ năng mềm

 6-2014: Báo Tuổi Trẻ cùng IIG ra mắt website E-Learning.tuoitre.vn , cung cấp các

Theo khảo sát hơn 30 website E-Learning tiêu biểu của Công ty More (www.idgvv.com.vn) cho thấy, bốn nhóm dịch vụ giáo dục trực tuyến phổ biến hiện nay

là cung cấp khóa học ngoại ngữ, các chương trình ôn thi/bài giảng kiến thức phổ thông (cấp 2, cấp 3) và khóa học kỹ năng Tương ứng với bốn nhóm dịch vụ là các nhóm người dùng

2.1.3 Lợi ích và hạn chế của E-learning:

 Lợi ích:

Hỗ trợ các “đối tượng học” theo yêu cầu cá nhân hoá việc học Nội dung học tập

đã được phân chia thành các đối tượng tri thức riêng biệt theo từng lĩnh vực, ngành nghề

rõ ràng Điều này tạo ra tính mềm dẻo cao hơn, giúp cho sinh viên có thể lựa chọn những khoá học phù hợp với nhu cầu học tập của mình Sinh viên có thể truy cập những đối tượng này qua các đường dẫn đã được xác định trước, sau đó sẽ tự tạo cho mình các kế hoạch học tập, thực hành hay sử dụng các phương tiện tìm kiếm để tìm ra các chủ đề theo yêu cầu

Hình 2 1 Top 10 trang edTech Việt Nam theo lượng truy cập

Trang 22

Nội dung môn học được cập nhật, phân phối dễ dàng, nhanh chóng Với nhịp độ phát triển nhanh chóng của trình độ kỹ thuật công nghệ, các chương trình đào tạo cần được thay đổi, cập nhật thường xuyên để phù hợp với thông tin, kiến thức của từng giai đoạn phát triển của thời đại Với phương thức đào tạo truyền thống và những phương thức đào tạo khác, muốn thay đổi nội dung bài học thì các tài liệu phải được sao chép lại và phân bố lại cho tất cả các sinh viên Đối với hệ thống E-Learning, việc đó hoàn toàn đơn giản vì để cập nhật nội dung môn học chỉ cần sao chép các tập tin được cập nhật từ một máy tính địa phương (hoặc các phương tiện khác) tới máy chủ Tất cả sinh viên sẽ có được phiên bản mới nhất trong máy tính trong lần truy cập sau

Nội dung môn học được cập nhật, phân phối dễ dàng, nhanh chóng Với nhịp độ phát triển nhanh chóng của trình độ kỹ thuật công nghệ, các chương trình đào tạo cần được thay đổi, cập nhật thường xuyên để phù hợp với thông tin, kiến thức của từng giai đoạn phát triển của thời đại Với phương thức đào tạo truyền thống và những phương thức đào tạo khác, muốn thay đổi nội dung bài học thì các tài liệu phải được sao chép lại và phân bố lại cho tất cả các sinh viên Đối với hệ thống E-Learning, việc đó hoàn toàn đơn giản vì để cập nhật nội dung môn học chỉ cần sao chép các tập tin được cập nhật từ một máy tính địa phương (hoặc các phương tiện khác) tới máy chủ Tất cả sinh viên sẽ có được phiên bản mới nhất trong máy tính trong lần truy cập sau

Giáo viên có thể theo dõi sinh viên dễ dàng E-Learning cho phép dữ liệu được

tự động lưu trên máy chủ, thông tin này có thể được thay thế từ phía người truy cập vào khoá học Giáo viên có thể đánh giá các sinh viên thông qua cách trả lời các câu hỏi kiểm tra và thời gian trả lời các câu hỏi đó Điều này cũng giúp đánh giá một cách công bằng học lực của các sinh viên

E-Learning giúp giảm chi phí học tập Bằng việc sử dụng các giải pháp học tập qua mạng, các tổ chức bao gồm cả trường học có thể giảm được các chi phí tiền học nhờ tiền lương phải trả cho giáo viên, tiền thuê phòng học, chi phí đi lại và ăn ở của sinh viên Đối với những người thuộc các tổ chức này, học tập qua mạng giúp họ không mất nhiều thời gian, công sức tiền bạc trong khi di chuyển, đi lại, tổ chức lớp học,… góp phần tăng hiệu quả công việc Thêm vào đó, giá cả các thiết bị công nghệ thông tin hiện nay cũng tương đối thấp, việc trang bị cho mình những chiếc máy tính có thể truy cập vào Internet và các phần mềm trình duyệt miễn phí để thực hiện việc học tập qua mạng

là hết sức dễ dàng E-Learning còn giúp làm giảm tổng thời gian cần thiết cho việc học Theo thống kê trung bình, lượng thời gian cần thiết cho việc học giảm từ 40-60%

Hỗ trợ triển khai đào tạo từ xa Giáo viên và sinh viên có thể truy cập vào khoá học ở bất cứ chỗ nào, trong bất cứ thời điểm nào mà không nhất thiết phải trùng nhau, chỉ cần có máy tính có thể kết nối Internet

Trang 23

 Hạn chế:

Học tập theo phương pháp E-Learning đòi hỏi người học phải có tinh thần tự học,

do ảnh hưởng của cách học thụ động truyền thống, tâm lí học phải có thầy (không thầy

đố mày làm nên), nội dung quá tải tại trường… dẫn đến việc tham gia học E-Learning chưa trở thành động lực học tập Nhiều sinh viên nghèo, nhất là ở vùng sâu vùng xa, chưa thể trang bị máy vi tính kết nối Internet, nhiều thông tin trên mạng Internet dẫn đến gia đình lo lắng khi con em mình vào mạng cũng là lí do hạn chế E-Learning

Đòi hỏi phải có hạ tầng CNTT đủ mạnh, có đường truyền cáp quang, xây dựng Website trường học và Website E-Learning hoàn chỉnh chi phí cao, nếu không tận dụng hết khả năng của Web sẽ gây lãng phí

2.2 Phân tích một số hệ thống E-learning

Hiện nay, E-learning đang là một xu hướng giáo dục mới của thế giới Theo Cyber Universities, gần 90% trường Đại học tại Singapore sử dụng phương pháp đào tạo trực tuyến và ở Mỹ con số này là hơn 80% Một số công cụ phục vụ cho việc giảng dạy E-learning mã nguồn mở cũng như mã nguồn đóng đang có trên thị trường như Moodle, Blackboard, Edmodo, Dokeos

Moodle là hệ thống quản lý các khóa học trực tuyến mã nguồn mở được phát triển trên ngôn ngữ lập trình PHP và hệ quản trị cơ sở dữ liệu My SQL Hiện nay Moodle được phát triển tương thích với hầu hết các hệ cơ sở dữ liệu như SQLite, MS SQL, PostgreSQL, và cả ông lớn Oracle Theo thống kê gần đây nhất (28/12/2012) hiện trên thế giới có 72.094 site moodle đang hoạt động trên 223 quốc gia Tại Việt Nam hiện nay có 406 tổ chức, cá nhân sử dụng Moodle (chưa kể những website không đăng ký sử dụng với nhà cung cấp nguồn mở Moodle) trong đó phần lớn là các trường đại học và công ty có nhu cầu training thường xuyên cho nhân viên Với những ưu điểm như cách

sử dụng đơn giản, hiệu quả, dễ dùng, dễ cài đặt và cấu hình, hỗ trợ nhiều tập tin, bảo mật, phân quyền, quản trị hệ thống có thể tùy chỉnh vai trò của người dùng.Với những

ưu điểm này, Moodle được xem là một trong những hệ thống E-learning được hoàn thiện

và phổ biến hiện nay Bên cạnh đó Moodle cũng còn tồn tại một số hạn chế như: Tương tác giữa giáo viên và sinh viên còn kém (Việc giao tiếp giữa sinh viên và giáo viên chưa được truyền tải một cách kịp thời) Việc theo dõi quá trình học tập của sinh viên thông qua diễn đàn, bài kiểm tra,… còn nhiều thiếu xót dẫn đến việc đánh giá khả năng học tập của sinh viên nhiều khi không khách quan và thiếu chính xác Sinh viên mới tham gia vào học phải thông thạo các kỹ năng để sử dụng

Blackboard là một hệ thống quản lý học tập (Learning Management System) được sử dụng rộng rãi Blackboard là một sản phẩm cung cấp cho các doanh nghiệp và các nhà giáo dục khả năng tiếp cận và dạy cho nhân viên hoặc những người học của họ

Trang 24

thông qua một môi trường ảo Phần mềm cung cấp một hệ thống quản lý khóa học, kiến trúc mở tùy chỉnh, và thiết kế khả năng mở rộng giúp người dùng hợp nhất các hệ thống với hệ thống thông tin học sinh và quá trình xác thực Tuy nhiên hạn chế của Blackboard chính là chi phí rất đắt để triển khai và hệ thống Blackboard phát triển trên nền tảng tương đối lạc hậu

Edmodo là một nền tảng kiến thức xã hội cho sinh viên, học sinh, giáo viên trong các trường học Edmodo, giáo viên có thể tiếp tục thảo luận lớp học trực tuyến, cung cấp các cuộc thăm dò để đánh giá sự hiểu biết của sinh viên và giải thưởng phù hiệu cho học sinh dựa trên các hoạt động của học sinh Edmodo kết nối tất cả các giáo viên, phụ huynh, học sinh, và các quản trị viên trong trường hay học khu của bạn với nhau để cải thiện mạng lưới học tập chuyên nghiệp, được hỗ trợ bởi một cộng đồng toàn cầu của các nhà giáo dục Tuy nhiên Edmodo vẫn còn khá hạn chế về chức năng nếu so với Moodle, không cho phép người dùng tùy biến và chuyển đổi vai trò Mỗi nhóm học chỉ cho phép giáo viên dạy một môn học, gây khó khăn cho người dùng

Dokeos là một hệ thống quản lý học tập (Learning Management System-LMS hoặc người ta còn gọi là Course Management System hoặc VLE-Virtual Learning Environment) mã nguồn mở (do đó miễn phí và có thể chỉnh sửa được mã nguồn), cho phép tạo các khóa học trên mạng Internet hay các website học tập trực tuyến Dokeos rất dễ dùng với giao diện trực quan, giáo viên chỉ mất một thời gian ngắn để làm quen

và có thể sử dụng thành thạo Giáo viên có thể tự cài và nâng cấp Dokeos o thiết kế dựa trên module nên Dokeos cho phép bạn chỉnh sửa giao diện bằng cách dùng các theme

có trước hoặc tạo thêm một theme mới cho riêng mình Dokeos phù hợp với nhiều cấp học và hình thức đào tạo: phổ thông, đại học/cao đẳng, không chính quy, trong các tổ chức/công ty Dokeos phát triển dựa trên có thể mở rộng từ một lớp học nhỏ đến các trường đại học lớn trên 50 000 sinh Có thể dùng Dokeos với các database mã nguồn mở như MySQL hoặc PostgreSQL Đặc biệt Dokeos không chiếm nhiều tài nguyên hệ thống Dokeos còn tồn tại một số nhược điểm: Nhược điểm Dokeos là phần mềm mã nguồn mở được tách ra từ Croline nên nó tương đối mới với cộng đồng mã nguồn mở Cộng đồng phát triển của Dokeos cũng không mạnh khó về hỗ trợ kĩ thuật Thư viện hỗ trợ cho Dokeos cũng không nhiều và phong phú

Qua đó cho thấy một số hạn chế còn tồn tại ở các hệ thống E-Learning hiện nay:

- Chi phí cho việc xây dựng hệ thống cao

- Sử dụng hệ thống giao diện tùy chỉnh, thân thiện phải trả phí cao

- Công nghệ được sử dụng khá cũ, lạc hậu

Trang 25

- Việc đưa hệ thống vào sử dụng cần có sự hỗ trợ nhiều để tập huấn sử dụng cho các đối tượng không am hiểu nhiều về E-Learning

- Chưa nổi bật được vấn đề chống gian lận trong thi cử

Hướng nghiên cứu và phát triển:

- Hạ thấp chi phí tối đa cho việc xây dựng hệ thống

- Xây dựng hệ thống giao diện thân thiện, người dùng không cần phải tập huấn sử

dụng cũng có thể sử dụng một cách thành thạo

- Sử dụng các công nghệ hiện đại đang là giải pháp của nhiều công ty phần mềm trong

và ngoài nước

- Xây dựng hệ thống hướng đến người dùng là chủ yếu, tăng cường việc trao đổi thông

tin giữa các đối tượng với nhau

- Chú trọng vấn đề gian lận trong thi cử và đưa ra giải pháp thích hợp

- Xây dựng hệ thống tracking mail tự động cho biết người nhận được mail đã kiểm tra

và nhận được mail của hệ thống hay chưa

- Phân tích mức độ của bộ đề thông qua việc làm bài của sinh viên giúp giáo viên nắm

 Meteor hướng tới các đối tượng không giỏi lập trình Do đó, Meteor rất dễ học dễ làm, tài liệu về Meteor cũng rất phong phú và dễ tìm

 Nhanh chóng tạo ra sản phẩm, được các công ty start-up, các doanh nghiệp nhỏ ưu

 Có vô số module đã viết sẵn, chỉ cần gắn vào và sử dụng Ví dụ việc đăng nhập, phân quyền khá phức tạp trong C#, Java, … trong Meteor chỉ cần gắn module vào, chỉnh sửa một chút là được

 Tích hợp nhiều công nghệ như: Node.js, Express, MongoDB, WebSocket, Phonegap

và realtime

Trang 26

 Code ít, được nhiều, Deploy rất nhanh Chỉ cần code một lần, đã có thể deploy nó thành một ứng dụng web, hoặc xây dựng nó thành một ứng dụng mobile trên Android, IOS

 Nhược điểm:

 Chỉ mới hỗ trợ MongoDB làm Database Engine

 View Engine Blaze hơi khó sử dụng Hiện tại ta có thể thay thế bằng AngularJS

 SEO cũng chưa tốt, do Meteor tập trung vào phát triển ứng dụng real time, tương tác cao Nếu cần làm trang web bán hàng, blog, trang tin tức, PHP & Joomla hay WordPress vẫn là lựa chọn hàng đầu

 Module nhiều nhưng tài liệu hướng dẫn không rõ ràng (Tình trạng tương tự như npm của Nodejs, có rất nhiều module nhưng tài liệu hướng dẫn còn rất mơ hồ, khó sử dụng) [5]

2.3.1.2 Cấu trúc của một dự án Meteor

 Giới thiệu về import và export:

 Import tệp thông thường

// import CSS from absolute path

import moment from 'moment';

// default import from npm

import { HTTP } from 'meteor/http';

// named import from Atmosphere

Trang 27

 Sử dụng require (tương tự như import):

export const listRenderHold = LaunchScreen.hold(); // named export

export { Todos }; // named export

export default Lists; // default export

export default new Collection('lists'); // default export

import/

- startup/ #Thư mục chứa các tệp thiết lập khi ứng dụng khởi chạy

- client/ #Thư mục chứa những thiết lập phía client

- index.js #File chứa các thiết lập chính cho client

- routes.js #File thiết lập tất cả các routes của hệ thống

- useraccounts-configuration.js #File thiết lập tài khoản người dùng

- server/

- fixtures.js #File thêm vào database một số dữ liệu nền khi ứng dụng khởi chạy

- index.js #File khởi động máy chủ nhập tệp thông qua một điểm nhập chỉ mục duy nhất

- api/ #Thư mục chứa các collection của ứng dụng

- lists/

Trang 28

2.3.1.3 Một số package meteor được sử dụng

 Cung cấp dịch vụ gửi mail thông qua một tài khoản email được liên kết với ứng dụng

 Để cài đặt gõ lệnh: meteor add email

- publications.js #Danh sách tất cả publications có liên quan

- publications.tests.js #Danh sách các publications test

- lists.tests.js #Danh sách các tệp test của collection

- lists.js #Khai báo danh sách các collection

- methods.js #Danh sách các hàm có liên quan

- methods.tests.js #Danh sách các test của hàm

- ui/

- components/ #Thư mục chứa các component tương ứng

- import/

- layouts/ #Thành phần chứa bố cục và các component

- pages/ #Định tuyến các trang

- client/ #Phía client

- main.js #tất cả chức năng của client được import vào đây

- server/ #Phía server

- main.js #tất cả chức năng của server được import vào đây

Trang 29

2.3.2 Tìm hiểu về MongoDB

2.3.2.1 Giới thiệu về MongoDB

MongoDB là một cơ sở dữ liệu mã nguồn mở thuộc họ nhà NoSQL được phát hành sử dụng miễn phí bởi công ty MongoDB Với những ý tưởng lưu trữ mới MongoDB hoạt động trên mọi hệ điều hành phổ biến hiện nay như: Windows, Linux,

OS X và hỗ trợ đầy đủ các driver cho các ngôn ngữ lập trình để giao tiếp với chúng một cách dễ dàng nhất

Mỗi một table (bảng dữ liệu) trong SQL sử dụng thì trong MongoDB gọi là collection (tập hợp) Mỗi một record (bản ghi) trong MongoDB được gọi là document (tài liệu) [7]

 Một bản ghi của MongoDB được lưu trữ như thế nào?

Một bản ghi của MongoDB được lưu trữ dưới dạng document (tài liệu), nó được ghi xuống với cấu trúc field (trường) và value (giá trị) Giống như một đối tượng JSON

có dạng như sau:

Nói một cách dễ hiểu thì mỗi một bản ghi của MongoDB là một mảng dữ liệu riêng biệt bao gồm các cặp key, value khác nhau do đó cách lưu trữ của MongoDB là phi cấu trúc dữ liệu

 Các định nghĩa trong SQL được ánh xạ sang MongoDB như bảng sau:

Bảng 2.1 Các định nghĩa trong SQL ánh xạ sang MongoDB

Trang 30

table joins embedded documents and linking primary key (Khóa Chính) khóa chính được khởi tạo tự động là _id

2.3.2.2 Ưu và nhược điểm của MongoDB

 Không có cơ chế transaction (giao dịch) để phục vụ các ứng dụng ngân hàng

 Dữ liệu được caching, lấy RAM làm trọng tâm hoạt động vì vậy khi hoạt động yêu cầu một bộ nhớ RAM lớn

 Mọi thay đổi về dữ liệu mặc định đều chưa được ghi xuống ổ cứng ngay lập tức vì vậy khả năng bị mất dữ liệu từ nguyên nhân mất điện đột xuất là rất cao

2.3.3 Tìm hiểu về React và mô hình Redux

2.3.3.1 Ưu nhược điểm của React (ReactJS)

 Ưu điểm của React:

Hình 2 3 Mô tả cấu trúc dữ liệu của MongoDB

Trang 31

 ReactJS giúp việc viết các đoạn code JS dễ dàng hơn: Với cú pháp đặc biệt là JSX (Javascript mở rộng) cho phép kết hợp giữa mã HTML và Javascript Có thể thêm vào các đoạn HTML vào trong hàm render mà không cần phải nối chuỗi Đây là đặc tính thú vị của ReactJS Nó sẽ chuyển đổi các đoạn HTML thành các hàm khởi tạo đối tượng HTML bằng bộ biến đổi JSX

 Có nhiều công cụ phát triển: Các ứng dụng mở rộng của Chrome dành cho ReactJS giúp debug code dễ dàng hơn

 Render tầng server: Một trong những vấn đề với các ứng dụng đơn trang là tối ưu SEO

và thời gian tải trang Nếu tất cả việc xây dựng và hiển thị trang đều thực hiện ở client, thì người dung sẽ phải chờ cho trang được khởi tạo và hiển thị lên Điều này thực tế

là chậm ReactJS là một thư viện component, nó có thể vừa render ở ngoài trình duyệt

sử dụng DOM và cũng có thể render bằng các chuỗi HTML mà server trả về

 Dễ dàng viết UI Testcases

 Hiệu năng cao đối với các ứng dụng có dữ liệu thay đổi liên tục, dễ dàng cho bảo trì

và sửa lỗi

 Nhược điểm của React:

 Reactjs chỉ phục vụ cho tầng View React chỉ là View Library nó không phải là một MVC framework như những framework khác Đây chỉ là thư viện của Facebook giúp render ra phần view Vì thế React sẽ không có phần Model và Controller, mà phải kết hợp với các thư viện khác React cũng sẽ không có 2-way binding hay là Ajax

 Tích hợp ReactJS vào các framework MVC truyền thống yêu cầu cần phải cấu hình lại

 React khá nặng nếu so với các framework khác React có kích thước tương tương với Angular (Khoảng 35kb so với 39kb của Angular) Trong khi đó Angular là một framework hoàn chỉnh

 Khó tiếp cận cho người mới học Web [4]

2.3.3.2 Giới thiệu về Redux

Redux là một thư viện Javascript giúp tạo ra một lớp quản lý trạng thái của ứng dụng, được dựa trên nền tảng tư tưởng của kiến trúc Flux do Facebook giới thiệu, redux thường kết hợp hoàn hảo với React

Trang 32

 Cấu trúc của Redux: gồm 4 phần

- Action: là những đối tượng mô tả cách chúng ta muốn thay đổi state trong store

- Reducer: Khác với actions có chức năng là mô tả những thứ gì đã xảy ra, nó không chỉ rõ state nào của response thay đổi, mà việc này là do reducers đảm nhiệm, nó là nơi xác định state sẽ thay đổi như thế nào

- Store: Store là 1 object lưu trữ state của toàn bộ ứng dụng có 3 phương thức sau:

Hình 2 4 Mô tả về Redux

Hình 2 5 Nguyên lý hoạt động của Redux

Trang 33

 getState(): Giúp lấy ra state hiện tại

 dispatch(action): Thực hiện gọi 1 action

 subscrible(listener): Nó có vai trò cực quan trọng, luôn luôn lắng nghe xem có thay đổi gì không rồi ngay lập tức cập nhật ra View

 View: hiển thị dữ liệu được cung cấp bởi store

2.3.4 Tìm hiểu về Webpack

2.3.4.1 Giới thiệu về Webpack

Webpack là một module bundler nó nhận các module cùng với các dependencies

và khởi tạo ra các static assets tương ứng [12]

2.3.4.2 Mục tiêu

Chia các cây dependency thành các chunk được load khi cần thiết

 Thời gian init ngắn hơn

 Mỗi static asset đểu có thể trở thành một module

 Khả năng tích hợp 3rd-party library như module

 Khả năng custom gần như mọi thành phần của module bundler

 Phù hợp với các dự án lớn

2.3.5 Tìm hiểu về Next.js

2.3.5.1 Giới thiệu về Next.js

Next.js là một framework cho phép xây dựng ứng dụng ReactJS theo hướng server-side rendering [15]

Như đã biết, các ứng dụng web SPA (single-page-application) được xây dựng nên từ các framework phổ biến hiện nay như reactjs, angular hay vuejs là các ứng dụng client-side rendering, giả sử khi ta mở một ứng dụng reactjs hay vuejs, ta sẽ nhận về từ server một file html "rỗng" với chỉ một phần tử DOM duy nhất, thường là một thẻ div

và một file bundle.js chứa toàn bộ Ứng dụng, sau đó nội dung sẽ được render bằng trình biên dịch của javascript trên trình duyêt, sau đó ta sẽ không cần gửi yêu cầu thêm tới server toàn bộ file html như trước, mà chỉ những dữ liệu cần thiết , thường ở dạng tập tin json, vì vậy mà tốc độ ứng dụng và trải nghiệm của người dùng được nâng lên đáng

kể Khi xây dựng ứng dụng front-end với giao diện được quản lý bởi React, điểm yếu của nó là chỉ client-side-render, nên việc SEO sẽ gặp khó khăn (có thể khắc phục bằng

hệ thống ở server có khả năng xử lý javascript như Prerender.io), Next.js giúp chúng ta

có tính năng Server-Side Rendering rất dễ dàng, ngoài ra còn có các tính năng đặc trưng (thừa kế từ Babel và Webpack):

 Hot Module Replacement (HMR) – Webpack

Trang 34

 Đóng gói bundle (có code split) và chuyển mã nguồn (Babel ví dụ từ ES6 -> ES5 cho trình duyệt web hiểu)

 Tạo chỉ mục (indexing) cho các tập tin trong thư mục pages

 Phục vụ static files, với Next.js thì không cần webserver khác (Có thể dùng Nginx làm reversed proxy)

2.3.5.2 Các tính năng của Next.js

 Mặc định là Server Side Rendering

 Tự động phân chia code để load trang nhanh hơn

 Client side routing rất đơn giản (với nền tảng là page)

 Hỗ trợ Webpack môi trường dev hỗ trợ Hot Module Replacement (HMR)

 Có thể cài đặt với Express hay bất cứ Node.js HTTP server nào

 Có thể tuỳ chỉnh tối ưu với Babel và Webpack configurations

2.3.6 Tìm hiểu về thư viện giao diện Ant Design

2.3.6.1 Giới thiệu về Ant Design

Ant (Github) là tập hợp các components của React được xây dựng theo chuẩn thiết

kế của Ant UED Team Ant cung cấp hầu hết các component thông dụng trong ứng dụng web hiện đại, như Layout, Button, Icon, DatePicket,…[1] Bên cạnh đó Ant cũng có những component riêng như LocaleProvider cho phép bạn thay đổi ngôn ngữ trên toàn ứng dụng

2.3.6.2 Cách cài đặt và sử dụng

Khởi tạo dự án React và tiến hành cài đặt thư viện Ant Design theo cú pháp:

$ npm install antd save

Khai báo thư viện trong dự án:

2.3.3.2 Thư viện OpenCV

Thư viện OpenCV (Open Computer Vision library) được phát triển bởi Intel OpenCV là một thư viện mã nguồn mở phục vụ cho việc nghiên cứu hay phát triển về thị giác máy tính, tối ưu hóa xử lí các ứng dụng trong thời gian thực OpenCV Giúp cho việc xây dựng các ứng dụng xử lí ảnh, thị giác máy tính một cách nhanh hơn Thư viện có hơn 500 hàm khác nhau và hơn

Trang 35

2500 các thuật toán đã được tối ưu về hình ảnh, được chia làm nhiều phần phục vụ cho các mục đích khác nhau

OpenCV được viết bằng ngôn ngữ C và C++, được thiết kế để chạy trên nhiều nền tảng khác nhau nghĩa là nó có thể chạy trên hệ điều hành Windows, Linux, Mac, iOS

 Tổ chức thư viện OpenCV bao gồm 4 mô-đun chính và 2 mô-đun mở rộng:

CV & CVAUX: hỗ trợ các chức năng cấp cao như nhận dạng khuôn

mặt, hiệu chỉnh camera, xử lí ảnh, phân tích chuyển động Trong đó CV là mô-đun ổn định, còn CVAUX chứa các chức năng thử nghiệm để đưa vào phiên bản kế tiếp

CxCore: tổ chức dữ liệu cơ sở, thực hiện các thuật toán (phép tính ma

trận, tính toán), hỗ trợ chuẩn dữ liệu XML, các thao tác vẽ chú thích

HighGUI: giúp tạo nhanh giao diện đơn giản và hỗ trợ truy xuất

ảnh/phim từ file hoặc thiết bị ngoại vi

Hai mô-đun còn lại là MLL và IPP ít được sử dụng hơn Mô-đun MLL

(Machine Learning Library) cung cấp khả năng tự học của thuật toán với chức

năng thống kê phân loại và các thuật toán phân nhóm IPP là mô-đun thương

mại cung cấp các đoạn mã mở rộng đã được tối ưu hóa cho phần cứng của Intel giúp tăng tốc các ứng dụng lớn

Các chức năng của OpenCV tập trung vào thu thập ảnh, xử lí ảnh và các thuật toán phân tích dữ liệu ảnh, bao gồm:

Hình 2 6 Kiến trúc thư viện OpenCV

Trang 36

 Truy xuất ảnh và phim: đọc ảnh số từ camera, từ file, ghi ảnh và phim

 Cấu trúc dữ liệu ảnh số và các dữ liệu hỗ trợ cần thiết: ma trận, vector, chuỗi, xâu và cây

 Xử lí ảnh căn bản: các bộ lọc có sẵn, tìm chi tiết cạnh, góc, chỉnh đổi màu, phóng to thu nhỏ, và hiệu chỉnh histograms

 Phân tích dữ liệu ảnh: nhận dạng thực thể, theo dõi các chi tiết và phân tích chuyển động

 Chức năng vẽ, chú thích lên ảnh

2.3.3.2 Thư viện học máy Sklearn

Scikit-learn (viết tắt là sklearn) là một thư viện mã nguồn mở dành cho học máy, rất mạnh mẽ và thông dụng với cộng đồng Python, được thiết kế trên

nền NumPy và SciPy Scikit-learn chứa hầu hết các thuật toán machine learning hiện

đại nhất, đi kèm với documentations, luôn được cập nhật [10]

Những ưu điểm của thư viện sklearn

 Hỗ trợ hầu hết các thuật toán của machine learning một cách đơn giản, hiệu quả mà chúng ta không cần phải mất công ngồi cài đặt lại

 Có tài liệu hướng dẫn sử dụng

 Độ tin cậy cao do scikit-learn được xây dựng bởi các chuyên gia hàng đầu

 Có nguồn dữ liệu phong phú: iris, digit,…

2.3.8 Cấu hình hệ thống, triển khai hệ thống lên Server

2.3.3.2 Giới thiệu về Nginx

Nginx là một máy chủ proxy ngược mã nguồn mở (open source reverse proxy server) sử dụng phổ biến giao thức HTTP, HTTPS, SMTP, POP3 và IMAP , cũng như dùng làm cân bằng tải (load balancer), HTTP cache và máy chủ web (web server) Dự

án Nginx tập trung vào việc phục vụ số lượng kết nối đồng thời lớn (high concurrency), hiệu suất cao và sử dụng bộ nhớ thấp Nginx được biết đến bởi sự ổn định cao, nhiều tính năng, cấu hình đơn giản và tiết kiệm tài nguyên Nginx hiện đang được sử dụng bởi các dịch vụ web có lượng truy vấn cực cao như là Netflix, Hulu, Pinterest, CloudFlare, Airbnb, WordPress.com, GitHub, SoundCloud, Zynga, Eventbrite, Zappos, Media Temple, Heroku,…

Không giống như các chương trình máy chủ khác, Nginx không dựa vào luồng (threads) để xử lý các truy vấn (request) Thay vào đó, Nginx sử dụng kiến trúc hướng

sự kiện (event-driven) không đồng bộ (asynchronous) và có khả năng mở rộng Ngay cả khi không cần phải xử lý hàng ngàn truy vấn đồng thời, thì vẫn nên sử dụng Nginx do

Trang 37

hiệu suất cao và yêu cầu bộ nhớ thấp của Nginx so với Apache Nginx có thể được sử dụng trên VPS cấu hình thấp nhất cho đến một hệ thống rộng lớn như Cloud Server với nhiều Clusters

Những tính năng của máy chủ HTTP Nginx:

 Có khả năng xử lý hơn 10.000 kết nối cùng lúc với bộ nhớ thấp

 Phục vụ tập tin tĩnh (static files) và lập chỉ mục tập tin

 Tăng tốc proxy ngược bằng bộ nhớ đệm (cache); cân bằng tải đơn giản và khả năng chịu lỗi

 Hỗ trợ tăng tốc với bộ nhớ đệm của FastCGI, uwsgi, SCGI, và các máy chủ memcached

 Kiến trúc modular; tăng tốc độ nạp trang bằng nén gzip tự động

 Hỗ trợ mã hoá SSL và TLS

 Cấu hình linh hoạt; lưu lại nhật ký truy vấn

 Chuyển hướng lỗi 3XX-5XX

 Rewrite URL (URL rewriting) dùng regular expressions

 Hỗ trợ truyền tải file FLV và MP4

2.3.3.2 Cách cài đặt Nginx trên server Ubuntu 16.04

Nginx đã được Ubuntu team cung cấp gói cài đặt Nginx mặc định trên kho phần mềm Trước hết ta cần cập nhật dữ liệu của apt pakaging system, và hệ thống sẽ cập nhật được danh mục phần mềm mới nhất trên kho Sau đó mới thực hiện cài đặt Nginx:

$ sudo apt-get update

$ sudo apt-get install nginx

Người dùng có thể sẽ bị nhắc yêu cầu nhập mật khẩu sử dụng, nhập vào để hoàn thành việc cài đặt Gói phần mềm phù hợp sẽ được tải về và tự động cài đặt Sau khi cài đặt xong, hãy truy cập vào IP của bạn sẽ thấy giao diện của Nginx Nếu quá trình cài đặt thành công sẽ hiển thị giao diện như hình bên dưới.[2]

Trang 38

Hình 2 7 Giao diện khởi động sau khi cài đặt của Nginx trên trình duyệt

Một số lệnh dùng để quản lý Nginx:

 Để dừng WebServer, gõ lệnh:

$ sudo s service nginx stop

 Để khởi động web server sau khi dừng, gõ:

$ sudo service nginx start

 Để dừng, và chạy lại ngay sau đó, thường là dùng trong trường hợp file cấu hình nginx thay đổi, gõ:

$ sudo service nginx restart

 Để cấu hình cho Nginx tự khởi động khi hệ thống reboot, start-up với dòng lệnh:

$ sudo s update-rc.d nginx defaults

 Nếu cài đặt này mặc định đã có trước đó, bạn sẽ thấy thông báo:

$ System start/stop links for /etc/init.d/nginx already exist

Điều này có nghĩa là cấu hình đã có sẵn rồi, hành động chạy lại là không cần thiết

Từ giờ, Nginx của bạn sẽ tự khởi động cùng hệ thống

 Kiểm tra tình trạng hoạt động của Nginx:

$ systemctl status nginx

 Trong trường hợp tiến trình Nginx HTTP bị chặn do tường lửa của hệ thống chưa cho phép, tiến hành cấp phép quyền cho Nginx để truy cập vào dịch vụ với câu lệnh:

$ sudo ufw allow 'Nginx HTTP'

2.3.3.2 Cấu hình Hosting và Domain cho Nginx

Trước tiên, chúng ta cần phải tạo ra một thư mục dành cho domain cần thêm vào

Trang 39

$ sudo mkdir -p /home/ecopar.lokatech.net/public_html

$ sudo mkdir -p /home/ecopar.lokatech.net/log

Cấp quyền cho tài khoản hệ thống hiện tại được phép thay đổi nội dung trong thư mục mới tạo trên:

$ sudo chmod -R 755 /var/www

Tiếp theo là hãy copy file /etc/nginx/sites-available/default thành một file cấu hình cho domain muốn thêm vào với tên là /etc/nginx/sites-available/thachpham.com

$ sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/

ecopar.lokatech.net

Sau đó mở tệp ecopar.lokatech.net ra, ở phần listen 80 tìm:

server_name localhost;

Sửa localhost thành domain đã thiết lập:

server_name ecopar.lokatech.net ecopar.lokatech.net;

Xóa chữ default_server đi cho thành listen 80

Tìm và xóa đoạn này:

listen [::]:80 default_server ipv6only=on;

Và thêm đoạn sau vào bên dưới đoạn server_name để nó lưu log thành một file riêng cho dễ debug sau này:

error_log /home/ecopar.lokatech.net/log/error.log error;

Sau khi chỉnh sửa nội dung tệp cấu hình có dạng như sau:

Trang 40

server_name ecopar.lokatech.net ecopar.lokatech.net;

Cuối cùng tiến hành khởi động lại Nginx, để hoàn tất việc thiết lập cấu hình mới:

$ sudo service nginx restart

Ngày đăng: 02/02/2021, 20:41

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1]. AFX Team, 2015, Ant Design, truy cập 21/4/2018, https://ant.design/ Link
[2]. Digital Ocean, 2000, Install Nginx on Ubuntu, truy cập 25/4/2018, https://www.digitalocean.com/community/tutorials/how-to-install-nginx-on-ubuntu-16-04 Link
[3]. Digital Ocean, 2000, Setup Nginx on Ubuntu, truy cập 25/4/2018, https://www.digitalocean.com/community/tutorials/how-to-set-up-nginx-server-blocks-virtual-hosts-on-ubuntu-16-04 Link
[4]. Facebook, 2013, React, truy cập 2/5/2018, https://reactjs.org/ Link
[5]. Meteor Development, 1995, Build Javascript App, truy cập 13/4/2018, https://www.meteor.com Link
[6]. Meteor Development, 1995, Meteor Tutorial, truy cập 13/4/2018, https://www.meteor.com/tutorials/angular/creating-an-app Link
[7]. MongoDB, 2008, MongoDb Manual, truy cập 15/4/2018, https://docs.mongodb.com/manual/ Link
[8]. Percolate Studio, 2013, Explore Meteor Packages, truy cập 25/5/2018, https://atmospherejs.com/ Link
[9]. Refsnes Data, 1998, AngularJS Tutorial, truy cập 16/5/2018, http://www.w3schools.com/angular Link
[10]. Scikit-learn’s development, 2011, Machine Learning in Python, truy cập 25/5/2018, http://scikit-learn.org/stable/ Link
[11]. Stack Exchange, 2008, Question tagged [meteor], truy cập 5/5/2018, http://stackoverflow.com/search?q=meteor Link
[12]. Tobias Koppers, Johannes Ewald, Sean T. Larkin and Kees Kluskens, 1996, Webback, truy cập 26/4/2018, https://webpack.js.org/ Link
[13]. Tom Coleman and Sacha Greif, 2015, Discover Meteor, truy cập 14/4/2018, https://www.discovermeteor.com Link
[14]. VietJack Team, 2015, AngularJs cơ bản và nâng cao, truy cập 12/5/2018, http://vietjack.com/angularjs/ Link
[15]. ZEIT Team, 2016, NextJS Getting Started, truy cập 13/4/2018, https://nextjs.org/learn/ Link

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w