Bối cảnh và vấn đề nghiên cứu

Trong bối cảnh chuyển đổi số và sự phát triển mạnh mẽ của công nghệ thông tin, thương mại điện tử đã trở thành phương thức giao dịch phổ biến, giúp tối ưu hóa thời gian và chi phí cho cả người bán lẫn người mua. Bên cạnh đó, nhu cầu chăm sóc sắc đẹp và sử dụng mỹ phẩm của người tiêu dùng ngày càng gia tăng, đòi hỏi các đơn vị kinh doanh phải xây dựng kênh bán hàng trực tuyến hiệu quả nhằm quảng bá sản phẩm và tiếp cận khách hàng trên diện rộng mà không bị giới hạn bởi không gian hay thời gian.

Đồ án tốt nghiệp "Thiết Kế Website Quản Lý Cửa Hàng Mỹ Phẩm" (tên tiếng Anh: "Design a website for cosmetic store management") được thực hiện bởi sinh viên Đỗ Quang Minh (Mã sinh viên: 19071617 / 1907167, Lớp: ICE2019A, Ngành: Kỹ thuật Thông tin và Truyền thông - ICE, Mã học phần: INS401401) dưới sự hướng dẫn của TS. Phạm Đình Tân tại Trường Quốc tế – Đại học Quốc gia Hà Nội (VNU-IS), năm 2024.

Mục tiêu và nhiệm vụ nghiên cứu của đồ án bao gồm:

  1. Nghiên cứu tổng quan về nền tảng mã nguồn mở WordPress Framework và hệ quản trị cơ sở dữ liệu quan hệ MySQL.
  2. Phân tích yêu cầu nghiệp vụ và thiết kế hệ thống website bán hàng mỹ phẩm trực tuyến (bao gồm phân hệ khách hàng và phân hệ quản trị).
  3. Triển khai xây dựng, tối ưu hóa giao diện, tốc độ xử lý và tích hợp các tiện ích tương tác trực tuyến (Zalo, Messenger, gọi điện) nhằm đảm bảo tiêu chuẩn về trải nghiệm người dùng và quy trình quản lý bán hàng.

Đối tượng nghiên cứu là quy trình quản lý, quảng bá và kinh doanh trực tuyến các mặt hàng mỹ phẩm. Phạm vi nghiên cứu tập trung vào việc ứng dụng công nghệ web (HTML, CSS, JavaScript, PHP), CMS WordPress, hệ quản trị MySQL và môi trường công cụ phát triển cục bộ trong năm học tốt nghiệp 2024.


Cơ sở lý thuyết và phương pháp

Khung lý thuyết và công nghệ sử dụng

Đồ án xây dựng nền tảng kiến thức dựa trên các công nghệ phát triển web tiêu chuẩn:

  • Kiến trúc phát triển Web: Phân định rõ tầng Front-End (giao diện tương tác người dùng) và Back-End (xử lý logic nghiệp vụ, máy chủ và cơ sở dữ liệu).
  • Ngôn ngữ đánh dấu và định dạng: HTML (HyperText Markup Language) và phiên bản HTML5 bổ sung thẻ ngữ nghĩa, hỗ trợ nhúng đa phương tiện <audio>, <video>, đồ họa SVG, MathML và mở rộng các loại trường biểu mẫu (email, date, time, phone, search); CSS (Cascading Style Sheets) định kiểu hiển thị và bố cục giao diện.
  • Ngôn ngữ kịch bản: JavaScript (ngôn ngữ lập trình thông dịch bậc cao, hướng đối tượng dựa trên prototype) và PHP (ngôn ngữ kịch bản phía máy chủ mã nguồn mở, nhúng trực tiếp vào HTML).
  • Hệ quản trị nội dung (CMS): WordPress Framework (khởi nguồn từ dự án b2/cafelog năm 2001 bởi Michel Valdrighi, phát triển chính thức bởi Matt Mullenweg và Mike Little từ năm 2003).
  • Hệ quản trị cơ sở dữ liệu: MySQL (hệ quản trị cơ sở dữ liệu quan hệ mã nguồn mở theo giấy phép GNU GPL).

