Đồ án: Xây dựng website mua bán hàng online TSHOP - PTIT

Xây dựng website bán hàng online chuyên nghiệp, hiệu quả. Tìm hiểu các bước thiết kế website shop, lựa chọn nền tảng phù hợp và tối ưu hóa trải nghiệm người dùng.

Chuyên ngành

Công nghệ thông tin

Người đăng

Ẩn danh

Thể loại

Đồ án tốt nghiệp đại học

2017-2022

65
2
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CẢM ƠN

LỜI CAM ĐOAN

DANH MỤC HÌNH

DANH MỤC CÁC TỪ VÀ THUẬT NGỮ VIẾT TẮT

MỞ ĐẦU

1. CHƯƠNG 1: CƠ SỞ LÝ THUYẾT

1.1. NGÔN NGỮ LẬP TRÌNH JAVASCRIPT

1.2. CƠ SỞ LÝ THUYẾT VỀ CƠ SỞ DỮ LIỆU MYSQL

1.3. KẾT LUẬN CHƯƠNG 1

2. CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG WEBSITE

2.1. PHÁT BIỂU BÀI TOÁN

2.2. CÁC YÊU CẦU PHI CHỨC NĂNG

2.3. PHÂN TÍCH HỆ THỐNG

2.3.1. Mục đích + phạm vi:

2.3.2. Ai được dùng hệ thống? Làm gì ?

2.3.3. Các đối tượng quản lý

2.3.4. Quan hệ giữa các đối tượng

2.4. BIỂU ĐỒ USECASE VÀ KỊCH BẢN CHUẨN

2.4.1. Biểu đồ Usecase tổng quan

2.4.2. Usecase và kịch bản module dăng kí/đăng nhập

2.4.3. Usecase và kịch bản module khách hàng quản lí thông tin cá nhân

2.4.4. Usecase và kịch bản module quản lí sản phẩm

2.4.5. Usecase và kịch bản module khách hàng đặt hàng và thanh toán

2.4.6. Usecase và kịch bản module xem thống kê đơn hàng đã đặt

2.5. BIỂU ĐỒ TRẠNG THÁI

2.5.1. Biểu đồ trạng thái module đăng nhập/đăng kí

2.5.2. Biểu đồ trạng thái module khách hàng quản lí thông tin cá nhân

2.5.3. Biểu đồ trạng thái module quản lí sản phẩm

2.6. BIỂU ĐỒ GIAO TIẾP

2.6.1. Biểu đồ giao tiếp module đăng nhập/ đăng kí

2.6.2. Biểu đồ giao tiếp module khách hàng quản lý thông tin cá nhân

2.6.3. Biểu đồ giao tiếp module quản lí sản phẩm

2.7. BIỂU ĐỒ TUẦN TỰ

2.7.1. Biểu đồ tuần tự module xem đăng/đăng kí

2.7.2. Biểu đồ tuần tự module khách hàng quản lý thông tin cá nhân

2.7.3. Biểu đồ tuần tự module quản lí sản phẩm

2.8. Mô tả hệ thống trong một đoạn văn

2.9. THIẾT KẾ LỚP THỰC THỂ LIÊN QUAN

2.10. THIẾT KẾ CƠ SỞ DỮ LIỆU

2.11. KẾT LUẬN CHƯƠNG 2

3. CHƯƠNG 3: CÀI ĐẶT VÀ KẾT QUẢ TRIỂN KHAI HỆ THỐNG

3.1. MỘT SỐ CÔNG CỤ, THƯ VIỆN HỖ TRỢ

3.2. THIẾT KẾ GIAO DIỆN

3.2.1. Giao diện trang chủ website

3.2.2. Giao diện chi tiết sản phẩm

3.2.3. Giao diện giỏ hàng

3.2.4. Giao diện điền thông tin mua hàng

3.2.5. Giao diện thanh toán

3.3. KẾT LUẬN CHƯƠNG 3

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Hướng dẫn xây dựng website bán hàng online từ A Z 2024

