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 1BỘ 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 2BỘ 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 3i
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 4ii
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 5iii
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 6iv
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 7v
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 8CNTT 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 9vii
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 10viii
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 11PHẦ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 12tậ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 13CHƯƠ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 14triể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 16Việ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 17Khả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 18CHƯƠ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 19Vớ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 20bì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 22Nộ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 24thô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 282.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 292.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 30table 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 352500 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 37hiệ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 38Hì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 40server_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