Phương pháp nghiên cứu và nguồn dữ liệu

  • Phương pháp phân tích và tổng hợp lý thuyết: Thu thập, phân tích tài liệu kỹ thuật về kiến trúc web, các phiên bản CSS/HTML5, các framework JavaScript (Angular, React, Vue), so sánh mô hình Single Page Application (SPA) và Server Side Rendering (SSR).
  • Phương pháp phân tích và thiết kế hệ thống hướng đối tượng: Sử dụng sơ đồ phân cấp chức năng (Functional Hierarchy Diagram), sơ đồ ca sử dụng tổng quát và chi tiết (Use Case Diagram), cùng sơ đồ tuần tự (Sequence Diagram) để mô hình hóa các luồng xử lý dữ liệu.
  • Phương pháp thực nghiệm phát triển phần mềm: Cài đặt, cấu hình hệ thống trên máy tính cá nhân sử dụng Visual Studio Code, Git, quản lý cơ sở dữ liệu qua phpMyAdmin, triển khai giao diện qua Theme Xstore và plugin hỗ trợ Xstore Core.

Thiết kế và triển khai

Hệ thống website quản lý cửa hàng mỹ phẩm được thiết kế gồm hai phân hệ chính: phân hệ người dùng (Client-side) và phân hệ quản trị viên (Administrator-side).

1. Phân hệ người dùng (Client-side)

Phân hệ này cung cấp đầy đủ các tiện ích giúp khách hàng tìm kiếm, xem thông tin và mua sắm mỹ phẩm trực tuyến.

STT Tên chức năng Mô tả chi tiết chức năng
1 Đăng ký tài khoản (Register an account) Khách hàng đăng ký tài khoản bằng email, tên và mật khẩu; thông tin được lưu trữ vào cơ sở dữ liệu.
2 Đăng nhập tài khoản (Log in to your account) Xác thực thông tin qua email và mật khẩu; hệ thống cấp token lưu phiên đăng nhập của người dùng.
3 Đăng xuất tài khoản (Sign out of your account) Xóa token đã lưu và chuyển hướng người dùng về trang đăng nhập.
4 Xem sản phẩm (View products) Hiển thị toàn bộ danh sách sản phẩm mỹ phẩm cho mọi khách truy cập (kể cả chưa đăng nhập).
5 Tìm kiếm sản phẩm (Search products) Tìm kiếm nhanh danh sách sản phẩm dựa theo từ khóa nhập vào thanh tìm kiếm.
6 Sắp xếp sản phẩm (View sorted products) Lọc và sắp xếp sản phẩm theo các tiêu chí: mới nhất, cũ nhất, giá tăng dần, giá giảm dần, sản phẩm tốt nhất.
7 Xem theo danh mục (View products by category) Phân loại và hiển thị sản phẩm theo từng danh mục cụ thể hoặc xem tất cả danh mục.
8 Giỏ hàng (Cart) Quản lý sản phẩm chọn mua, cho phép tăng/giảm số lượng, xóa từng sản phẩm và tự động tính tổng tiền.
9 Xem lịch sử mua hàng (View purchase history) Hiển thị chi tiết đơn hàng đã mua: số lượng, ngày mua, họ tên, địa chỉ, mã bưu điện, mã quốc gia và tổng giá trị.
10 Xem chi tiết sản phẩm (See details of each product) Hiển thị tên, mô tả, nội dung, giá bán và đề xuất các sản phẩm tương tự trong cửa hàng.
11 Thanh toán trực tiếp (Direct payment) Cho phép khách hàng đặt hàng và lựa chọn hình thức thanh toán khi nhận hàng (COD).
12 Xem tin tức (View news) Hiển thị danh sách các bài viết, tin tức làm đẹp trên trang blog của website.
13 Xem chi tiết tin tức (See details of each new) Chuyển tiếp tới trang xem toàn bộ nội dung chi tiết của một bài viết cụ thể.

2. Phân hệ quản trị (Administrator-side)

Phân hệ quản trị cho phép người quản lý kiểm soát toàn bộ hoạt động kinh doanh, dữ liệu sản phẩm, đơn hàng và nội dung bài viết.

