LỜI MỞ ĐẦU Trước xu thế của nền công nghệ 4.0, nhu cầu ứng dụng ngành công nghệ thông tin vào trong các lĩnh vực quân sự, nghiên cứu khoa học, phát triển kinh tế, giáo dục, sức khỏe,… đang được sử dụng rất phổ biến. Tất cả các quốc gia đang cố gắng làm chủ kiến thức và tìm cách áp dụng thành tựu của Công nghệ thông tin vào mọi ngành kinh tế - xã hội - giáo dục. Và đặc biệt trong thời điểm dịch Covid-19 đang hoành hành khắp thế giới, mọi hoạt động liên quan tới kinh tế - xã hội – giáo dục bị đình trệ Do vậy, việc ứng dụng công nghệ vào việc kinh doanh bán hàng của một số của hàng như bán quần áo, điện thoại, giày dẹp, mỹ phẩm,… đã trở thành một vấn đề cần được giải quyết ở ngành công nghệ thông tin. Trước nhu cầu cần thiết đó cùng mong muốn những kiến thức mình đã được học trên ghế nhà trường áp dụng vào thực tế, góp phần xây dựng trang web nhằm nắm bắt xu thế của nền công nghệ 4.
Đồng thời tạo ra sự thuận tiện giữa người bán và người mua một cách nhanh chóng. Nhóm quyết định chọn đề tài “Tìm hiểu và xây dựng ứng dụng web bán khóa học với Vuejs và Laravel”. Đề tài được chia thành các chương sau: Chương 1: Tổng quan Chương 2: Khảo sát hiện trạng Chương 3: Tiếp nhận yêu cầu phân tích và mô hình hóa yêu cầu Chương 4: Thiết kế cơ sở dữ liệu Chương 5: Thiết kế giao diện và xử lý Chương 6: Cài đặt và kiểm thử Chương 7: Kết luận Chúng em xin gửi lời cảm ơn đến giáo viên hướng dẫn cô Lê Thị Minh Châu. Người đã tận tình chỉ bảo chúng em hiểu biết cách vận dụng các kiến thức đã học vào đề tài, biết phân tích chuyên sâu một vấn đề, biết cách thiết kế một phần mềm thân thiện, tiện ích cho người sử dụng và biết cách nghiên cứu tìm hiểu những kiến thức mới xii do an Khóa luận tốt nghiệp – Website bán khóa học CHƯƠNG 1: TỔNG QUAN 1.
Tổng quan về REST và RESTful API 1. Định nghĩa Hình 1. 1: Giới thiệu về REST API RESTful API là một tiêu chuẩn dùng trong việc thiết kế API cho các ứng dụng web (thiết kế Web services) để tiện cho việc quản lý các resource. Nó chú trọng vào tài nguyên hệ thống (tệp văn bản, ảnh, âm thanh, video, hoặc dữ liệu động…), bao gồm các trạng thái tài nguyên được định dạng và được truyền tải qua HTTP.
Diễn giải các thành phần trong RESTful API Tên thành phần Định nghĩa API (Application Programming Interface) là một tập các quy tắc và cơ chế mà theo đó, một ứng dụng hay một thành phần sẽ tương tác với một ứng dụng hay thành phần khác. API có thể trả về dữ liệu mà bạn cần cho ứng dụng của mình ở những kiểu dữ liệu phổ biến như JSON hay XML. REST (REpresentational State Transfer) là một dạng chuyển đổi cấu trúc dữ liệu, một kiểu kiến trúc để viết API. Nó sử dụng phương thức HTTP đơn giản để tạo cho giao tiếp giữa các máy.
Vì vậy, 1 do an Khóa luận tốt nghiệp – Website bán khóa học thay vì sử dụng một URL cho việc xử lý một số thông tin người dùng, REST gửi một yêu cầu HTTP như GET, POST, DELETE, vv đến một URL để xử lý dữ liệu RESTful API Là một tiêu chuẩn dùng trong việc thiết kế các API cho các ứng dụng web để quản lý các resource. RESTful là một trong những kiểu thiết kế API được sử dụng phổ biến ngày nay để cho các ứng dụng (web, mobile…) khác nhau giao tiếp với nhau. Chức năng quan trọng nhất của REST là quy định cách sử dụng các HTTP method (như GET, POST, PUT, DELETE…) và cách định dạng các URL cho ứng dụng web để quản các resource. RESTful không quy định logic code ứng dụng và không giới hạn bởi ngôn ngữ lập trình ứng dụng, bất kỳ ngôn ngữ hoặc framework nào cũng có thể sử dụng để thiết kế một RESTful API Bảng 1.
1: Bảng diễn giải các thành phần trong RESTful API 2 do an Khóa luận tốt nghiệp – Website bán khóa học 1. Cách thức hoạt động của REST và RESTful API Hình 1. 2: Cách thức hoạt động của RESTful API REST hoạt động chủ yếu dựa vào giao thức HTTP. Các hoạt động cơ bản nêu trên sẽ sử dụng những phương thức HTTP riêng.
• GET (SELECT): Trả về một Resource hoặc một danh sách Resource. • POST (CREATE): Tạo mới một Resource. • PUT (UPDATE): Cập nhật thông tin cho Resource. • DELETE (DELETE): Xoá một Resource.
Khi chúng ta request tới 1 API nào đó thường sẽ có những status code để nhận biết trạng thái của request đó • 200 OK – Trả về thành công cho những phương thức GET, PUT, PATCH hoặc DELETE. • 201 Created – Trả về khi một Resouce vừa được tạo thành công. • 204 No Content – Trả về khi Resource xoá thành công. • 304 Not Modified – Client có thể sử dụng dữ liệu cache.
• 400 Bad Request – Request không hợp lệ • 401 Unauthorized – Request cần có auth. • 403 Forbidden – bị từ chối không cho phép. • 404 Not Found – Không tìm thấy resource từ URI • 405 Method Not Allowed – Phương thức không cho phép với user hiện tại. • 410 Gone – Resource không còn tồn tại, Version cũ đã không còn hỗ trợ.
• 415 Unsupported Media Type – Không hỗ trợ kiểu Resource này. 3 do an Khóa luận tốt nghiệp – Website bán khóa học • 422 Unprocessable Entity – Dữ liệu không được xác thực • 429 Too Many Requests – Request bị từ chối do bị giới hạn 1. Ưu nhược điểm khi sử dụng REST, RESTful API Ưu điểm Nhược điểm Performance - Hiệu năng: các thành Bảo mật kém hơn so với SOAP phần đảm bảo được việc giao tiếp theo đúng một quy ước giúp hệ thống có thể Do không lưu trạng thái giữa Client - vận hành tốt hơn. Server nên khối lượng thông tin truyền tải lớn -> tốn tài nguyên Modifiability -Tính khả biến: với các hệ thống cần thay đổi các tài nguyên Chỉ hoạt động trên giao thức HTTP liên tục, sử dụng REST với việc tạo request đơn giản sẽ giúp mọi chuyển trở nên đơn giản hơn.
Scalability - Tính mở rộng: các hệ thống REST có khả năng mở rộng rất cao nhờ sự tách biệt giữa các thành phần và các quy ước giao tiếp được quy định sẵn. Portability - Tính linh hoạt: việc chuẩn hoá interface giúp hệ thống trở nên linh hoạt hơn, có thể sử dụng cho cho nhiều nền tảng khác nhau, mobile, web,. Visibility - Trong sáng: trong giao tiếp giữa các thành phần, các request trở nên rất rõ ràng, dễ hiểu. Simplicity - Đơn giản: xây dựng rất đơn giản Reliability - Tính tin cậy: khó để xảy ra lỗi trong giao tiếp giữa các thành phần gây sụp đổ hệ thống.
2: Bảng so sánh ưu nhược điểm khi sử dụng REST và RESTful API 4 do an Khóa luận tốt nghiệp – Website bán khóa học 1. Tổng quan về framework Vuejs 1. Giới thiệu về framework Vuejs + Vuejs được phát triển và ra mắt vào năm 2015 và bắt đầu từ thời điểm đó Vuejs đã và đang trở thành 1 framework Frontend thay thế cho Reactjs và Angular + Vuejs áp dụng mô hình MVVM ( Model-View-ViewModel ) + Thư viện cốt lõi nhất của Vue là tập trung vào View + Vuejs là 1 trong những progressive framework ( chia các thành phần nhỏ khác nhau và chúng ta có thể lựa chọn để sử dụng ) bên cạnh đó thì Vuejs cũng là 1 frontend framework dùng để xây dựng SPA ( Single Page Appilcation ) Hình 1. 3: Mô hình áp dụng của Vuejs Tốc độ phát triển của Vuejs: + Trở thành 1 trong những framework được người dùng download bằng npm nhiều nhất trong vòng 5 năm (2016-2020) + Đứng thứ 2 trong tổng số các Web framework được người dùng yêu thích nhất thông qua khảo sát năm 2019 của StackOverflow 5 do an Khóa luận tốt nghiệp – Website bán khóa học Hình 1.
4: Tỉ lệ download bằng npm vủa vuejs và các framework js khác Hình 1. 5: Khảo sát các web framework được yêu thích nhất 2019 6 do an Khóa luận tốt nghiệp – Website bán khóa học 1. Cách thức hoạt động, ứng dụng thực tiễn của Vuejs Hệ thống giám sát những thay đổi là điểm nổi bật nhất của Vue. Model chỉ đơn giản là những đối tượng Javascript, khi những đối tượng này thay đổi thì View sẽ được cập nhật.
Chính vì vậy nó giúp việc quản lý trạng thái đơn giản hơn và trực quan hơn Ứng dụng thực tiễn ở những công ty lớn:Xiaomi, Alibaba, WizzAir, EuroNews, Grammarly, Gitlab và Laracasts, Adobe, Behance, Codeship, Reuters 1. Ưu và nhược điểm khi sử dụng Vuejs Ưu điểm Nhược điểm Empowered HTML: Nó có thể giúp Thiếu tài nguyên: Vuejs vẫn có thị phần tối ưu hóa việc xử lý các khối HTML khá nhỏ. Việc chia sẻ kiến thức trong khi sử dụng các thành phần khác nhau. cộng đồng vẫn còn khá ít.
Chưa hỗ trợ chính thức nền tảng phát Tài liệu hướng dẫn chi tiết: Nhờ có triển ứng dụng di động tài liệu chi tiết mà việc học tập trở nên nhanh chóng, tiết kiệm thời gian phát triển ứng dụng Khả năng tương thích. Việc chuyển sang sử dụng Vuejs từ các Js framework khác tương đối nhanh chóng. Bởi vì Vue khá tương đồng với Angular và React về mặt thiết kế và kiến trúc. Khả năng tích hợp tốt: Vuejs có thể được sử dụng cho việc xây dựng cả ứng dụng (single-page applications) phức tạp hoặc chỉ một phần của ứng dụng.
Điều này cho phép bạn cập nhật, nâng cấp ứng dụng mà không ảnh hưởng quá nhiều tới hệ thống hiện tại. Large scaling: Vuejs có thể phát triển những giao diện có khả năng tái sử dụng cao. 7 do an Khóa luận tốt nghiệp – Website bán khóa học Kích thước nhỏ. Toàn bộ thư viện chỉ có kích thước 20KB Bảng 1.
3: Bảng so sánh ưu nhược điểm khi sử dụng Vuejs 1. Tổng quan về framework Laravel 1. Giới thiệu về framework Laravel Laravel là một PHP Framework mã nguồn mở và miễn phí, được phát triển bởi Taylor Otwell và nhằm mục tiêu hỗ trợ phát triển các ứng dụng web theo cấu trúc model- view- controller (MVC). Những tính năng nổi bật của Laravel bao gồm cú pháp dễ hiểu - rõ ràng, một hệ thống đóng gói Modular và quản lý gói phụ thuộc, có nhiều cách khác nhau để truy cập vào các cơ sở dữ liệu quan hệ, có nhiều tiện ích khác nhau hỗ trợ việc triển khai vào bảo trì ứng dụng.