Trong bối cảnh thị trường số hóa, việc xây dựng website bán hàng online hiệu quả không còn là một lựa chọn mà đã trở thành yêu cầu bắt buộc đối với mọi doanh nghiệp muốn tồn tại và phát triển. Một website chuyên nghiệp đóng vai trò như một trụ sở số, là trung tâm cho mọi hoạt động kinh doanh online, từ giới thiệu sản phẩm đến tương tác với khách hàng và xử lý giao dịch. Khác với các nền tảng mạng xã hội hay sàn thương mại điện tử, website mang lại quyền kiểm soát tuyệt đối về thương hiệu, dữ liệu khách hàng và chiến lược kinh doanh. Báo cáo đồ án tốt nghiệp “Xây dựng website mua bán hàng online TSHOP” của Học viện Công nghệ Bưu chính Viễn thông nhấn mạnh: “Với sự phát triển vượt bậc của Internet, hình thức kinh doanh online hiện đang được rất nhiều cửa hàng lựa chọn để tăng doanh thu và giới thiệu sản phẩm đến người tiêu dùng một cách nhanh chóng”. Điều này khẳng định vai trò trung tâm của một kênh bán hàng độc lập. Việc đầu tư vào một website chuẩn SEO không chỉ giúp tăng tỷ lệ chuyển đổi mà còn là nền tảng vững chắc để triển khai các chiến dịch marketing cho website mới, xây dựng lòng trung thành của khách hàng và mở rộng quy mô kinh doanh một cách bền vững. Quá trình này đòi hỏi sự chuẩn bị kỹ lưỡng từ việc xác định mục tiêu, lựa chọn nền tảng công nghệ, đến việc thiết kế website thương mại điện tử với trải nghiệm người dùng vượt trội. Bài viết này sẽ cung cấp một lộ trình chi tiết, dựa trên các nghiên cứu và thực tiễn, để triển khai một dự án website bán hàng thành công.

1.1. Tầm quan trọng của website trong kinh doanh online hiện đại

Sở hữu một website riêng mang lại lợi thế cạnh tranh vượt trội so với việc chỉ phụ thuộc vào các kênh bán hàng của bên thứ ba. Website là tài sản số thuộc toàn quyền sở hữu của doanh nghiệp, giúp xây dựng nhận diện thương hiệu một cách nhất quán và chuyên nghiệp. Mọi yếu tố từ giao diện website bán hàng đến nội dung đều có thể được tùy chỉnh để phản ánh đúng giá trị và thông điệp của thương hiệu. Hơn nữa, website cho phép thu thập dữ liệu khách hàng trực tiếp, từ đó phân tích hành vi người dùng để cá nhân hóa trải nghiệm và tối ưu hóa chiến dịch marketing. Đây là một lợi thế mà các sàn thương mại điện tử không thể cung cấp. Việc tạo website bán hàng còn giúp doanh nghiệp chủ động trong việc định giá, triển khai các chương trình khuyến mãi và chính sách chăm sóc khách hàng online mà không bị ràng buộc bởi quy định của nền tảng khác.

1.2. Xác định mục tiêu và phạm vi khi tạo website bán hàng

Trước khi bắt đầu, việc xác định rõ mục tiêu và phạm vi là bước nền tảng quyết định sự thành công của dự án. Mục tiêu cần phải cụ thể: website được xây dựng để tăng doanh số, xây dựng thương hiệu, thu thập khách hàng tiềm năng, hay hỗ trợ hệ thống cửa hàng vật lý? Phạm vi của website cần được vạch rõ, tương tự như cách đồ án “TSHOP” đã xác định các chức năng cốt lõi: “Quản lý thông tin user, Quản lý thông tin sản phẩm, Quản lý thông tin đặt hàng, Khách hàng đặt hàng”. Doanh nghiệp cần xác định các nhóm đối tượng quản lý (khách hàng, nhân viên), các tính năng thiết yếu (giỏ hàng, thanh toán, tìm kiếm) và các tính năng mở rộng trong tương lai. Việc xác định rõ phạm vi ngay từ đầu giúp kiểm soát ngân sách, lựa chọn nền tảng website bán hàng phù hợp và đảm bảo dự án đi đúng hướng, tránh phát sinh các yêu cầu không cần thiết gây lãng phí tài nguyên.

II. Top thách thức khi xây dựng website bán hàng hiệu quả