STT Tên chức năng Mô tả chi tiết chức năng
1 Quản lý sản phẩm (Product Management) Thêm sản phẩm mới (tên, giá, mô tả, hình ảnh), chỉnh sửa thông tin sản phẩm, xóa từng sản phẩm hoặc xóa toàn bộ.
2 Quản lý danh mục (Manage product catalog) Thêm, sửa, xóa các danh mục phân loại mỹ phẩm trên website.
3 Quản lý chi tiết đơn hàng (Manage order details) Theo dõi danh sách đơn hàng đã bán: thông tin người nhận, ngày đặt hàng, địa chỉ, mã bưu điện, mã quốc gia, số lượng và tổng tiền.
4 Tiếp nhận phản hồi (Get customer feedback) Lưu trữ và hiển thị các ý kiến đóng góp, phản hồi từ khách hàng gửi về website.
5 Quản lý tin tức (News management) Soạn thảo, thêm mới, sửa nội dung hoặc xóa các bài viết tin tức/blog trên hệ thống.

3. Mô hình hóa hệ thống và công cụ triển khai

  • Biểu đồ ca sử dụng (Use Case Diagrams): Tác giả xây dựng sơ đồ ca sử dụng tổng quát và các sơ đồ phân rã chi tiết cho tác tử khách hàng (Customer) và quản trị viên (System Administrator), bao gồm: ca sử dụng quản lý giỏ hàng, quản lý sản phẩm, quản lý tin tức, thêm vào giỏ hàng, cập nhật giỏ hàng, thanh toán, thêm sản phẩm và xóa sản phẩm.
  • Biểu đồ tuần tự (Sequence Diagrams): Mô tả chi tiết luồng thông điệp theo thời gian cho các nghiệp vụ: Đăng nhập (Login sequence diagram), Đặt hàng (Order sequence diagram), Tìm kiếm (Search sequence diagram) và Đăng ký (Register sequence diagram).
  • Môi trường triển khai thực nghiệm:
    • Soạn thảo mã nguồn và quản lý phiên bản: Visual Studio Code, Git.
    • Quản trị cơ sở dữ liệu: phpMyAdmin (tạo người dùng, cấp quyền, tạo thư mục cơ sở dữ liệu và kết nối).
    • Giao diện và tiện ích mở rộng: Cài đặt và kích hoạt Theme Xstore, plugin Xstore Core, trình dựng trang (Page Builder), nhập dữ liệu mẫu (Import data demo).
    • Tích hợp công cụ tương tác đa kênh: Chèn nút liên hệ (Contact button), cấu hình Messenger Chat qua đoạn mã plugin (Messenger Plugin Chat Code), tích hợp nút gọi điện thoại và Zalo trực tiếp trên giao diện website.

Nội dung chính theo từng chương

Chương 1: Tổng quan về WordPress và MySQL (Chapter 1: Overview of WordPress and MySQL)

