CHƯƠNG I: CƠ SỞ LÍ THUYẾT VÀ CÔNG CỤ PHÁT TRIỂN WEBSITE 1. Tổng quan về website bán hàng trực tuyến 1. Website bán hàng là gì? Website bán hàng [6] là Website cho phép doanh nghiệp và khách hàng có thể tiến hành việc mua bán sản phẩm/dịch vụ trực tuyến. Cụ thể, khi truy cập vào các Website này, người dùng có thể xem thông tin sản phẩm, tìm kiếm các sản phẩm cần mua, đặt hàng và thanh toán nhanh chóng.
Website bán hàng hoạt động hiệu quả hỗ trợ một phần hoặc thay thế cho các cửa hàng bán lẻ và nhân viên. Không có vị trí địa lý hoặc thời gian ngày / đêm. Người dùng có thể mua sắm ở bất cứ đâu chỉ với một vài cú nhấp chuột. Đối với mỗi doanh nghiệp, việc tạo ra mạng lưới bán hàng trực tuyến của riêng mình đã trở nên vô cùng quan trọng.
Ưu điểm: - Có một cửa hàng online bán hàng 24/7 và thúc đẩy bán hàng mọi lúc mọi nơi. - Sẽ tiết kiệm được rất nhiều chi phí cho cửa hàng. - Giảm được chi phí quảng cáo, marketing. - Có thể tiếp cận cả các khách hàng ở xa.
- Giảm chi phí vận hành. - Học một chút SEO google, bạn sẽ có nhiều khách hàng một cách liên tục, tự động. - Nhiều hình thức phong phú, thuận tiện cho khách hàng hơn: chuyển khoản, ví điện tử, cổng thanh toán trực tuyến,. - Thể hiện sự kinh doanh nghiêm túc, chuyên nghiệp.
- Trong thời gian có dịch hạn chế đi ra ngoài, việc mua sắm trực tuyến, giao hàng tận nhà thuận tiện để bảo vệ sức khỏe. SVTH: Đoàn Thị Nhung 7 GVHD: T.S Lê Thị Quỳnh Liên Nhược điểm: - Dễ bị lừa đảo, vấn đề bảo mật thông tin không được đảm bảo hoàn toàn vì vậy, dễ bị hacker tấn công lấy cắp dữ liệu của khách hàng nếu không có các hình thức bảo mật an toàn. Công cụ xây dựng website MVC là tên gọi tắt của Model – View – Controller – một mẫu kiến trúc (architectural pattern) lâu đời và rất phổ biến trong phát triển phần mềm. Mẫu kiến trúc MVC được áp dụng rộng rãi trong ứng dụng web, desktop và mobile.
Trên thực tế, mẫu MVC nguyên bản vốn được xây dựng dành cho ứng dụng với giao diện đồ họa tương tự ứng dụng desktop chứ không phải cho ứng dụng web. Tuy nhiên, hiện nay mẫu kiến trúc này được sử dụng rộng rãi nhất trong các web framework.NET Core MVC chỉ là một trong số các web framework vận dụng mẫu kiến trúc MVC. Đây là các web framework nổi tiếng khác vận dụng kiến trúc MVC. Mỗi ứng dụng hoặc framework diễn giải MVC theo cách riêng của mình và thường tập trung hơn vào một số khía cạnh của mẫu kiến trúc này.
Ví dụ, mẫu MVC ứng dụng trên Rails hay Spring không hoàn toàn giống với ASP.NET Core, mặc dù đều có 3 thành phần cơ bản tương tự nhau. Tuy nhiên, dù vận dụng ở đâu và theo cách nào, mẫu này cũng hướng tới phân tách việc biểu diễn dữ liệu khỏi quản lý và xử lý dữ liệu. Để tạo ra sự phân tách này, mẫu MVC phân chia ứng dụng ra 3 thành phần với nhiệm vụ cơ bản như sau: Model – dữ liệu và trạng thái của ứng dụng. View – khuôn mẫu dành cho hiển thị dữ liệu.
Controller – cập nhật model và lựa chọn view. Mỗi thành phần của ứng dụng MVC chỉ chịu trách nhiệm cho một mảng duy nhất. Khi các thành phần kết hợp lại và tương tác với nhau sẽ tạo ra giao diện người dùng. SVTH: Đoàn Thị Nhung 8 GVHD: T.S Lê Thị Quỳnh Liên Hình ảnh 1.
1: Mô hình MVC Nguồn: https://kungfutech. Tương tác giữa các thành phần trong mô hình MVC Nhìn chung, thứ tự các sự kiện xảy ra khi ứng dụng phản ứng với tương tác/yêu cầu của người dùng như sau: Controller nhận yêu cầu. Controller lấy dữ liệu từ model, hoặc cập nhật dữ liệu của model. Controller lựa chọn view phù hợp cho việc hiển thị dữ liệu và chuyển dữ liệu của model sang cho view.
View sử dụng dữ liệu của model để sinh ra giao diện. SVTH: Đoàn Thị Nhung 9 GVHD: T.S Lê Thị Quỳnh Liên Hình ảnh 1. 2: Tương tác giữa các thành phần trong mô hình MVC Nguồn: https://tuhocict.com Với cách mô tả MVC như trên, controller đảm nhiệm vai trò điểm tiếp nhận của tương tác. Người dùng trao đổi với controller để bắt đầu một tương tác.
Trong ứng dụng web, tương tác này chính là truy vấn HTTP. Như vậy khi một truy vấn HTTP tới ứng dụng, controller sẽ xử lý truy vấn. Tùy thuộc vào truy vấn, controller có thể thực hiện nhiều hoạt động khác nhau. Tuy nhiên các hoạt động này hầu như đều thực hiện trong sự kết hợp với model.
Model hoàn toàn độc lập với cách thức hiển thị của dữ liệu trên giao diện do view đảm nhiệm. Sự độc lập giữa model và view giúp đơn giản hóa việc test. Thông thường rất khó để test giao diện. Khi không liên quan đến giao diện, thành phần model còn lại sẽ dễ dàng hơn để test.
Sự độc lập này cũng cho phép controller lựa chọn view cho phù hợp với yêu cầu. Tức là, với cùng một dữ liệu (model), controller có thể lựa chọn những cách hiển thị (view) khác nhau. SVTH: Đoàn Thị Nhung 10 GVHD: T.S Lê Thị Quỳnh Liên 1. MVC trong ASP.Net Core Ở trên chúng ta đã nhắc tới kiến trúc MVC ở mức độ sơ lược.
Như đã nói, mỗi framework vận dụng MVC với những đặc thù riêng ASP.NET Core cũng vậy. Chúng ta sẽ xem xét một số khái niệm gắn với cách thực hiện kiến trúc MVC trong ASP. Dưới đây là sơ đồ chi tiết minh họa hoạt động của một ứng dụng xây dựng theo kiến trúc MVC trong ASP. 3: MVC trong ASP.Net Core Nguồn: https://tuhocict.com SVTH: Đoàn Thị Nhung 11 GVHD: T.S Lê Thị Quỳnh Liên Đây là một chu kỳ xử lý từ lúc nhận được truy vấn HTTP cho đến khi sinh ra HTML.
Truy vấn HTTP sẽ được cơ chế routing ánh xạ sang một phương thức xác định gọi là action.NET Core MVC, action là phương thức được thực thi để đáp ứng lại một truy vấn. Để thực thi, action cần đến dữ liệu đầu vào chứa trong truy vấn HTTP. Dữ liệu được trích ra từ truy vấn thông qua cơ chế model binding. Binding model là một object đóng vai trò “thùng chứa” dữ liệu trích xuất ra từ truy vấn để cung cấp cho action.
Binding model là kết quả hoạt động của cơ chế model binding và là tham số đầu vào cho action. Controller trong ASP.NET Core là class chứa các action có quan hệ nhất định. Action khi thực thi sẽ tương tác với các thành phần còn lại của ứng dụng như các dịch vụ, cơ sở dữ liệu. Với cách tiếp cận DDD (Domain-driven Design), phần dữ liệu nghiệp vụ được thể hiện qua các domain model.
Tất cả các thành phần dịch vụ, domain model, v., được gọi chung là application model. Quá trình tương tác này sẽ sinh ra dữ liệu phục vụ cho hiển thị, gọi là view model. View model là object đơn giản chứa dữ liệu cần thiết để sinh ra giao diện. Thông thường view model là một biến thể của dữ liệu lấy được từ application model cùng với dữ liệu phụ trợ cho hiển thị (như tiêu đề, phân trang, v.
View trong ASP.NET Core MVC là các trang Razor chứa loại mã hỗn hợp C# + HTML theo cú pháp Razor. Vì vậy người ta cũng thường gọi view trong ASP.NET Core MVC là Razor view. Kết quả xử lý của Razor view là HTML. SVTH: Đoàn Thị Nhung 12 GVHD: T.S Lê Thị Quỳnh Liên 1.
Cơ sở dữ liệu Microsoft SQL Server SQL Server [7] là một hệ quản trị cơ sở dữ liệu quan hệ (Relational Database Management System (RDBMS) ) sử dụng câu lệnh SQL (Transact-SQL) để trao đổi dữ liệu giữa máy Client và máy cài SQL Server. Một RDBMS bao gồm databases, database engine và các ứng dụng dùng để quản lý dữ liệu và các bộ phận khác nhau trong RDBMS. SQL Server được phát triển và tiếp thị bởi Microsoft. Ưu điểm: - Có thể cài nhiều phiên bản MS SQL khác nhau trên cùng một máy tính.
- Duy trì riêng biệt các môi trường sản xuất, phát triển, thử nghiệm. - Giảm thiểu các vấn đề tạm thời trên cơ sở dữ liệu. - Tách biệt các đặc quyền bảo mật. - Duy trì máy chủ dự phòng.
Nhược điểm: - SQL Server chỉ chạy trên hệ điều hành Windows. - Cần thanh toán phí license để chạy nhiều cơ sở dữ liệu (database). Microsoft Visual Studio Visual studio [8] là một trong những công cụ hỗ trợ lập trình web rất nổi tiếng nhất hiện nay của Mcrosoft và chưa có một phần mềm nào có thể thay thế được nó. Visual Studio được viết bằng 2 ngôn ngữ đó chính là C# và VB+.
Đây là 2 ngôn ngữ lập trình giúp người dùng có thể lập trình được hệ thống một các dễ dàng và nhanh chóng nhất thông qua Visual Studio. Visual Studio là một phần mềm lập trình hệ thống được sản xuất trực tiếp từ microsoft. Từ khi ra đời đến nay, Visual Studio đã có rất nhiều các phiên bản sử dụng khác nhau. Điều đó, giúp cho người dùng có thể lựa chọn được phiên bản tương thích với dòng máy của mình cũng như cấu hình sử dụng phù hợp nhất.
Bên cạnh đó, Visual Studio còn cho phép người dùng có thể tự chọn lựa giao diện chính cho máy của mình tùy thuộc vào nhu cầu sử dụng. SVTH: Đoàn Thị Nhung 13 GVHD: T.S Lê Thị Quỳnh Liên 1. Thanh toán điện tử bằng thẻ Visa Website Bulky có tính năng tích hợp thanh toán điện tử bằng thẻ visa. Đây là hình thức thanh toán điện tử phổ biến nhất hiện nay, với khoảng 90% các giao dịch thương mại đều sử dụng hình thức này.
[9] Lợi ích của việc sử dụng thanh toán điện tử bằng thẻ Visa: - Thanh toán linh hoạt trên toàn cầu - Tính bảo mật cao - Nhiều ưu đãi khi sử dụng - Dịch vụ hỗ trợ chăm sóc khách hàng tốt và nhanh chóng.4: Thẻ thanh toán bằng thẻ visa Nguồn : https://einvoice.vn SVTH: Đoàn Thị Nhung 14 GVHD: T.S Lê Thị Quỳnh Liên CHƯƠNG II: MÔ TẢ VÀ PHÂN TÍCH CHỨC NĂNG CỦA WEBSITE 2. Tổng quan về cửa hàng Bulky Bulky – cửa hàng chuyên bán các sản phẩm làm thủ công như khẩu trang, bình hoa, đồng hồ, tranh nghệ thuật…Cửa hàng làm sản phẩm bằng sự tâm huyết và mong muốn khách hàng trải nghiệm những sản phẩm tốt nhất. 1: Logo của cửa hàng Bulky Nguồn: Tác giả. Tên cửa hàng: Bulky Địa chỉ: 53 Hà Công, Hương Chữ, Hương Trà, Huế Số điện thoại: 0984671409 2.