CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI 1. Tổng quan về đề tài - Trong thời đại cách mạng công nghiệp 4.0, thương mại điện tử (TMĐT) đã phát triển rất nhanh chóng trên thế giới và cả ở Việt Nam. Theo khảo sát của Hiệp hội Thương mại điện tử Việt Nam (VECOM), tốc độ tăng trưởng của thương mại điện tử đạt trên 32%. Quy mô thương mại điện tử bán lẻ hàng hoá và dịch vụ tiêu dùng năm 2019 đạt khoảng 11,5 tỷ USD.
VECOM dự đoán tốc độ tăng trưởng của năm 2020 sẽ tiếp tục duy trì ở mức trên 30%, khi đó quy mô thương mại điện tử Việt Nam sẽ vượt con số 15 tỷ USD. Mô hình bán hàng trực tuyến mở rộng và phát triển không chỉ đơn thuần ở việc các doanh nghiệp bán lẻ xây dựng website cho phép khách hàng “đi chợ” trực tuyến, mà còn ở việc hàng loạt các chuyên trang TMĐT nội địa và nước ngoài đang nhanh chóng thâm nhập sâu và rộng vào thị trường thương mại nước ta. Có thể kể ra hàng loạt các website TMĐT đang hoạt động khá tốt tại thị trường Việt Nam như Lazada, Tiki, Shopee, Sendo,… Các website này liên tục có những màn mời chào ấn tượng, giảm giá thường xuyên theo ngày, sản phẩm ngày càng đa dạng, phong phú để người dùng dễ dàng lựa chọn. - TMĐT hiện đại thường sử dụng công nghệ World Wide Web, hay còn gọi là Web sẽ giúp bạn đưa những thông tin mong muốn của mình lên mạng Internet cho mọi người cùng xem một cách dễ dàng với các công cụ và những ngôn ngữ lập trình khác nhau.
Sự ra đời của các ngôn ngữ lập trình cho phép chúng ta xây dựng các trang Web đáp ứng được các yêu cầu của người sử dụng. - Bằng việc thực hiện đề tài “Xây dựng website bán dụng cụ làm bếp”, em muốn tìm hiểu vể công nghệ ReactJS cũng như quá trình xây dựng một website TMĐT nhằm giải quyết công việc bán hàng trực tuyến. Website mang lại rất nhiều lợi ích như: khả năng quảng cáo các loại sản phẩm được phổ biến, việc kinh doanh sẽ mở 24/24, giảm thiểu chi phí nhân viên cho việc tiếp thị, dễ dàng nhận phản hồi từ phía khách hàng, dễ quản lý hàng hóa và xem thống kê doanh thu,. - Website bán hàng giúp cung cấp cho khách hàng những lựa chọn linh hoạt và tiện lợi trong việc tìm mua sản phẩm thông qua chức năng tìm kiếm và giỏ hàng.
Các thông 1 BÁO CÁO ĐỒ ÁN CHUYÊN NGÀNHHỒ ĐỨC PHÚ – 181A010209 tin về sản phẩm được hiển thị chi tiết với từng sản phẩm, từ đó khách hàng dễ dàng nhận biết và lựa chọn được sản phẩm phù hợp. Tìm hiểu “Xây dựng website bán dụng cụ làm bếp”. Lý thuyết: - Tìm hiểu về thương mại điện tử. - Tìm hiểu về ngôn ngữ JavaScript và các công nghệ: HTML, CSS, ReactJS.
Thực hành: - Xây dựng website bán dụng cụ làm bếp với các chức năng: + Trang chủ giới thiệu, quảng cáo sản phẩm. + Lập giỏ hang, đặt hàng. Công cụ sử dụng: - Visual Studio Code. Mục tiêu đề tài - Xây dựng các chức năng cơ bản của website bán hàng thương mại điện tử.
- Đảm bảo việc mua bán sản phẩm giữa shop bán hàng và khách hàng diễn ra nhanh chóng. - Giúp người quản lý quản lý tình hình hoạt động của cửa hang. - Đảm bảo khách hàng có thông tin chính xác về sản phẩm. 2 BÁO CÁO ĐỒ ÁN CHUYÊN NGÀNHHỒ ĐỨC PHÚ – 181A010209 CHƯƠNG 2: SƠ LƯỢC VỀ CÔNG CỤ 2.
Xây dựng hệ thống 2.1 Giới thiệu Visual Studio Code - Visual Studio Code là một trình biên tập lập trình code miễn phí dành cho Windows, Linux và macOS, Visual Studio Code được phát triển bởi Microsoft. Nó được xem là một sự kết hợp hoàn hảo giữa IDE và Code Editor. Nó hỗ trợ chức năng Debug, đi kèm với Git, có syntax highlighting, tự hoàn thành mã thông minh, snippets, và cải tiến mã nguồn. Nhờ tính năng tùy chỉnh, Visual Studio Code cũng cho phép người dùng thay đổi theme, phím tắt, và các tùy chọn khác.
Hình 2 Giao diện Visual Studio Code.2 Một số tính năng của Visual Studio Code: Hỗ trợ nhiều ngôn ngữ lập trình: C/C++, C#, F#, Visual Basic, HTML, CSS, Javascript,…. Hỗ trợ đa nền tảng: Windows, Linux hoặc Mac Systems. Mac OS (Macintosh Operating System) Màn hình đa nhiệm: người dùng Visual Studio Code có thể mở cùng lúc nhiều tệp tin và thư mục mặc dù chúng không hề liên quan với nhau. 3 BÁO CÁO ĐỒ ÁN CHUYÊN NGÀNHHỒ ĐỨC PHÚ – 181A010209 Intellisense: nó có thể phát hiện nếu bất kỳ đoạn mã nào không đầy đủ.
Thậm chí, khi lập trình viên quên không khai báo biến, Intellisense sẽ tự động giúp họ bổ sung các cú pháp còn thiếu. Hỗ trợ Git: Visual Studio Code hỗ trợ kéo hoặc sao chép mã trực tiếp từ GitHub. Mã này sau đó có thể được thay đổi và lưu lại trên phần mềm.2 Giới thiệu về ngôn ngữ lập trình JavaScript và các công nghệ sử dụng 2.1 Giới thiệu về HTML - HTML (HyperText Markup Language): Ngôn ngữ đánh dấu siêu văn bản được sử dụng để tạo các tài liệu có thể truy cập trên mạng. Tài liệu HTML được tạo nhờ dùng các thẻ và các phần tử của HTML.
File được lưu trên máy chủ dịch vụ Web với phần mở rộng “. Các trình duyệt sẽ đọc tập tin HTML và hiển thị chúng dưới dạng trang Web. Các thẻ HTML sẽ được ẩn đi, chỉ hiển thị nội dung văn bản và các đối tượng khác: hình ảnh, media. Với các trình duyệt khác nhau đều hiển thị một tập HTML với một kết quả nhất định.
Các trang HTML được gửi đi qua mạng Internet theo giao thức HTTP. Hình 2 Cú pháp HTML. - HTML không những cho phép nhúng thêm các đối tượng hình ảnh, âm thanh mà còn cho phép nhúng các kịch bản vào trong đó như các ngôn ngữ kịch bản như Javascript để tạo hiệu ứng động cho trang Web. 4 BÁO CÁO ĐỒ ÁN CHUYÊN NGÀNHHỒ ĐỨC PHÚ – 181A010209 2.2 Giới thiệu về CSS - CSS (Cascading Style Sheets): là ngôn ngữ định kiểu theo tầng được dùng để tạo bố cục, trang trí, thiết lập màu nền, màu chữ, kích thước.
cho trang Web. CSS có cấu trúc đơn giản và sử dụng các từ tiếng anh để đặt tên cho các thuộc tính. CSS khi sử dụng có thể viết trực tiếp xen lẫn vào mã HTML hoặc tham chiếu từ một file css riêng biệt. Hiện nay CSS thường được viết riêng thành một tập tin với mở rộng là “.
Chính vì vậy mà các trang Web có sử dụng CSS thì mã HTML sẽ trở nên ngắn gọn hơn. Hình 3 Cú pháp CSS. - Ngoài ra có thể sử dụng một tập tin CSS đó cho nhiều website tiết kiệm rất nhiều thời gian và công sức. Một đặc điểm quan trọng đó là tính kế thừa của CSS do đó sẽ giảm được số lượng dòng code mà vẫn đạt được yêu cầu.3 Giới thiệu về Javascript - Javascript là một ngôn ngữ dạng script thường được sử dụng cho việc lập trình Web ở phía client, nó tuân theo chuẩn ECMAScript.
Là một ngôn ngữ linh động, cú pháp dễ sử dụng như các ngôn ngữ khác và dễ dàng lập trình. Javascript không hề liên quan tới ngôn ngữ lập trình Java, nó được hầu hết các trình duyệt ngày nay hỗ trợ. Với Javascript, ứng dụng Web của bạn sẽ trở nên vô cùng sinh động, mang tính trực quan và tương tác cao. Javascript theo phiên bản hiện hành là một ngôn ngữ lập trình kịch bản dựa trên đối tượng 5 BÁO CÁO ĐỒ ÁN CHUYÊN NGÀNHHỒ ĐỨC PHÚ – 181A010209 được phát triển từ các ý niệm nguyên mẫu.
Tất cả những đoạn mã Javascript đều phải đặt trong cặp thẻ mở <script> và thẻ đóng </script>. Hình 4 Cú pháp Javascript. - Ngôn ngữ này được dùng rộng rãi cho các trang Web, nhưng cũng được dùng để tạo khả năng viết script sử dụng các đối tượng nằm sẵn trong các ứng dụng. Giống Java, Javascript có cú pháp tương tự ngôn ngữ lập trình C.js” là phần mở rộng thường được dùng cho tập tin mã nguồn Javascript.4 Giới thiệu về ReactJS - React.js là một thư viện Javascript được phát triển bởi Facebook, đang nổi lên trong những năm gần đây với xu hướng Single Page Application.
Trong khi những framework khác cố gắng hướng đến một mô hình MVC hoàn thiện thì React nổi bật với sự đơn giản và dễ dàng phối hợp với những thư viện Javascript khác. - Chẳng hạn như nếu AngularJS cho phép nhúng code javasscript trong code html thông qua các attribute như ng-model, ng-repeat. thì với react lại cho phép nhúng code html trong code javascript nhờ vào JSX, ae có thể dễ dàng lồng các đoạn HTML vào trong JS.Tích hợp giữa javascript và HTML vào trong JSX làm cho các component dễ hiểu hơn,. - React dùng để hỗ trợ việc xây dựng những thành phần UI có tính tương tác cao, có trạng thái và có thể sử dụng lại được.
React được sử dụng tại Facebook trong production, và www.com được viết hoàn toàn trên React. - Một trong những điểm hấp dẫn của React là thư viện này không chỉ hoạt động trên phía client, mà còn được render trên server và có thể kết nối với nhau. React so sánh sự thay đổi giữa các giá trị của lần render này với lần render trước và cập nhật ít thay đổi nhất trên DOM. - Vài khái niệm mà ai cũng phải biết: 6 BÁO CÁO ĐỒ ÁN CHUYÊN NGÀNHHỒ ĐỨC PHÚ – 181A010209 2.1 Virtual DOM: - Công nghệ DOM ảo giúp tăng hiệu năng cho ứng dụng.
Việc chỉ node gốc mới có trạng thái và khi nó thay đổi sẽ tái cấu trúc lại toàn bộ, đồng nghĩa với việc DOM tree cũng sẽ phải thay đổi một phần, điều này sẽ ảnh hưởng đến tốc độ xử lý. React JS sử dụng Virtual DOM (DOM ảo) để cải thiện vấn đề này.Virtual DOM là một object Javascript, mỗi object chứa đầy đủ thông tin cần thiết để tạo ra một DOM, khi dữ liệu thay đổi nó sẽ tính toán sự thay đổi giữa object và tree thật, điều này sẽ giúp tối ưu hoá việc re-render DOM tree thật. React sử dụng cơ chế one-way data binding – luồng dữ liệu 1 chiều. Dữ liệu được truyền từ parent đến child thông qua props.
Luồng dữ liệu đơn giản giúp chúng ta dễ dàng kiểm soát cũng như sửa lỗi. Với các đặc điểm ở trên, React dùng để xây dựng các ứng dụng lớn mà dữ liệu của chúng thay đổi liên tục theo thời gian. Dữ liệu thay đổi thì hầu hết kèm theo sự thay đổi về giao diện. Ví dụ như Facebook: trên Newsfeed của bạn cùng lúc sẽ có các status khác nhau và mỗi status lại có số like, share, comment liên tục thay đổi.