Chương 1 hệ thống hóa toàn bộ cơ sở lý luận và nền tảng công nghệ xây dựng website thương mại điện tử:

  • Khái niệm lập trình web: Phân tích vai trò của Front-End (HTML, CSS, JavaScript) trong việc tối ưu hóa khả năng hiển thị đa thiết bị và Back-End (PHP, C#, Java, Python; các framework Django, Rails, Spring; các hệ quản trị cơ sở dữ liệu SQL/NoSQL; hệ quản trị nội dung WordPress, Joomla, Umbraco) trong việc xử lý logic nghiệp vụ và dữ liệu.
  • Các ngôn ngữ cốt lõi: Phân tích đặc tính của HTML5 (loại bỏ các thẻ lỗi thời như applet, font, frame, center, isindex...; bổ sung thẻ ngữ nghĩa và hỗ trợ đa phương tiện), CSS và tiến trình phát triển các thuộc tính CSS qua các phiên bản, JavaScript (mô hình prototype-based, ứng dụng trên Front-End, Back-End với Node.js, ứng dụng Desktop với Electron, ứng dụng di động với React-Native) và PHP (ngôn ngữ mã nguồn mở máy chủ, hỗ trợ kết nối đa dạng cơ sở dữ liệu MySQL, PostgreSQL, MS-SQL, SQLite).
  • Lợi ích của website đối với doanh nghiệp: Liệt kê 16 lợi ích cụ thể như bán hàng mọi lúc mọi nơi 24/24, không giới hạn không gian, tiết kiệm chi phí mặt bằng và nhân sự, nâng cao tính chuyên nghiệp, tăng khả năng tiếp cận khách hàng tiềm năng, thu thập phản hồi và xây dựng thương hiệu.
  • WordPress Framework và Hệ quản trị MySQL: Trình bày lịch sử phát triển của WordPress từ b2/cafelog (2001) đến phiên bản chính thức (2003), quy mô hơn 75 triệu website toàn cầu và hỗ trợ 52 ngôn ngữ. Phân tích ưu nhược điểm của WordPress và MySQL.

Chương 1 cũng cung cấp bảng đối chiếu chi tiết giữa WordPress.org và WordPress.com để làm căn cứ lựa chọn nền tảng:

Tiêu chí so sánh WordPress.org (Tự lưu trữ - Self-hosted) WordPress.com (Lưu trữ sẵn)
Chi phí ban đầu Mua Hosting khoảng 3.49 USD/tháng (~81.000 VNĐ) và tên miền khoảng 10 USD/năm (~231.000 VNĐ). Miễn phí bản cơ bản, giới hạn dung lượng lưu trữ 3GB, sử dụng tên miền phụ (subdomain).
Quản lý giao diện (Theme) Tùy ý tải lên giao diện miễn phí, trả phí hoặc tự chỉnh sửa mã nguồn theme. Giới hạn giao diện; phải trả thêm 30 USD/năm (~693.000 VNĐ) để được tùy biến mã nguồn.
Bảo trì và cập nhật Người quản trị tự chịu trách nhiệm tối ưu hóa, sao lưu (backup), chống spam và bảo mật. Hệ thống tự động thực hiện việc cập nhật và sao lưu dữ liệu.
Sử dụng Plugin Cho phép cài đặt không giới hạn mọi plugin để bổ sung tính năng chuyên biệt. Không hỗ trợ tải lên plugin ngoài ở phiên bản cơ bản, tính năng bị giới hạn.
Kiếm tiền và quảng cáo Toàn quyền đặt banner quảng cáo, tiếp thị liên kết (affiliate links) và các hình thức khác. Không được phép đặt banner cho đến khi đạt tối thiểu 25.000 lượt xem/tháng và phải xin cấp phép.

Chương 2: Phân tích và thiết kế hệ thống (Chapter 2: System Analysis and Design)

Chương 2 tập trung vào việc mô hình hóa các yêu cầu nghiệp vụ của website bán mỹ phẩm trực tuyến:

  • Đặc tả tổng quan: Xác định hệ thống là website thương mại điện tử với giao diện thân thiện, tốc độ xử lý nhanh, hỗ trợ phương thức thanh toán khi nhận hàng (COD).
  • Đặc tả chức năng chi tiết: Phân rã cụ thể 13 chức năng phía người dùng (Client-side) và 5 chức năng phía quản trị viên (Administrator-side) theo cơ chế: Đầu vào (Input) $\rightarrow$ Quy trình xử lý dữ liệu (Processing) $\rightarrow$ Kết quả đầu ra (Output).
  • Mô hình hóa ca sử dụng: Xây dựng sơ đồ phân cấp chức năng phía người dùng và quản trị viên; sơ đồ ca sử dụng tổng quát cùng 8 sơ đồ ca sử dụng thành phần mô tả chi tiết các tác vụ: giỏ hàng, sản phẩm, tin tức, thanh toán, thêm/xóa sản phẩm.
  • Mô hình hóa tương tác: Thiết lập 4 sơ đồ tuần tự (Sequence Diagram) thể hiện tuần tự các thông điệp trao đổi giữa Actor, Interface, Controller và Database cho các tiến trình: Đăng nhập, Đặt hàng, Tìm kiếm và Đăng ký tài khoản.

Chương 3: Xây dựng Website (Chapter 3: Building a Website)

Chương 3 trình bày các bước triển khai kỹ thuật thực tế và kết quả giao diện website:

  • So sánh mô hình kiến trúc: Đánh giá ưu nhược điểm giữa mô hình Single Page Application (SPA) và Server Side Rendering (SSR).
  • Chuẩn bị môi trường và cấu hình hệ thống: Hướng dẫn quy trình cài đặt Visual Studio Code, cài đặt Git, cấu hình máy chủ cục bộ và cơ sở dữ liệu trên phpMyAdmin (tạo tài khoản, phân quyền truy cập, tạo thư mục và khai báo thông tin kết nối).
  • Triển khai giao diện và Plugin: Thiết lập theme Xstore, cài đặt plugin Xstore Core, thực hiện nhập dữ liệu mẫu (Import data demo), sử dụng Page Builder để tùy biến bố cục trang.
  • Tích hợp kênh hỗ trợ khách hàng: Cấu hình và nhúng mã Messenger Plugin Chat Code, thiết lập nút liên hệ tích hợp số điện thoại hotline và ứng dụng Zalo.
  • Hiện thực hóa giao diện: Trình bày kết quả hoàn thiện của các màn hình chức năng: Trang chủ khi đăng nhập, trang chi tiết sản phẩm, trang giỏ hàng, giao diện tìm kiếm sản phẩm, giao diện thêm/quản lý danh mục và toàn bộ phân hệ quản trị (Admin side interface).

Kết quả và đóng góp

Kết quả chính đạt được

  • Xây dựng hoàn chỉnh website bán hàng và quản lý cửa hàng mỹ phẩm trực tuyến dựa trên nền tảng WordPress và hệ quản trị cơ sở dữ liệu MySQL.
  • Hiện thực hóa đầy đủ 13 chức năng phía khách hàng và 5 nhóm chức năng quản trị bán hàng, đảm bảo tính liên kết từ khâu tìm kiếm, xem danh mục, quản lý giỏ hàng đến đặt hàng thanh toán COD.
  • Tối ưu hóa giao diện hiển thị, đảm bảo tính thẩm mỹ, thân thiện với người dùng và cải thiện tốc độ xử lý thao tác trên trang.
  • Tích hợp thành công các công cụ giao tiếp trực tuyến thời gian thực (Facebook Messenger, Zalo, gọi điện trực tiếp) giúp kết nối liền mạch giữa khách hàng và nhân viên tư vấn.

Đóng góp thực tiễn

  • Cung cấp một giải pháp xây dựng website bán hàng hoàn chỉnh, tiết kiệm chi phí đầu tư ban đầu về nhân sự và mặt bằng cho các cửa hàng, cá nhân kinh doanh mỹ phẩm nhỏ và vừa.
  • Đưa ra tài liệu phân tích thiết kế hệ thống chi tiết (từ bảng chức năng I/O, biểu đồ ca sử dụng đến biểu đồ tuần tự) có thể áp dụng trực tiếp cho các bài toán phát triển web thương mại điện tử tương tự.

Hạn chế và hướng nghiên cứu tiếp

Dựa trên các phân tích kỹ thuật trong văn bản, đồ án ghi nhận một số hạn chế và hướng mở:

  • Vấn đề bảo mật: Do đặc thù mã nguồn mở của PHP và WordPress, hệ thống có nguy cơ bị khai thác lỗ hổng nếu mã nguồn hoặc các plugin không được cập nhật thường xuyên.
  • Xung đột phần mềm: Việc cài đặt, kết hợp nhiều template và plugin ngoài có thể dẫn đến nguy cơ xung đột mã nguồn trong quá trình vận hành.
  • Giới hạn khả năng chịu tải: Cấu trúc cơ sở dữ liệu MySQL kết hợp với WordPress phù hợp tối ưu cho các doanh nghiệp quy mô vừa và nhỏ; chưa đáp ứng được các hệ sinh thái có khối lượng dữ liệu khổng lồ như mạng lưới siêu thị toàn quốc, hệ thống ngân hàng hoặc quản lý dân số quốc gia.
  • Phương thức thanh toán: Hệ thống hiện mới tập trung vào hình thức thanh toán trực tiếp khi nhận hàng (COD), chưa tích hợp các cổng thanh toán điện tử trực tuyến nâng cao.

Giá trị tham khảo

Đồ án là tài liệu tham khảo hữu ích cho:

  • Sinh viên chuyên ngành Kỹ thuật Thông tin và Truyền thông (ICE), Công nghệ thông tin, Hệ thống thông tin quản lý hoặc Thương mại điện tử đang thực hiện đồ án tốt nghiệp về xây dựng website bán hàng.
  • Các nhà phát triển web mới bắt đầu, cần tìm hiểu quy trình phân tích thiết kế từ biểu đồ phân cấp chức năng, biểu đồ use case, biểu đồ sequence đến các bước cài đặt theme, plugin Xstore và cấu hình cơ sở dữ liệu phpMyAdmin trên nền tảng WordPress.
  • Các cá nhân và chủ cửa hàng mỹ phẩm muốn tham khảo mô hình website kinh doanh trực tiếp kết hợp các kênh chăm sóc khách hàng đa nền tảng (Zalo, Messenger).

Câu hỏi thường gặp

1. Đồ án do ai thực hiện, thuộc đơn vị đào tạo nào và người hướng dẫn là ai?
Đồ án do sinh viên Đỗ Quang Minh (Mã sinh viên: 19071617 / 1907167, Lớp: ICE2019A, Ngành: ICE) thực hiện tại Trường Quốc tế – Đại học Quốc gia Hà Nội, dưới sự hướng dẫn của TS. Phạm Đình Tân vào năm 2024.

2. Công nghệ chính được sử dụng để xây dựng website trong đồ án là gì?
Website được phát triển dựa trên nền tảng mã nguồn mở WordPress Framework, ngôn ngữ lập trình PHP, giao diện Front-End sử dụng HTML/HTML5, CSS, JavaScript, cơ sở dữ liệu MySQL quản lý qua phpMyAdmin, kết hợp cùng theme Xstore và plugin Xstore Core.

3. Phân hệ người dùng (Client-side) bao gồm những chức năng chính nào?
Phân hệ người dùng gồm 13 chức năng: Đăng ký tài khoản, Đăng nhập, Đăng xuất, Xem sản phẩm, Tìm kiếm sản phẩm, Lọc/sắp xếp sản phẩm, Xem theo danh mục, Quản lý giỏ hàng, Xem lịch sử mua hàng, Xem chi tiết sản phẩm, Thanh toán khi nhận hàng (COD), Xem tin tức blog và Xem chi tiết bài viết tin tức.

4. Phân hệ quản trị (Administrator-side) quản lý những đối tượng dữ liệu nào?
Phân hệ quản trị quản lý 5 nhóm đối tượng: Quản lý sản phẩm (thêm/sửa/xóa sản phẩm), Quản lý danh mục sản phẩm, Quản lý chi tiết đơn hàng đã bán, Tiếp nhận và lưu trữ phản hồi của khách hàng, và Quản lý các bài viết tin tức.

5. Điểm khác biệt cơ bản giữa WordPress.org và WordPress.com được đồ án chỉ ra là gì?
WordPress.org yêu cầu người dùng tự mua hosting (khoảng 3.49 USD/tháng) và tên miền (khoảng 10 USD/năm), nhưng cho phép toàn quyền cài đặt theme, plugin và kiếm tiền; trong khi WordPress.com cung cấp dịch vụ lưu trữ sẵn miễn phí nhưng bị giới hạn 3GB dung lượng, dùng tên miền phụ, giới hạn cài đặt plugin và yêu cầu đạt tối thiểu 25.000 lượt xem/tháng mới được xem xét đặt banner quảng cáo.


Kết luận

Đồ án "Thiết Kế Website Quản Lý Cửa Hàng Mỹ Phẩm" của sinh viên Đỗ Quang Minh đã hoàn thành mục tiêu nghiên cứu lý thuyết công nghệ web và phân tích, thiết kế, triển khai thực nghiệm thành công một website thương mại điện tử chuyên biệt cho ngành hàng mỹ phẩm. Hệ thống đáp ứng đầy đủ các luồng nghiệp vụ mua sắm trực tuyến cho khách hàng và phân hệ quản lý bán hàng cho quản trị viên trên nền tảng WordPress và MySQL. Đồ án là tài liệu tham khảo có giá trị về mặt kỹ thuật triển khai và quy trình phân tích hệ thống thông tin ứng dụng trong thương mại điện tử.