Quá trình xây dựng website bán hàng online hiệu quả chứa đựng nhiều thách thức phức tạp, đòi hỏi sự cân bằng giữa yếu tố kỹ thuật, thẩm mỹ và chiến lược kinh doanh. Một trong những rào cản lớn nhất là việc lựa chọn công nghệ và nền tảng. Doanh nghiệp thường đứng trước ngã ba đường: sử dụng các nền tảng đóng gói sẵn như Shopify, Haravan hay đầu tư vào lập trình web bán hàng tùy chỉnh. Mỗi lựa chọn đều có ưu và nhược điểm riêng về chi phí, khả năng tùy biến và yêu cầu kỹ thuật. Thách thức thứ hai nằm ở việc tối ưu UX/UI cho e-commerce. Một thiết kế kém trực quan, quy trình thanh toán phức tạp hay tốc độ tải trang chậm là những nguyên nhân hàng đầu gây mất khách hàng. Nghiên cứu cho thấy, chỉ một giây chậm trễ trong thời gian tải có thể làm giảm 7% tỷ lệ chuyển đổi. Bên cạnh đó, vấn đề bảo mật website (SSL) và dữ liệu người dùng là tối quan trọng để xây dựng lòng tin. Việc tích hợp các hệ thống bên ngoài như cổng thanh toánđơn vị vận chuyển cũng là một bài toán kỹ thuật không hề đơn giản, đòi hỏi sự tương thích và ổn định. Cuối cùng, sau khi website đi vào hoạt động, việc thu hút truy cập và biến họ thành khách hàng thông qua các chiến lược marketing cho website mới và tối ưu hóa công cụ tìm kiếm (website chuẩn SEO) là một cuộc chiến không hồi kết.

2.1. Khó khăn trong việc lựa chọn nền tảng công nghệ phù hợp

Việc lựa chọn sai nền tảng website bán hàng có thể dẫn đến những hậu quả lâu dài, bao gồm chi phí vận hành cao, hạn chế về khả năng mở rộng và khó khăn trong việc tích hợp các tính năng mới. Các giải pháp SaaS (Software as a Service) như Shopify hay Sapo cung cấp sự tiện lợi, nhanh chóng nhưng đi kèm với phí thuê bao hàng tháng và giới hạn về tùy biến. Trong khi đó, các nền tảng mã nguồn mở như WordPress WooCommerce hay Magento mang lại sự linh hoạt cao hơn nhưng đòi hỏi kiến thức kỹ thuật để cài đặt, bảo trì và bảo mật website. Giải pháp lập trình web bán hàng tùy chỉnh mang lại sự độc nhất và khả năng mở rộng vô hạn nhưng yêu cầu một khoản đầu tư ban đầu lớn cả về thời gian và tài chính. Quyết định này cần dựa trên sự phân tích kỹ lưỡng về quy mô kinh doanh, ngân sách, và định hướng phát triển trong tương lai.

2.2. Bài toán tối ưu trải nghiệm người dùng và tỷ lệ chuyển đổi

Một giao diện website bán hàng đẹp mắt là chưa đủ. Thách thức thực sự là tạo ra một hành trình mua sắm mượt mà, từ lúc khách hàng truy cập trang web cho đến khi hoàn tất đơn hàng. Việc tối ưu UX/UI cho e-commerce bao gồm nhiều yếu tố: cấu trúc điều hướng logic, chức năng tìm kiếm thông minh, trang sản phẩm cung cấp đầy đủ thông tin, và quy trình thanh toán tinh gọn. Mỗi một điểm ma sát trong quá trình này đều có thể khiến khách hàng từ bỏ giỏ hàng. Tăng tỷ lệ chuyển đổi không phải là một công việc làm một lần mà là một quá trình cải tiến liên tục dựa trên phân tích dữ liệu hành vi người dùng, thử nghiệm A/B và thu thập phản hồi. Hơn nữa, việc đảm bảo website hiển thị tốt trên mọi thiết bị (website responsive) là yêu cầu bắt buộc trong bối cảnh người dùng di động chiếm đa số.

III. Phương pháp chọn nền tảng website bán hàng phù hợp nhất

Lựa chọn nền tảng là một trong những quyết định chiến lược khi xây dựng website bán hàng online hiệu quả. Không có một giải pháp nào hoàn hảo cho tất cả mọi người. Phương pháp tiếp cận đúng đắn là phân tích sâu sắc các yêu cầu nội tại của doanh nghiệp, bao gồm quy mô sản phẩm, ngân sách, trình độ kỹ thuật của đội ngũ và mục tiêu tăng trưởng dài hạn. Có ba hướng đi chính: nền tảng SaaS, nền tảng mã nguồn mở, và phát triển tùy chỉnh. Các nền tảng SaaS như Shopify, Haravan, Sapo phù hợp cho các doanh nghiệp vừa và nhỏ muốn nhanh chóng ra mắt sản phẩm với chi phí ban đầu thấp và không cần lo lắng về hạ tầng kỹ thuật như hosting cho web bán hàng. Các nền tảng mã nguồn mở như WordPress WooCommerceMagento cung cấp sự linh hoạt vượt trội, cho phép tùy chỉnh sâu và kiểm soát hoàn toàn dữ liệu. Tuy nhiên, chúng đòi hỏi kiến thức kỹ thuật để vận hành và bảo trì. Cuối cùng, giải pháp lập trình web bán hàng tùy chỉnh, như hướng tiếp cận của đồ án “TSHOP” sử dụng ReactJS và NodeJS, là lựa chọn tối ưu cho các doanh nghiệp lớn có yêu cầu phức tạp và muốn xây dựng một lợi thế cạnh tranh độc nhất. Quyết định này cần được cân nhắc kỹ lưỡng để đảm bảo nền tảng được chọn có thể đồng hành cùng sự phát triển của doanh nghiệp.

