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 … Đã đ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 mùa dịch Covid 19 đang diễn biến hết sức phức tạp, 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 hệ thống Website bán đồ mỹ phẩm bằng VueJS, Django và MySQL có thể phần nào giúp các cửa hàng trình bày sản phẩm và thông tin về của hàng công ty của mình, và 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, quản lý chặt chẽ các sản phẩm, tin tức 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: + Python + Framework Django + MySQL 9 + JavaScript + VueJS + Slack API + Firebase - Phạm vi nghiên cứu đối với Shop 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 + Hỗ trợ trực tuyến + Quản lý đơn hàng + Quản lý sản phẩm + Quản lý slider + Quản lý thông tin cá nhân 1.
Ý nghĩa đề tài Với việc xây dựng được một Website bán đồ mỹ phẩm trực tuyến sẽ giúp ích được nhiều cho các 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ể quảng bá thương hiệu một cách rộng rãi hơn, 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. 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 đó. 10 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ề. Hình 2 Mô hình Client-Server Để 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,. 11 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ì.
- 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.
Python và Framework Django 1. Python Python là một ngôn ngữ lập trình thông dịch (interpreted), hướng đối tượng (object- oriented), và là một ngôn ngữ bậc cao (high-level) ngữ nghĩa động (dynamic semantics). Python hỗ trợ các module và gói (packages), khuyến khích chương trình module hóa và tái sử dụng mã. Trình thông dịch Python và thư viện chuẩn mở rộng có sẵn dưới dạng mã nguồn hoặc dạng nhị phân miễn phí cho tất cả các nền tảng chính và có thể được phân phối tự do.
12 Các đặc điểm của Python: - Ngữ pháp đơn giản, dễ đọc. - Vừa hướng thủ tục (procedural-oriented), vừa hướng đối tượng (object-oriented) - Hỗ trợ module và hỗ trợ gói (package) - Xử lý lỗi bằng ngoại lệ (Exception) - Kiểu dữ liệu động ở mức cao. - Có các bộ thư viện chuẩn và các module ngoài, đáp ứng tất cả các nhu cầu lập trình. - Có thể nhúng vào ứng dụng như một giao tiếp kịch bản (scripting interface).
Với sự phổ biến của mình nên Python sở hữu cộng đồng hỗ trợ trực tuyến cực tốt. Có rất nhiều các trang web hỗ trợ người dùng Python cực tốt như: The Official Python Tutorial, Stack Overflow. Framework Django Django là một trong số những web framework bậc cao miễn phí, là mã nguồn mở được tạo ra bởi ngôn ngữ Python dựa trên mô hình mô hình MTV (gồm Model- Template-Views). Hiện framework này được phát triển, quản lý bởi Django Software Foundation.
Django ra đời với mục tiêu hỗ trợ thiết kế các website phức tạp dựa trên những CSDL có sẵn. Nó hoạt động dựa theo nguyên lý ‘cắm’ các thành phần và và tái sử dụng để tạo nên các website với ít code, ít khớp nối, có khả năng phát triển và không bị trùng lặp. Ưu điểm của Django: Lợi thế hàng đầu của Django là khả năng thiết kế, tạo lập website và các ứng dụng nhanh chóng đến bất ngờ. Ngoài ra, dưới đây Bizfly liệt kê những điểm cộng khiến framework này trở nên nổi bật và được lập trình viên sử dụng rộng rãi.
- Bảo mật tốt: Làm việc với Django, các lập trình viên gần như không có không gian để phạm bất cứ sai lầm về an ninh nào. Nó giúp các developer tránh được tất cả các lỗi thường gặp như nhấp chuột, kịch bản chéo trang, giả mạo yêu cầu,. Nhờ đó, sản phẩm được tạo bởi framework này có khả năng bảo mật cực tốt. 13 - Mở rộng thỏa thích: Django có sẵn tính năng mở rộng nhằm hỗ trợ các lập trình viên quản lý lưu lượng người truy cập, thích hợp với các trang có traffic lớn.
- Dễ sử dụng: Django được tạo ra bởi ngôn ngữ lập trình Python và mô hình MVC nên rất dễ ứng dụng trong các dự án. Đa ngôn ngữ và được hỗ trợ Multi-Site - Dễ học: Có nhiều tài liệu hỗ trợ việc học Django, bao gồm cả tài liệu miễn phí trên mạng và sách in. Cộng đồng sử dụng Django hiện nay đang phát triển mạnh mẽ, newbie có thể tìm kiếm sự giúp đỡ trên các trang facebook, diễn đàn, blog,. Nhược điểm của Django Bên cạnh những ưu điểm kể trên, Django cũng tồn tại một số nhược điểm mà bạn cần cân nhắc trước khi sử dụng chúng.
Cụ thể sau đây: - Có thể xảy ra một vài vấn đề khi phát triển các ứng dụng/website quy mô nhỏ - Định tuyến tương đối khó - Không đưa ra các cảnh báo khi xuất hiện lỗi trong mẫu. Vì sao nên sử dụng Django trong lập trình web? Có nhiều nguyên nhân khiến framework này được ưu ái. Có thể kể đến vài lợi ích sau: Hình 3 Cấu trúc thư mục của Django project 14 - Nhanh chóng, đơn giản trong lập trình web/ứng dụng - Đa dạng về tài liệu - Sử dụng nguyên tắc DRY - không trùng lặp - Hỗ trợ ORM, mang lại sự tương thích, khả năng hoạt động với các CSDL thường gặp như Oracle và SQL - Sở hữu nhiều tính năng, giải pháp độc đáo, hữu ích như GPS, chatbot, ứng dụng CSDL, nguồn cung cấp dữ liệu RSS,. giúp phát triển, quản trị website, chăm sóc khách hàng,.
- Mang lại khả năng sửa đổi (thêm, xóa) một cách liền mạch nhiều thành phần - Thân thiện với Seo - Linh hoạt cao: Xây dựng nhiều dạng website, ứng dụng cần thiết cho mọi lĩnh vực, tổ chức, cơ quan. Framework VueJS VueJS được gọi tắt là Vue (được phát âm là /vjuː/, nó giống như từ view trong tiếng Anh). VueJS là một framework rất linh động được dùng phổ biến để xây dựng nên các giao diện người dùng. Hoàn toàn khác với các framework nguyên khối thì Vue thường sở hữu thiết kế từ đầu theo những hướng cho phép cũng như khuyến khích làm việc để phát triển dễ dàng hơn các ứng dụng theo từng bước một.
Một khi đã phát triển lớp giao diện (view layer) thì người dùng chỉ cần sử dụng loại thư viện lõi của Vue.