CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI 1. LÍ DO CHỌN ĐỀ TÀI Thế giới vẫn đang điêu đứng vì đại dịch covid 19 bởi thế nên ngày càng nhiều người tìm đến và yêu thích hình thực học trực tuyến. Tuy nhiên, nếu không có tác động của đại dịch này thì học trực tuyến vẫn được rất nhiều trung tâm đào tạo và học viên ưu chuộng. Học trực tuyến e learning đem lại rất nhiều hiệu quả cho quá trình học tập.
Trong thời gian đại dịch Covid 19 diễn ra ngày càng phức tạp, học trực tuyến đã và đang trực tiếp thể hiện vai trò quan trọng của mình. E-learning cho phép học viên làm chủ hoàn toàn quá trình học của bản thân, từ thời gian, lƣợng kiến thức cần học cũng như thứ tự học các bài, đặc biệt là cho phép tra cứu trực tuyến những kiến thức có liên quan đến bài học một cách tức thời, duyệt lại những phần đã học một cách nhanh chóng, tự do trao đổi với những người cùng học hoặc giáo viên ngay trong quá trình học. Để trực tiếp đi vào thực tiễn nghiên cứu các khó khăn, vướng mắc và đóng góp một giải pháp để giải quyết câu hỏi ấy, nhóm chúng em quyết định chọn đề tài “ÁP DỤNG CÔNG NGHỆ SPRINGBOOT RESTFUL API ĐỂ XÂY DỰNG WEBSITE E–LEARNING”. Với đề tài này nhóm chúng em mong muốn xây dựng một hệ thống e-learning đơn giản, gọn nhẹ, linh hoạt, dể quản lý với sự kết hợp của hai công nghệ Reactjs và Spring boot.
TÍNH CẤP THIẾT CỦA ĐỀ TÀI Hiện nay ở Việt Nam, dạy và học vẫn còn theo phương thức truyền thống: việc dạy theo quy định chính thức, việc học bị lệ thuộc vào việc dạy khi người thầy là đối tượng duy nhất truyền đạt tri thức. Học sinh học một cách thụ động, thầy bảo gì làm nấy, thường là có rất ít sự sáng tạo. Phương pháp học tập theo một lối mòn, giáo trình học cũ kỹ, xuất bản từ rất lâu, không theo kịp với sự phát triển của xã hội. Mặc dù có sự nâng cao kiến thức xã hội từ việc học hướng ngoại nhưng phần lớn học viên ra trường đều phải đào tạo thêm thậm chí là đào tạo lại vì kiến thức thu được hầu như chỉ là kiến thức trong sách vở và thiếu tính thực tế.
Trong quá trình học tập, học viên ít được đưa ra ý kiến của mình về việc giảng dạy của thầy giáo, điều đó làm ảnh hưởng đến chất lượng giảng dạy và học tập, thầy giáo thì không biết học sinh của mình muốn học theo hình thức nào còn học viên thì không hài lòng với phương pháp giảng dạy của thầy. Với phương pháp học tập E-learning, học viên chỉ cần ngồi trước máy tính tự thao tác học tập, thực hành và làm bài tập theo ý muốn. Các chức năng như tổ chức biểu diễn tri thức, sau đó thể hiện tri thức đó trên máy tính và việc tổ chức quản lý học tập đều do học viên tự điều chỉnh và thao tác. Với các tính năng ưu việt như vậy, E-learning ngày càng được biết đến và được sử dụng như là một công cụ trợ giảng đắc lực nhất.
KHẢO SÁT HIỆN TRẠNG CÁC ỨNG DỤNG TƯƠNG TỰ 1. Đánh giá tổng quan cả 3 trang web CÁC TIÊU CHÍ CODE LEARN FHQX EDUZ Giao diện Giao diện đẹp, dễ sử Giao diện đơn giản Giao diện đơn giản, Website dụng, dể tiếp cận nhưng hơi khó sử nhiều thông tin và dụng hơn khó cho người dùng mới Tốc độ tải trang Nhanh. Dể dàng điều Tường minh, rõ ràng Có nhiều tính năng Tính năng nhiều hướng chưa được người nhưng cách tiếp cận dùng tiếp cận. chưa được cụ thể Thân thiện với Hỗ trợ responsive tốt Hỗ trợ responsive Hỗ trợ responsive nhiều loại thiết trên các loại thiết bị tương đối tốt trên các tương đối tốt trên các bị loại thiết bị loại thiết bị Xây dựng nội Nội dung đa dạng, Nội dung chỉ tập Nội dung tương đới dung tính năng hỗ trợ rất trung vào hỗ trợ học nhiều, chưa tập trung nhiều, nhưng không tập vào chất lượng nội hướng đến sự tương dung tác giữa các học viên và giáo viên.
SEO Khả năng SEO tốt, dể Khả năng SEO tương Khả năng SEO tương dàng tìm kiếm. đối ổn đối ổn Khả năng nâng Có thể nâng cấp tính Có thể nâng cấp tính Có thể nâng cấp tính cấp năng tốt mà không năng tốt mà không năng tốt mà không ảnh hưởng đến các ảnh hưởng đến các ảnh hưởng đến các tính năng trước đó tính năng trước đó tính năng trước đó Khả năng tiếp Tiếp cận dể dàng với Tiếp cận với các đối Tiếp cận đối với mọi cận những đối tượng đang tượng đang được đào người dùng học công nghệ thông tạo tại các trường đại tin học 17 Bảng 1. Đánh giá các trang web tương tự 1. Các chức năng đặc biệt của từng trang web PHÂN LOẠI CODE LEARN FHQX EDUZ Chức năng cơ - Quản lý các khóa - Quản lý các lớp, - Quản lý lớp học, bản học, các học sinh trong học sinh, các chủ đề, học viên, có các hạng lớp học đó, các bài nội dung, mục nộp mục học tập dành cho giảng, bài kiểm tra.
các lứa tuổi khác nhau - Có không gian để lập - Có không gian lưu trình, test case, chấm trữ các bài nộp. - Có các diễn đàn, điểm. ebook-sách có trả phí - Có thông báo, diễn và thông tin. - Có diễn đàn thảo luận đàn cho sinh viên cho các thành viên Chức năng mới -Tính năng thi đua -Tích hợp nhiều dạng trong học tập giữa các tìm kiếm, bài kiểm tra thành viên.
Phân tích chức năng của các website tương tự 1. KẾT QUẢ DỰ KIẾN ĐẠT ĐƯỢC Dựa trên các kết quả khảo sát hiện trạng mà nhóm đã thực hiện, nhận thấy rằng một trang web sinh thái học trực tuyến cần có những yêu cầu sau đây: 1. Yêu cầu phi chức năng: Giao diện đơn giản và đẹp, không cầu kì phức tạp, dể dàng sử dụng. Hạn chế lỗi xảy ra trên giao diện và các chức năng Tốc độ phản hồi tương đối nhanh Dể dàng tiếp cận, thân thiện với mọi người dùng.
Hỗ trợ responsive tốt ở nhiều thiết bị khác nhau 1. Yêu cầu chức năng: Tài khoản, phải có phân quyền người dùng: Admin, Giảng Viên, Sinh Viên Có các chủ đề, hạng mục, tin tức, diễn đàn 18 Không gian lưu trữ tài nguyên trong lớp. Thực hiện được bài kiểm tra, bài tập ở hai phương thức tự luận và trắc nghiệm ngay tại website. Hiển thị danh sách bài giảng, tài liệu.
Giảng viên gửi thông báo cho học sinh của lớp. ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU 1. Đối tượng Sinh viên: người dùng đăng nhập với tài khoản sinh viên và sẽ được tham gia vào các lớp học đang thể hiện trên hệ thống. Trong lớp, sinh viên được tiếp cận với những tài liệu, giáo trình và có thể nhận được các thông báo cũng như là lịch trình đến từ giảng viên của lớp đó.
Trong các bài giảng, tài liệu, sinh viên có thể trao đổi với nhau và với giảng viên về những kiến thúc cũng như đặt câu hỏi để củng cố kiến thức. Sinh viên sẽ được tham gia thực hiện các bài kiểm tra hoặc bài tập từ giảng viên để ôn lại những kiến thức mình vừa tiếp thu dưới hai phương thức tự luận và trắc nghiệm. Sau khi hoàn thành bài tập hoặc bài kiểm tra sinh viên có thể xem lại điểm của mình. Giảng viên: người dùng đăng nhập với tài khoản giảng viên sẽ được thao tác trên những khung lớp học đã được dựng sẵn.
Ở đó, giảng viên có thể tạo chủ đề, thảo luận; đăng bài giảng, tài liệu; xây dựng những bài tập và bài kiểm tra dành cho sinh viên. Admin: người quản trị của hệ thống. Quản lý tài khoản người dùng trên website và quản lý các lớp học trên trang. Xem báo cáo về các thông số tương tác của người dùng trên website và tổng kết theo một chu kỳ nhất định.
Phạm vi nghiên cứu Website tập trung vào việc xử lý các chức năng nghiệp vụ của một website học tập trực tuyến, như những website khác đã hoạt động trên thị trường. Bao gồm những chức năng cốt lõi như: đăng nhập, đăng ký thông qua những bên khác như gmail, số điện thoại; hệ thống chức năng bài tập, bài kiểm tra; xem và lưu trữ tài liệu với nhiều loại đa dạng; 19 theo dõi tình hình học tập, điểm số…Về quản trị, xây dựng đầy đủ các chức năng CRUD, tìm kiếm người dùng, lớp học… 1. BẢNG PHÂN CÔNG TÊN THÀNH CÔNG VIỆC GHI CHÚ VIÊN Phan Tấn Thành Review Test case Hoàn thành Viết báo cáo. tốt Lập trình front-end, viết API.
Kiểm thử phần mềm. Đặng Nguyễn Viết Test case Hoàn thành Quyết Thắng Lập trình back-end tốt Thiết kế CSDL, vẽ Class Diagram, Sequence Diagram. Viết, chỉnh sửa và định dạng báo cáo Kiểm thử phần mềm Vẽ UI Bảng 3. Bảng phân công việc làm của nhóm 20 CHƯƠNG 2: CÁC CÔNG NGHỆ SỬ DỤNG 2.
KIẾN TRÚC CHUNG CỦA HỆ THỐNG Kiến trúc chung của hệ thống bao gồm có 3 tầng truyền thống, tầng hiển thị front-end (reactJS), tầng ứng dụng back-end (Spring boot) và tầng cơ sở dữ liệu (MySQL). Kiến trúc chung của hệ thống Kiến trúc của ứng dụng gồm 6 phần cơ bản người dùng (client) gửi yêu cầu (make request) thông qua tầng giao diện, sau đó phía frontend sẽ gửi request đó cho backend, backend nhận được request và tiến hành truy xuất CSDL và trả lại cho frontend để hiển thị thông tin mà người dùng mong muốn. CÔNG NGHỆ SỬ DỤNG Ở FRONT-END 2. ReactJS ReactJS là một thư viện chứa nhiều JavaScript mã nguồn mở được Facebook xây dựng và phát triển.
Thư viện này được sử dụng để tạo ra các ứng dụng trang web hấp dẫn với hiệu quả cao, tốc độ load nhanh và mã tối thiểu. Mỗi website sử dụng ReactJS phải chạy nhanh, mượt và có khả năng mở rộng cao, thao tác thực hiện đơn giản. Lợi ích của ReactJs: ReactJS tạo ra cho bản thân nó một Dom ảo, nơi các Component được tồn tại trên đó và việc tạo ra Dom giúp cải thiện hiệu suất làm việc tốt hơn. Việc viết code trở nên dễ dàng hơn bởi nó sử dụng một cú pháp đặc biệt là JSX, cho phép trộn được giữa code HTML và JavaScript.
Bên cạnh đó người dùng có thể sử dụng đoạn code này để thêm vào hàm Render mà không cần thực hiện việc nối chuỗi. ReactJS có nhiều công cụ phát triển nhờ cài đặt thêm ứng dụng mở rộng của Chrome chuyên sử dụng cho ReactJS.