3.1. Phân tích nền tảng SaaS Shopify Haravan và Sapo

Các nền tảng SaaS (Software as a Service) là giải pháp "tất cả trong một", cung cấp từ hosting, giao diện, đến các tính năng bán hàng cơ bản. Shopify là lựa chọn hàng đầu trên toàn cầu với hệ sinh thái ứng dụng phong phú và giao diện thân thiện. Tại Việt Nam, HaravanSapo là những đối thủ cạnh tranh mạnh mẽ, cung cấp các giải pháp được tối ưu hóa cho thị trường nội địa, đặc biệt là trong việc kết nối đơn vị vận chuyểntích hợp cổng thanh toán phổ biến. Ưu điểm lớn nhất của các nền tảng này là tốc độ triển khai nhanh, chi phí ban đầu thấp và dễ sử dụng cho người không chuyên về kỹ thuật. Tuy nhiên, nhược điểm là chi phí thuê bao hàng tháng, phí giao dịch và sự hạn chế trong việc tùy chỉnh sâu mã nguồn.

3.2. Đánh giá mã nguồn mở WordPress WooCommerce và Magento

Nền tảng mã nguồn mở cho phép toàn quyền kiểm soát website. WordPress WooCommerce là lựa chọn phổ biến nhất, biến một trang WordPress thông thường thành một cửa hàng trực tuyến mạnh mẽ. Nó có tính linh hoạt cao, cộng đồng hỗ trợ lớn và hàng ngàn plugin để mở rộng chức năng. Đây là giải pháp lý tưởng cho các doanh nghiệp muốn kiểm soát chi phí và có khả năng tùy chỉnh cao. Magento, mặt khác, là một nền tảng thương mại điện tử chuyên nghiệp, được thiết kế cho các doanh nghiệp lớn với yêu cầu phức tạp về quản lý sản phẩm và khả năng xử lý hàng ngàn giao dịch. Mặc dù rất mạnh mẽ, Magento đòi hỏi một máy chủ cấu hình cao và đội ngũ kỹ thuật có chuyên môn để triển khai và vận hành.

IV. Bí quyết thiết kế website thương mại điện tử thu hút khách

Thiết kế không chỉ là về thẩm mỹ; nó là ngôn ngữ giao tiếp trực tiếp với khách hàng. Một thiết kế website thương mại điện tử thành công phải đạt được ba mục tiêu: tạo dựng niềm tin, hướng dẫn người dùng hành động và mang lại trải nghiệm mua sắm thú vị. Yếu tố cốt lõi của quá trình này là tối ưu UX/UI cho e-commerce. Giao diện người dùng (UI) cần sạch sẽ, chuyên nghiệp, với hình ảnh sản phẩm chất lượng cao và bố cục nhất quán. Trải nghiệm người dùng (UX) tập trung vào việc làm cho hành trình của khách hàng trở nên đơn giản và logic, từ việc tìm kiếm sản phẩm đến khi hoàn tất thanh toán. Như trong phần thiết kế giao diện của đồ án “TSHOP”, các trang quan trọng như trang chủ, chi tiết sản phẩm, giỏ hàng và thanh toán đều được thiết kế một cách tỉ mỉ để đảm bảo tính dễ sử dụng. Một giao diện website bán hàng tốt phải là một website responsive, đảm bảo hiển thị hoàn hảo trên mọi kích thước màn hình, từ máy tính để bàn đến điện thoại di động. Việc đầu tư vào thiết kế không chỉ giúp tăng tỷ lệ chuyển đổi mà còn góp phần xây dựng một thương hiệu mạnh mẽ và khác biệt trên thị trường kinh doanh online đầy cạnh tranh.

4.1. Nguyên tắc tối ưu UX UI cho e commerce để giữ chân khách

