CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI 1. Giới thiệu đề tài Bán hàng trực tuyến hiện nay đang được coi là một trong những chiến lược kinh doanh cực kỳ hiệu quả đối với các cửa hàng doanh nghiệp kinh doanh và đặc biệt là xây dựng hệ thống Website kết hợp với các trang mạng xã hội đang phát triển hiện nay như Facebook,TikTok … Đã đem lại rất thành công cho nhiều doanh nghiệp và cửa hàng đặc biệt là trong thời đại công nghệ, cho nên nhu cầu mua sắm online càng nhiều. Đã có rất nhiều ngôn ngữ, Framework xây dựng hệ thống bán hàng trực tuyến rất thuận tiện và thành công và đã thu lại một nguồn lợi nhuận rất lớn ví dụ như các cửa hàng Thegioididong, FPTShop, Lazada… họ đã rất thành công với việc bán hàng từ hệ thống Website. Bên cạnh những lợi ích từ việc xây dựng hệ thống Website bán hàng thì cũng gặp không ít khó khăn trong việc chọn ngôn ngữ, Framework để xây dựng hệ thống để đáp ứng đầy đủ nhu cầu của người kinh doanh và khách hàng tìm kiếm thông tin.
Do đó em chọn đề tài “Xây dựng website bán quà lưu niệm sử dụng VueJS + Laravel” có thể phần nào giúp cửa hàng trình bày sản phẩm và thông tin, giúp cho khách hàng có thể có nhu cầu tìm kiếm thông tin sản phẩm và đặt hàng online một cách dễ dàng. Mục đích đề tài Xây dựng hệ thống Website trình bày sản phẩm, tin tức, giới thiệu, thông tin chi tiết cho từng sản phẩm, tin tức, và có thể quản lý sản phẩm, tin tức, các module, một cách thuận tiện và thân thiện với người dùng nhất. Nghiên cứu và đưa một số công nghệ vào hệ thống Website, cung cấp thông tin hữu ích về sản phẩm, hỗ trợ đẩy mạnh kinh doanh cũng như vấn đề về bảo mật, giúp khách hàng có thể dễ dàng tìm kiếm thông tin và một giao diện đẹp nhất. Đối tượng phạm vi nghiên cứu - Đối tượng nghiên cứu: + MySQL + JavaScript 8 + VueJS + Firebase + PHP + Laravel + Xampp - Phạm vi nghiên cứu đối với các hoạt động liên quan đến bán hàng qua mạng + Hiển thị và quản lý thông tin sản phẩm + Quản lý đơn hàng + Quản lý sản phẩm + Quản lý danh mục sản phẩm + Quản lý danh mục bài viết + Quản lý bài viết + Quản lý người dùng 1.
Ý nghĩa đề tài Với việc xây dựng được một Website bán đồ quà lưu niệm trực tuyến sẽ giúp ích được nhiều cho chủ cửa hàng vừa và nhỏ có thể quản lý được các sản phẩm của mình khi thống kê và giao dịch, công việc sẽ được rút ngắn xuống. Có thể giúp người tiêu dùng có thể tiếp cận được những sản phẩm mà không cần phải đến trực tiếp, hỗ trợ thông tin sản phẩm. Người tiêu dùng cũng có thể gửi phản ánh những thắc mắc về sản phẩm về cho chủ cửa hàng biết. Mô hình Client – Server 1.
Khái niệm Mô hình Client - Server là mô hình mạng máy tính trong đó các máy tính con được đóng vai trò như một máy khách, chúng làm nhiệm vụ gửi yêu cầu đến các máy chủ. Để máy chủ xử lý yêu cầu và trả kết quả về cho máy khách đó. 9 Hình 1 Mô hình Client-Server 1. Nguyên tắc hoạt động Trong mô hình Client Server, server chấp nhận tất cả các yêu cầu hợp lệ từ mọi nơi khác nhau trên Internet, sau đó trả kết quả về máy tính đã gửi yêu cầu đó.
Máy tính được coi là máy khách khi chúng làm nhiệm vụ gửi yêu cầu đến các máy chủ và đợi câu trả lời được gửi về. Để máy khách và máy chủ có thể giao tiếp được với nhau thì giữa chúng phải có một chuẩn nhất định, và chuẩn đó được gọi là giao thức. Một số giao thức được sử dụng phổ biến hiện nay như: HTTPS, TCP/IP, FTP,. Nếu máy khách muốn lấy được thông tin từ máy chủ, chúng phải tuân theo một giao thức mà máy chủ đó đưa ra.
Nếu yêu cầu đó được chấp nhận thì máy chủ sẽ thu thập thông tin và trả về kết quả cho máy khách yêu cầu. Bởi vì Server - máy chủ luôn luôn trong trạng thái sẵn sàng để nhận request từ client nên chỉ cần client gửi yêu cầu tín hiệu và chấp nhận yêu cầu đó thì server sẽ trả kết quả về phía client trong thời gian ngắn nhất. • Ưu điểm của mô hình - Giúp chúng ta có thể làm việc trên bất kì một máy tính nào có hỗ trợ giao thức truyền thông. Giao thức chuẩn này cũng giúp các nhà sản xuất tích hợp lên nhiều sản phẩm khác nhau mà không gặp phải khó khăn gì.
10 - Có thể có nhiều server cùng làm một dịch vụ, chúng có thể nằm trên nhiều máy tính hoặc một máy tính. - Chỉ mang đặc điểm của phần mềm mà không hề liên quan đến phần cứng, ngoài yêu cầu duy nhất là server phải có cấu hình cao hơn các client. - Hỗ trợ người dùng nhiều dịch vụ đa dạng và sự tiện dụng bởi khả năng truy cập từ xa. - Cung cấp một nền tảng lý tưởng, cho phép cung cấp tích hợp các kỹ thuật hiện đại như mô hình thiết kế hướng đối tượng, hệ chuyên gia, hệ thông tin địa lý (GIS).
• Nhược điểm - Vấn đề bảo mật dữ liệu thông tin đôi khi còn chưa được an toàn do phải trao đổi dữ liệu giữa 2 máy tính khác nhau ở 2 khu vực địa lý cách xa nhau. Và đây cũng nhược điểm duy nhất của mô hình này. - Tuy nhiên vấn đề này thì có một số giao thức đã hỗ trợ bảo mật dữ liệu khi truyền tải. Giao thức được sử dụng phổ biến như HTTPS.
PHP và Framework Laravel 1. PHP PHP là chữ viết tắt của “Personal Home Page” do Rasmus Lerdorf tạo ra năm 1994. Vì tính hữu dụng của nó và khả năng phát triển, PHP bắt đầu được sử dụng trong môi trường chuyên nghiệp và nó trở thành “PHP: Hypertext Preprocessor” Thực chất PHP là ngôn ngữ kịch bản nhúng trong HTML, nói một cách đơn giản đó là một trang HTML có nhúng mã PHP, PHP có thể được đặt rải rác trong HTML. PHP là một ngôn ngữ lập trình được kết nối chặt chẽ với máy chủ, là một công nghệ phía máy chủ (Server-Side) và không phụ thuộc vào môi trường (cross-platform).
Đây là hai yếu tố rất quan trọng, thứ nhất khi nói công nghệ phía máy chủ tức là nói đến mọi thứ trong PHP đều xảy ra trên máy chủ, thứ hai, chính vì tính chất không phụ thuộc môi trường cho phép PHP chạy trên hầu hết trên các hệ điều hành như Windows, Unix và nhiều biến thể của nó. Đặc biệt các mã kịch bản PHP viết trên máy chủ này sẽ làm việc bình thường trên máy chủ khác mà không cần phải chỉnh sửa hoặc chỉnh sửa rất ít. Framework Laravel 11 Laravel là một trong những PHP web framework phổ biến nhất theo mẫu MVC (Model-View- Controller). Được tạo bởi Taylor Otwell, Laravel framework là nguồn mở và miễn phí giúp đưa ra các sản phẩm chất lượng cao.
Các code sẽ được giảm thiểu đi, nhưng vẫn đạt tiêu chuẩn ngành, giúp tiết kiệm được hàng trăm giờ đồng hồ dành cho việc phát triển. Bản phát hành đầu tiên vào năm 2011, phiên bản hiện tại đã ra mắt là Laravel 8. Có thể kể đến các ưu điểm như: - Tiếp cận các tính năng mới nhất của PHP - Tích hợp dịch vụ mail dựa trên nền tảng đám mây hoặc local nhờ API sạch trên thư viện SwiftMailer - Dễ sử dụng nhờ tuân theo mẫu thiết kế mô hình 3 lớp MVC dễ hiểu - Tính bảo mật cao - Công cụ tích hợp cho dòng lệnh Artisan - Tạo liên kết đến các Route được đặt tên - Tốc độ xử lý nhanh, đáp ứng nhu cầu tạo lập Website hay các dự án lớn trong thời gian ngắn - Tuy nhiên Laravel cũng có một số nhược điểm nhất định: - Làm chậm tốc độ tải trang vì Laravel nặng cho thiết bị di động - Không hỗ trợ tính năng tính toán 12 Hình 2 Sơ đồ hoạt động của Laravel theo mô hình MVC Vì Laravel cũng sử dụng theo mô hình MVC nên luồng hoạt động cơ bản sẽ là khi người dùng gửi một yêu cầu lên hệ thống thông qua một route, route đó sẽ gọi đến một Controller và một action trong đó, Controller xử lý các yêu cầu của người dùng. Trong quá trình làm việc đó, Controller sẽ phải thông qua lớp Model nếu muốn làm việc với Cơ sở dữ liệu.
Sau khi xử lý xong, Model sẽ đưa dữ liệu về cho Controller, Controller tiếp tục đưa sang View và View hiển thị lại cho người dùng kết quả cuối cùng. 13 Hình 3 Cấu trúc thư mục của dự án Laravel 14 Bảng 1 Cấu trúc thư mục của Laravel Folder/File Mô tả app Thư mục app, chứa tất cả các project được tạo, hầu hết các class trong project được tạo đều ở trong đây. Không giống các framwork khác, các file model không được chứa trong một thư mục riêng biệt, mà được chứa ngay tại thư mục app này. app/Console Thư mục Console, chứa các tập tin định nghĩa các câu lệnh trên artisan.
app/Exceptions Thư mục Exceptions, chứa các tập tin quản lý, điều hướng lỗi. app/Http/Controllers Thư mục Controllers, chứa các controller của project. app/Http/Middleware Thư mục Middleware, chứa các tập tin lọc và ngăn chặn các requests. app/Providers Thư mục Providers, chứa các file thực hiện việc khai báo service và bind vào trong Service Container.
bootstrap Thư mục bootstrap, chứa những file khởi động của framework và những file cấu hình auto loading, route, và file cache. config Thư mục config, chứa tất cả những file cấu hình. database Thư mục database, chứa 2 thư mục migration (tạo và thao tác database) và seeds (tạo dữ liệu mẫu), tiện lợi để lưu trữ dữ liệu sau này. public Thư mục public, chứa file index.php giống như cổng cho tất cả các request vào project, bên trong thư mục còn chứa file JavaScript, và CSS.
resources Thư mục resources, chứa những file view và raw, các file biên soạn như LESS, SASS, hoặc JavaScript. Ngoài ra còn chứa tất cả các file lang trong project. resources/views Thư mục views, chứa các file view xuất giao diện người dùng. routes Thư mục routes, chứa tất cả các điều khiển route (đường dẫn) trong project.
Chứa các file route sẵn có: web.php, và console.php File web.php, điều khiển các route của view, như route của trang top, sản phẩm, .env, chứa các config chính của Laravel. artisan File thực hiện lệnh của Laravel.gitattributes File dành cho xử lý git.json File của Composer.lock composer-setup.js File package.js, chứa các package cần dùng cho projects.xml File phpunit.xml, xml của phpunit dùng để testing project.js File webpack.js, file dùng để build các webpack.