Để tối ưu UX/UI cho e-commerce, cần tuân thủ các nguyên tắc vàng. Thứ nhất, điều hướng phải rõ ràng và trực quan, giúp khách hàng dễ dàng tìm thấy sản phẩm họ cần. Thanh tìm kiếm nên có tính năng gợi ý và bộ lọc thông minh. Thứ hai, trang chi tiết sản phẩm phải cung cấp thông tin toàn diện: hình ảnh đa góc độ, video, mô tả chi tiết, thông số kỹ thuật và đánh giá từ khách hàng khác. Thứ ba, quy trình thanh toán phải được rút gọn tối đa, ít bước nhất có thể và cho phép khách hàng thanh toán mà không cần đăng ký tài khoản. Cuối cùng, các nút kêu gọi hành động (Call-to-Action) phải nổi bật và có thông điệp rõ ràng, chẳng hạn như "Thêm vào giỏ hàng" hay "Mua ngay". Việc áp dụng những nguyên tắc này giúp giảm tỷ lệ thoát trang và cải thiện đáng kể trải nghiệm mua sắm.

4.2. Tầm quan trọng của giao diện website bán hàng responsive

Lưu lượng truy cập từ thiết bị di động đã vượt qua máy tính để bàn. Do đó, việc sở hữu một website responsive không còn là một tùy chọn. Giao diện responsive tự động điều chỉnh bố cục, kích thước hình ảnh và văn bản để phù hợp với mọi loại màn hình, đảm bảo trải nghiệm người dùng luôn nhất quán và tối ưu. Google cũng ưu tiên các trang web thân thiện với di động trong kết quả tìm kiếm, có nghĩa là một website responsive là một yếu tố quan trọng để có một website chuẩn SEO. Việc bỏ qua tối ưu hóa cho di động đồng nghĩa với việc từ bỏ một lượng lớn khách hàng tiềm năng và ảnh hưởng tiêu cực đến thứ hạng của website trên các công cụ tìm kiếm. Thiết kế responsive là nền tảng cho một chiến lược kinh doanh online thành công trong thời đại di động lên ngôi.

V. Cách tối ưu website chuẩn SEO và tăng tỷ lệ chuyển đổi

Việc xây dựng website bán hàng online hiệu quả không kết thúc sau khi trang web được ra mắt. Giai đoạn vận hành và tối ưu hóa liên tục mới thực sự quyết định sự thành công lâu dài. Trọng tâm của giai đoạn này là biến website thành một cỗ máy thu hút khách hàng và tạo ra doanh thu. Để làm được điều này, cần tập trung vào hai lĩnh vực chính: tối ưu hóa kỹ thuật và tối ưu hóa chuyển đổi. Tối ưu hóa kỹ thuật bao gồm việc đảm bảo website chuẩn SEO, tối ưu hóa tốc độ tải trang, và củng cố bảo mật website (SSL). Một website nhanh, an toàn và dễ dàng được các công cụ tìm kiếm tìm thấy sẽ có lợi thế rất lớn trong việc thu hút lưu lượng truy cập tự nhiên. Tối ưu hóa chuyển đổi tập trung vào việc cải thiện các yếu tố trên trang để khuyến khích khách hàng thực hiện hành động mua hàng. Điều này bao gồm việc đơn giản hóa quy trình thanh toán, cung cấp các phương thức thanh toán đa dạng thông qua tích hợp cổng thanh toán, và đảm bảo quy trình giao nhận hàng hóa liền mạch bằng cách kết nối đơn vị vận chuyển. Đây là một quá trình lặp đi lặp lại, đòi hỏi sự theo dõi, phân tích dữ liệu và điều chỉnh liên tục để đạt được kết quả tốt nhất.

5.1. Tối ưu hóa tốc độ tải trang và lựa chọn hosting cho web bán hàng

Tốc độ là một yếu tố sống còn. Người dùng hiện đại thiếu kiên nhẫn và sẽ rời đi nếu một trang web mất quá 3 giây để tải. Tối ưu hóa tốc độ tải trang bao gồm các kỹ thuật như nén hình ảnh, sử dụng bộ nhớ đệm (caching), tối ưu hóa mã nguồn (CSS, JavaScript) và sử dụng mạng phân phối nội dung (CDN). Song song đó, việc lựa chọn hosting cho web bán hàng có vai trò cực kỳ quan trọng. Cần chọn một nhà cung cấp hosting uy tín, có máy chủ đặt gần với đối tượng khách hàng mục tiêu và cung cấp đủ tài nguyên (CPU, RAM, băng thông) để xử lý lượng truy cập của website, đặc biệt là trong các đợt khuyến mãi lớn. Một hosting yếu kém sẽ phá hỏng mọi nỗ lực tối ưu hóa khác.

5.2. Tích hợp cổng thanh toán và kết nối đơn vị vận chuyển

Sự tiện lợi trong thanh toán và giao nhận là chìa khóa để tăng tỷ lệ chuyển đổi. Việc tích hợp cổng thanh toán đa dạng như ví điện tử (MoMo, ZaloPay), thẻ tín dụng/ghi nợ (Visa, Mastercard), và chuyển khoản ngân hàng mang lại cho khách hàng nhiều lựa chọn và sự linh hoạt. Đồ án "TSHOP" cũng đã triển khai chức năng kết nối với PayPal để phục vụ thanh toán quốc tế. Tương tự, việc kết nối đơn vị vận chuyển một cách tự động giúp đơn giản hóa quy trình xử lý đơn hàng. Hệ thống có thể tự động tính toán phí vận chuyển, tạo vận đơn và theo dõi tình trạng giao hàng, giúp tiết kiệm thời gian cho người quản trị và cung cấp thông tin minh bạch cho khách hàng, từ đó nâng cao trải nghiệm mua sắm tổng thể.

5.3. Xây dựng bảo mật website SSL và chăm sóc khách hàng online

Niềm tin là nền tảng của thương mại điện tử. Việc cài đặt chứng chỉ bảo mật website (SSL) là yêu cầu bắt buộc. SSL mã hóa dữ liệu truyền tải giữa máy chủ và trình duyệt của khách hàng, bảo vệ các thông tin nhạy cảm như thông tin cá nhân và chi tiết thanh toán. Trình duyệt sẽ hiển thị biểu tượng ổ khóa an toàn, tạo sự yên tâm cho khách hàng khi giao dịch. Bên cạnh đó, chiến lược chăm sóc khách hàng online hiệu quả cũng góp phần xây dựng lòng trung thành. Cung cấp các kênh hỗ trợ đa dạng như live chat, email, hotline giúp giải đáp thắc mắc của khách hàng một cách nhanh chóng. Một dịch vụ khách hàng tốt không chỉ giải quyết vấn đề mà còn biến một khách hàng không hài lòng thành một người ủng hộ trung thành cho thương hiệu.

22/09/2025

Trích đoạn nội dung tài liệu

Chương 1. Cơ sở lý thuyết • Props: giúp các component tương tác với nhau, component nhận input gọi là props, và trả thuộc tính mô tả những gì component con sẽ render. Prop là bất biến. • State: thể hiện trạng thái của ứng dụng, khi state thay đồi thì component đồng thời render lại để cập nhật UI.js là một thư viện JavaScript runtime được build dựa trên Chorme’s V8 JavaScript engine.js sử dụng mô hình event-driven, non-blocking I/O khiến nó trở nên nhẹ nhàng và hiệu quả.

Quy trình hoạt động của NodeJS Các đặc tính của NodeJS: • Realtime: Khi nói đến NodeJS thì phải nghĩ tới vấn đề Realtime. Realtime ở đây chính là xử lý giao tiếp từ client tới máy chủ theo thời gian thực. Giống như khi bạn lướt Facebook thì mỗi khi bạn comment hay like một topic nào đó thì ngay lập tức chủ topic và những người đã comment trên đó sẽ nhận được thông báo là bạn đã comment. • Không đồng bộ: Tất cả các API của NodeJS đều không đồng bộ (none-blocking), nó chủ yếu dựa trên nền của NodeJS Server và chờ đợi Server trả dữ liệu về.

Việc di chuyển máy chủ đến các API tiếp theo sau khi gọi và cơ chế thông báo các sự kiện của Node.js giúp máy chủ để có được một phản ứng từ các cuộc gọi API trước (Realtime). Vũ Văn Thiện – D17HTTT6 4 Đồ án tốt nghiệp đại học Chương 1. Cơ sở lý thuyết • Chạy rất nhanh: NodeJ được xây dựng dựa vào nền tảng V8 Javascript Engine nên việc thực thi chương trình rất nhanh. • Đơn luồng nhưng khả năng mở rộng cao: Node.js sử dụng một mô hình luồng duy nhất với sự kiện lặp.

cơ chế tổ chức sự kiện giúp các máy chủ để đáp ứng một cách không ngăn chặn và làm cho máy chủ cao khả năng mở rộng như trái ngược với các máy chủ truyền thống mà tạo đề hạn chế để xử lý yêu cầu.js sử dụng một chương trình đơn luồng và các chương trình tương tự có thể cung cấp dịch vụ cho một số lượng lớn hơn nhiều so với yêu cầu máy chủ truyền thống như Apache HTTP Server. • Không đệm: NodeJS không đệm bất kì một dữ liệu nào và các ứng dụng này chủ yếu là đầu ra dữ liệu. 2 NodeJS framework sử dụng phổ biến: ExpressJS là một trong những framework phổ biến dùng để xây dựng API và Website phổ biến nhất của NodeJS. Nó được sử dụng rộng rãi đến mức hầu như mọi dự án Web nào đều bắt đầu bằng việc tích hợp Express.

Có rất nhiều lý do để chọn ExpressJS: • Có nhiều tính năng hỗ trợ tất cả những gì bạn cần trong việc xây dựng Web và API • Quản lý các route dễ dàng • Cung cấp một nền tảng phát triển cho các API • Hỗ trợ nhiều thư viện và plugin • Bảo mật và an toàn hơn so với việc code thuần • Hỗ trợ cộng đồng tuyệt vời SocketIO là một web-socket framework có sẵn cho nhiều ngôn ngữ lập trình. Trong NodeJS, SocketIO cho phép xây dựng một các ứng dụng realtime như chatbot, tickers, dashboard APIs, và nhiều ứng dụng khác. SocketIO có lợi ích hơn so với NodeJS thông thường. • Hỗ trợ route URL tùy chỉnh cho web socket • Tích hợp dễ dàng hơn với Express JS • Hỗ trợ clustering với Redis Vũ Văn Thiện – D17HTTT6 5 Đồ án tốt nghiệp đại học Chương 1.4 MONGODB MongoDB là một cơ sở dữ liệu đa nền tảng, định hướng tài liệu cung cấp, hiệu suất cao, tính sẵn sàng cao và khả năng mở rộng dễ dàng.

MongoDB hoạt động trên khái niệm về collection và document. MongoDB lưu trữ dữ liệu dưới dạng JSON (trong MongoDB được gọi là dạng BSON vì nó lưu trữ dưới dạng binary từ 1 JSON document). Ưu điểm của MongoDB: • Lưu trữ hướng tài liệu - dữ liệu được lưu trữ dưới dạng tài liệu kiểu JSON. • Chỉ mục trên bất kỳ thuộc tính • Nhân rộng và sẵn sàng cao.

• Tự động bảo vệ. • Truy vấn phong phú. • Cập nhật nhanh tại chỗ. • Hỗ trợ chuyên nghiệp bởi MongoDB 1.5 CƠ SỞ LÝ THUYẾT VỀ CƠ SỞ DỮ LIỆU MYSQL MySQL là hệ quản trị cơ sở dữ liệu tự do nguồn mở phổ biến nhất thế giới và được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng.

Vì MySQL là hệ quản trị cơ sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, có tính khả chuyển, hoạt động trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất mạnh. MySQL được sử dụng cho việc bổ trợ NodeJs, PHP, Perl, và nhiều ngôn ngữ khác, làm nơi lưu trữ những thông tin trên các trang web viết bằng NodeJs, PHP hay Perl,. Ưu điểm của MySQL: • Dễ sử dụng: MySQL là cơ sở dữ liệu tốc độ cao, ổn định, dễ sử dụng và hoạt động trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất mạnh. • Độ bảo mật cao: MySQL rất thích hợp cho các ứng dụng có truy cập CSDL trên Internet khi sở hữu nhiều nhiều tính năng bảo mật thậm chí là ở cấp cao.

• Đa tính năng: MySQL hỗ trợ rất nhiều chức năng SQL được mong chờ từ một hệ quản trị cơ sở dữ liệu quan hệ cả trực tiếp lẫn gián tiếp. • Khả năng mở rộng và mạnh mẽ: MySQL có thể xử lý rất nhiều dữ liệu và hơn thế nữa nó có thể được mở rộng nếu cần thiết. • Nhanh chóng: Việc đưa ra một số tiêu chuẩn cho phép MySQL để làm việc rất hiệu quả và tiết kiệm chi phí, do đó nó làm tăng tốc độ thực thi. Nhược điểm của MySQL: Vũ Văn Thiện – D17HTTT6 6 Đồ án tốt nghiệp đại học Chương 1.

Cơ sở lý thuyết • Giới hạn: Theo thiết kế, MySQL không có ý định làm tất cả và nó đi kèm với các hạn chế về chức năng mà một vào ứng dụng có thể cần. • Độ tin cậy: Cách các chức năng cụ thể được xử lý với MySQL (ví dụ tài liệu tham khảo, các giao dịch, kiểm toán,…) làm cho nó kém tin cậy hơn so với một số hệ quản trị cơ sở dữ liệu quan hệ khác. • Dung lượng hạn chế: Nếu số bản ghi của bạn lớn dần lên thì việc truy xuất dữ liệu của bạn là khá khó khăn, khi đó chúng ta sẽ phải áp dụng nhiều biện pháp để tăng tốc độ truy xuất dữ liệu như là chia tải database này ra nhiều server, hoặc tạo cache 1.6 KẾT LUẬN CHƯƠNG 1 Đồ án đã trình bày tổng quan các lý thuyết sẽ áp dụng cho hệ thống về ngôn ngữ thập trình JavaScript, framework ReactJS(FE), NodeJS(BE), MongoDB hoặc MySQL. Kết quả của chương 1 sẽ được sử dụng để xây dựng website bán hàng online Tshop trong các chương tiếp theo của đồ án.

Vũ Văn Thiện – D17HTTT6 7 Đồ án tốt nghiệp đại học Chương 2. Phân tích thiết kế hệ thống Website CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG WEBSITE 2.1 PHÁT BIỂU BÀI TOÁN Website bán hàng online TSHOP với đặc thù là bán hàng online nên cần cung cấp các chức năng quản lý phù hợp cho admin. Các chức năng của hệ thống mà admin quản lý là quản lý user, quản lý sản phẩm, quản lý đơn hàng và thống kê. Với các chức năng này, admin có thể dễ dàng vận hành và quản lý hệ thống.

Với người dùng (khách hàng), hệ thống cần cung cấp các chức năng cơ bản cho khách hàng như xem tin tức, sản phẩm, đăng ký tài khoản, đăng nhập hệ thống, đặt hàng và thanh toán. Ngoài ra, website cũng cần có giao diện đẹp, thân thiện, dễ sử dụng với người dùng. Các sản phẩm, bài viết được cập nhật mới nhất và thu hút người xem.2 CÁC YÊU CẦU PHI CHỨC NĂNG Bảng 2. Các yêu cầu phi chức năng Mục Tên yêu cầu Mô tả yêu cầu 1 Giao diện Giao diện hệ thống phải dễ sử dụng, thân thiện với mọi người dùng.

2 Tốc độ xử lý Hệ thống phải xử lý nhanh chóng và chính xác. 3 Tương thích Tương thích với đa phần các trình duyệt web hiện tại.3 PHÂN TÍCH HỆ THỐNG 2.1 Mục đích + phạm vi: Mục đích: Hệ thống trang web TSHOP cho phép khách hàng có thể tiến hành việc mua bán sản phẩm/ dịch vụ điện thoại trực tuyến. Cụ thể, khi truy cập vào các Website này, khách hàng có thể xem thông tin sản phẩm, tìm kiếm các sản phẩm cần mua, thêm, sửa, xóa Vũ Văn Thiện – D17HTTT6 8 Đồ án tốt nghiệp đại học Chương 2. Phân tích thiết kế hệ thống Website sản phẩm ở giỏ hàng để đặt hàng và thanh toán nhanh chóng.

Admin phục vụ công tác quản lí các khách hàng mua hàng, sản phẩm và các đơn đặt hàng có trên hệ thống website. Phạm vi hệ thống: + Bao gồm: • Quản lý thông tin thông tin user • Quản lý thông tin sản phẩm • Quản lý thông tin đặt hàng • Khách hàng đặt hàng + Không bao gồm: • Quản lý cơ sở vật chất • Quản lý thông tin lịch làm • Quản lý thông tin ca làm việc • Quản lý thông tin chấm công • Quản lý thông tin tiền lương nhân viên 2.2 Ai được dùng hệ thống? Làm gì ? + Khách hàng: • Đăng ký tài khoản • Đăng nhập • Lấy lại tài khoản • Khách hàng có thể xem thông tin sản phẩm, tìm kiếm các sản phẩm cần mua, thêm, sửa, xóa sản phẩm ở giỏ hàng để đặt hàng và thanh toán. + Nhân viên quản lý: • Quản lý thông tin user • Quản lý thông tin sản phẩm • Xem báo cáo thống kê 2.3 Các đối tượng quản lý + Nhóm thông tin liên quan đến con người: • Thành viên: Tên đăng nhập, mật khẩu, họ tên, số điện thoại, địa chỉ email • Khách hàng: giống thành viên, có thêm mã khách hàng. • Nhân viên quản lý: Giống nhân viên + Nhóm thông tin liên quan cơ sở vật chất: Vũ Văn Thiện – D17HTTT6 9 Đồ án tốt nghiệp đại học Chương 2.

Phân tích thiết kế hệ thống Website • Sản phẩm: tên, đơn vị tính, đơn giá nhập, đơn giá bán, số lượng + Đối tượng thông tin: • Thời gian: mua hàng, vận chuyển • Giá sản phẩm • Hóa đơn mua hàng: Tên khách hàng, tên sản phẩm, mã sản phẩm, thời gian, đơn giá, số lượng 2.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