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

Khóa luận tốt nghiệp với đề tài "Nghiên cứu và ứng dụng mã nguồn mở WordPress để xây dựng website đọc truyện" do sinh viên Nguyễn Duy Tân (lớp 519CNT, mã sinh viên 519CNT026) thực hiện dưới sự hướng dẫn của PGS.TS Nguyễn Việt Anh tại Khoa Công nghệ Thông tin, Trường Đại học Hòa Bình (nghiệm thu tháng 6 năm 2023).

Lý do chọn đề tài và bối cảnh thực tiễn

Sự phát triển mạnh mẽ của công nghệ thông tin và mạng Internet đã tác động sâu rộng đến mọi lĩnh vực đời sống, từ khoa học kỹ thuật đến hoạt động quản lý và kinh tế. Cùng với sự thay đổi trong thói quen tiếp cận thông tin của xã hội, việc đọc sách truyền thống đang dần chuyển dịch sang môi trường trực tuyến. Nhu cầu tìm kiếm một nền tảng đọc sách và truyện online tiện lợi, có giao diện thân thiện, khả năng tương tác cao và quản lý nội dung khoa học đã trở thành đòi hỏi thực tiễn. Xuất phát từ thực tế đó, tác giả lựa chọn nghiên cứu hệ quản trị nội dung mã nguồn mở WordPress để thiết kế và triển khai một website đọc truyện trực tuyến, kết hợp các tiện ích thương mại điện tử nhằm phục vụ độc giả và nhà phát hành.

Mục tiêu và nhiệm vụ nghiên cứu

Mục tiêu tổng quát của đề tài là xây dựng hoàn chỉnh một website đọc sách/truyện trực tuyến vận hành trên nền tảng mã nguồn mở WordPress, đáp ứng yêu cầu của người đọc hiện đại và nâng cao năng lực lập trình, thiết kế web của tác giả. Các mục tiêu cụ thể được xác định gồm 4 nhóm nhiệm vụ:

  1. Tiếp cận dễ dàng: Xây dựng hệ thống giao diện trực quan, dễ thao tác, hỗ trợ công cụ tìm kiếm nhanh chóng và đảm bảo chất lượng hiển thị nội dung.
  2. Trải nghiệm đọc: Nâng cao mức độ thuận tiện cho người dùng, tăng cường tính tương tác, hỗ trợ tạo danh sách đọc, đánh dấu trang và tối ưu hóa việc theo dõi các chương hồi.
  3. Đa dạng hóa nội dung: Thiết lập cấu trúc phân loại truyện theo các thể loại cụ thể như lịch sử, ngôn tình, trinh thám, tiểu thuyết, sách học thuật và tài liệu kỹ năng.
  4. Tích hợp tiện ích: Cung cấp hệ thống đăng ký/đăng nhập để lưu trữ hồ sơ cá nhân, đánh giá xếp hạng, đề xuất tác phẩm mới, đồng thời tích hợp phân hệ giỏ hàng và thanh toán trực tuyến.

Đối tượng và phạm vi nghiên cứu

  • Đối tượng nghiên cứu:
    • Người đọc: Độc giả quan tâm đến việc đọc sách, truyện trực tuyến, từ người mới bắt đầu đến người đọc thường xuyên.
    • Tác giả: Các tác giả có nhu cầu sử dụng nền tảng để chia sẻ, quảng bá tác phẩm và tiếp cận cộng đồng độc giả.
    • Nhà xuất bản: Các đơn vị phát hành tìm kiếm kênh phân phối, tiếp thị và thương mại hóa ấn phẩm trực tuyến.
  • Phạm vi nghiên cứu:
    • Thiết kế giao diện: Tổ chức bố cục trang web tương thích đa thiết bị (responsive), định dạng văn bản, xử lý hình ảnh và sắp xếp danh mục sách/truyện.
    • Tính năng và trải nghiệm người dùng: Khảo sát và hiện thực hóa các chức năng tìm kiếm, đánh giá xếp hạng, bình luận, tích hợp phương thức giỏ hàng - thanh toán và cơ chế đọc liên tục giữa các chương.
    • Quản lý nội dung và tác giả: Quản trị cơ sở dữ liệu bài viết, sản phẩm, phân quyền thành viên và khai thác các plugin chuyên dụng trên WordPress.

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

Khung công nghệ và cơ sở lý thuyết

Đề tài dựa trên nền tảng hệ quản trị nội dung (CMS) mã nguồn mở và kiến trúc ứng dụng web hướng đối tượng:

  • WordPress: Hệ thống CMS phát triển từ nền tảng B2/Cafelog bởi Matt Mullenweg và Mike Little (ra mắt phiên bản 0.7 vào tháng 5/2003 và phiên bản 1.0 vào tháng 1/2004). WordPress cung cấp khả năng quản trị bài viết, hệ thống chủ đề (Themes), kho tiện ích mở rộng (Plugins), cơ chế phân quyền người dùng và hỗ trợ tối ưu hóa công cụ tìm kiếm (SEO).
  • Môi trường máy chủ cục bộ (Localhost): Hoạt động theo mô hình Máy chủ (Server) - Khách (Client), cho phép biên dịch và xử lý các yêu cầu HTTP/HTTPS cục bộ mà không cần kết nối mạng Internet. Hệ thống sử dụng bộ công cụ XAMPP để tích hợp máy chủ web Apache, hệ quản trị cơ sở dữ liệu MySQL, ngôn ngữ lập trình kịch bản PHP và công cụ quản trị phpMyAdmin.
  • Các plugin mở rộng:
    • Elementor: Plugin xây dựng trang (Page Builder) theo cơ chế kéo - thả trực quan (đạt hơn 5 triệu lượt cài đặt), hỗ trợ tùy biến Header, Menu, Page và Layout mà không cần can thiệp trực tiếp vào mã nguồn.
    • WooCommerce: Plugin mã nguồn mở chuyên dụng cho thương mại điện tử trên WordPress, cung cấp các module quản lý danh mục sản phẩm, giỏ hàng, quy trình đặt hàng và thiết lập phương thức thanh toán.
Thuật ngữ / Viết tắt Tên tiếng Anh đầy đủ Giải thích chức năng trong khóa luận
CMS Content Management System Hệ thống quản lý và xuất bản nội dung web
CSDL / SQL Structured Query Language Hệ thống cơ sở dữ liệu và ngôn ngữ truy vấn có cấu trúc
PHP Hypertext Preprocessor (Personal Home Page) Ngôn ngữ lập trình kịch bản phía máy chủ
Localhost / XAMPP Cross-Platform, Apache, MySQL, PHP, Perl Môi trường máy chủ giả lập cục bộ phục vụ phát triển và kiểm thử
Elementor Page Builder Plugin Công cụ thiết kế và chỉnh sửa giao diện web kéo thả
WooCommerce E-commerce Plugin Module xử lý giỏ hàng, đơn hàng và thanh toán điện tử
SEO Search Engine Optimization Tối ưu hóa cấu trúc website cho các công cụ tìm kiếm

Phương pháp nghiên cứu

Tác giả áp dụng quy trình nghiên cứu kỹ thuật phần mềm gồm 5 bước tuần tự:

  1. Xác định mục tiêu nghiên cứu: Định hình các yêu cầu chức năng và phi chức năng của hệ thống đọc truyện trực tuyến.
  2. Đánh giá nghiên cứu có sẵn: Khảo sát các nền tảng đọc truyện hiện hành và phân tích ưu - nhược điểm của CMS WordPress.
  3. Phân tích yêu cầu và đặc điểm: Đặc tả chi tiết các ca sử dụng (Use Case), luồng xử lý dữ liệu và thiết kế kiến trúc chức năng.
  4. Thiết kế và phát triển trang web: Cài đặt môi trường XAMPP, khởi tạo cơ sở dữ liệu MySQL, cấu hình mã nguồn WordPress, thiết kế giao diện bằng Elementor và tích hợp plugin WooCommerce.
  5. Kiểm tra và đánh giá: Thử nghiệm chức năng trên môi trường máy chủ cục bộ, ghi nhận lỗi và đánh giá tốc độ hiển thị.

Thiết kế và triển khai hệ thống

Kiến trúc môi trường và cấu hình kỹ thuật

Quá trình xây dựng hệ thống được triển khai trên môi trường Localhost với các thông số cấu hình cụ thể:

  • Công cụ giả lập: XAMPP Control Panel (vận hành dịch vụ Apache và MySQL với quyền quản trị viên).
  • Cơ sở dữ liệu: Khởi tạo qua giao diện phpMyAdmin (http://localhost/phpmyadmin/) với tên CSDL là wordpress, tên người dùng truy cập mặc định là root, mật khẩu để trống.
  • Thư mục triển khai mã nguồn: Đặt tại đường dẫn C:\xampp\htdocs\myWeb trên hệ điều hành Windows (tương đương /opt/lampp trên Linux và /Applications/XAMPP trên macOS).
  • Trang quản trị: Truy cập thông qua đường dẫn http://localhost/myWeb/wp-admin.
[Người dùng / Trình duyệt] 
[Máy chủ Web Apache (XAMPP / Port 80)]

Phân tích ca sử dụng (User Case)

Hệ thống phân định rõ hai tác nhân chính thông qua biểu đồ ca sử dụng:

Tác nhân Các ca sử dụng chính (Chức năng)
Khách hàng (User) - Xem danh sách, chi tiết truyện và danh mục sản phẩm
- Tìm kiếm truyện theo từ khóa và thể loại
- Đọc nội dung truyện (các chương tích hợp trên một trang)
- Đánh giá xếp hạng truyện (thang điểm 5 sao) và gửi bình luận
- Đăng ký tài khoản, đăng nhập và quản lý hồ sơ cá nhân
- Thêm sản phẩm vào giỏ hàng, cập nhật giỏ hàng và tiến hành thanh toán
- Theo dõi lịch sử đơn hàng và cập nhật địa chỉ thanh toán/giao nhận
Quản trị viên (Admin) - Quản lý danh mục và danh sách sản phẩm truyện (thêm, sửa, xóa)
- Thiết lập thuộc tính sản phẩm: giá cả, mô tả, từ khóa, ảnh bìa
- Quản lý tài khoản người dùng và phân quyền thành viên
- Quản lý thông tin đơn hàng và trạng thái thanh toán
- Quản lý nội dung slider và cấu hình giao diện trang web

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

CHƯƠNG I: GIỚI THIỆU VỀ WORDPRESS VÀ MỘT SỐ CÔNG CỤ LIÊN QUAN

Chương I tập trung trình bày tổng quan lý thuyết về hệ quản trị nội dung WordPress và các công cụ hỗ trợ xây dựng môi trường phát triển web:

  • Tổng quan về WordPress: Khái quát lịch sử hình thành từ năm 2003, các ưu điểm nổi bật (dễ sử dụng, tính mở rộng cao qua Theme/Plugin, cộng đồng hỗ trợ lớn, hỗ trợ đa ngôn ngữ, chuẩn SEO và bảo mật). Xác định các nhóm đối tượng sử dụng WordPress từ blogger cá nhân đến doanh nghiệp và cửa hàng trực tuyến.
  • Khái niệm và cơ chế hoạt động của Localhost: Phân tích nguyên lý truyền nhận yêu cầu giữa trình duyệt (Client) và máy chủ cục bộ (Server) không cần qua kết nối Internet, giúp tiết kiệm thời gian phát triển và kiểm thử mã nguồn.
  • Quy trình cài đặt Localhost với XAMPP: Hướng dẫn từng bước tải và cài đặt phần mềm XAMPP, khởi động Apache và MySQL từ XAMPP Control Panel.
  • Khởi tạo cơ sở dữ liệu MySQL: Thao tác trên giao diện phpMyAdmin để tạo cơ sở dữ liệu có tên wordpress với tài khoản root.
  • Cài đặt WordPress: Quy trình giải nén mã nguồn vào thư mục htdocs, kết nối với CSDL MySQL và thiết lập thông tin ban đầu cho trang web (tiêu đề, tài khoản quản trị, mật khẩu, email).

CHƯƠNG II: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG

Chương II đi sâu vào phân tích yêu cầu kỹ thuật và mô hình hóa chức năng hệ thống:

  • Đặc tả yêu cầu: Đặt ra các tiêu chuẩn về giao diện người dùng (tính responsive, điều hướng trực quan); hệ thống quản lý chương/phần; chức năng bình luận và đánh giá (thang điểm 5 sao); tối ưu hóa cấu trúc URL thân thiện cho SEO; bảo mật thông tin tài khoản và tích hợp cổng mua sắm - áp dụng mã giảm giá.
  • Yêu cầu chức năng: Liệt kê các chức năng cơ bản gồm hiển thị danh sách truyện, xem chi tiết truyện, trình đọc truyện, bình luận/đánh giá, đăng ký/đăng nhập, gợi ý truyện liên quan và liên kết mạng xã hội (Facebook, Twitter).
  • Phân tích chi tiết các phân hệ chức năng:
    • Trang chủ (Home): Hiển thị thông tin giới thiệu, banner, liên kết nhanh, danh mục bài viết/truyện nổi bật và thanh tìm kiếm.
    • Thể loại: Phân loại các danh mục truyện như tiên hiệp, kiếm hiệp, ngôn tình, huyền huyễn, kinh dị, lịch sử, trinh thám; hỗ trợ lọc truyện mới và xếp hạng tác phẩm.
    • Giới thiệu (About Us) & Liên hệ (Contact Us): Cung cấp thông tin đội ngũ phát triển, mục tiêu hoạt động, biểu mẫu gửi phản hồi và liên hệ quản trị viên.
    • Giỏ hàng và Thanh toán: Cho phép quản lý số lượng sách muốn mua, tính toán tổng tiền, điền thông tin giao nhận và xác nhận đơn hàng qua email.
    • Đăng nhập và Quản lý thông tin: Cho phép người dùng chỉnh sửa thông tin cá nhân, cập nhật mật khẩu và quản lý đơn hàng.
    • Chức năng chương - phần và đọc truyện: Phân tích giải pháp cải tiến gom toàn bộ chương vào một trang duy nhất dạng thu gọn để người đọc không phải tải lại trang khi chuyển chương.
  • Xác định Use Case và Biểu đồ ca sử dụng: Thiết lập danh mục nhiệm vụ cụ thể cho hai nhóm người dùng (Khách hàng và Admin), minh họa trực quan mối quan hệ phân quyền trên hệ thống.

CHƯƠNG III: THIẾT KẾ WEBSITE VÀ KHAI THÁC CÁC PLUGIN

Chương III trình bày quá trình hiện thực hóa và cấu hình chi tiết các thành phần trên website:

  • Cài đặt và khai thác Plugin: Hướng dẫn tìm kiếm, cài đặt và kích hoạt hai plugin nòng cốt là Elementor và WooCommerce từ trang quản trị WordPress Dashboard.
  • Tiến hành thiết kế giao diện:
    • Sử dụng Elementor để lựa chọn Theme và tùy chỉnh Header, Menu điều hướng, Page và bố cục tổng thể (Layout).
    • Quản lý sản phẩm sách/truyện tại đường dẫn localhost/myWeb/wp-admin/edit.php?post_type=product: thiết lập tên truyện, hình ảnh bìa, mức giá, mô tả ngắn, danh mục thể loại và từ khóa tìm kiếm.
  • Hiện thực hóa các phân hệ chức năng:
    • Thanh Menu chính: Tích hợp Logo (tự động quay về trang chủ), danh mục All book, các thể loại (Ngôn tình, Lịch sử, Trinh thám), trang About, trang Contact Us, icon Avatar tài khoản và biểu tượng Giỏ hàng.
    • Chức năng giỏ hàng: Hiển thị danh sách truyện đã chọn, tổng số lượng, giá tiền, ô nhập mã giảm giá và chính sách miễn phí giao hàng.
    • Chức năng thanh toán: Biểu mẫu Checkout yêu cầu nhập các trường thông tin: Họ tên, Tên công ty (tùy chọn), Quốc gia/khu vực, Địa chỉ, Mã bưu điện, Tỉnh thành, Số điện thoại, Địa chỉ email và Ghi chú đơn hàng.
    • Chức năng đọc truyện: Người dùng chọn truyện từ menu hoặc danh mục -> màn hình hiển thị trang mô tả và đánh giá -> nhấn nút "Đọc ngay" -> chuyển đến giao diện tích hợp toàn bộ các chương đã thu gọn.
    • Hồ sơ người dùng: Quản lý thông tin đơn hàng, chỉnh sửa địa chỉ nhận hàng/thanh toán và thay đổi mật khẩu (yêu cầu nhập mật khẩu cũ và xác nhận mật khẩu mới 2 lần).

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

Kết quả đạt được

Khóa luận đã hoàn thành việc xây dựng và chạy thử nghiệm thành công một website đọc truyện kết hợp thương mại điện tử trên môi trường cục bộ với đầy đủ các phân hệ chức năng:

  • Thiết lập hoàn chỉnh website đọc truyện trực tuyến trên nền tảng WordPress kết hợp hai plugin Elementor và WooCommerce.
  • Xây dựng hệ thống menu đa tầng với các danh mục thể loại truyện rõ ràng (Ngôn tình, Lịch sử, Trinh thám).
  • Hiện thực hóa quy trình mua sách trực tuyến từ bước chọn sản phẩm, quản lý giỏ hàng, áp mã ưu đãi đến điền biểu mẫu thanh toán và tạo đơn hàng.
  • Hoàn thiện module quản lý hồ sơ khách hàng, cho phép kiểm tra lịch sử mua sắm và cập nhật thông tin bảo mật tài khoản.

Đóng góp kỹ thuật do tác giả tự nêu

  • Cải tiến phương thức hiển thị chương truyện: Khác với các website đọc truyện truyền thống (buộc người đọc phải chọn từng chương và tải lại toàn bộ trang web hoặc chuyển sang URL mới gây gián đoạn trải nghiệm), đề tài đã tích hợp tất cả các chương vào cùng một trang duy nhất dưới dạng menu thu gọn. Người dùng có thể chuyển đổi nội dung chương đọc ngay trên giao diện mà không cần reload trang.
  • Tích hợp mô hình kép (Đọc trực tuyến & Bán sách): Kết hợp linh hoạt giữa chức năng đọc truyện miễn phí và hệ thống bán ấn phẩm có giỏ hàng, thanh toán và quản lý đơn lẻ từng đầu sách thông qua việc tùy biến plugin WooCommerce.

Ý nghĩa thực tiễn và khoa học

  • Phổ biến tri thức: Đưa nội dung sách, truyện tiếp cận người đọc nhanh chóng, thuận tiện qua môi trường Internet.
  • Tiết kiệm chi phí và bảo vệ môi trường: Giảm bớt nhu cầu in ấn truyền thống, hạn chế tiêu thụ giấy và giảm phát thải carbon ra môi trường.
  • Khả năng tương thích thiết bị: Hệ thống được tối ưu hóa giao diện cho điện thoại di động và máy tính bảng nhờ cấu trúc giao diện responsive.
  • Dễ dàng quản trị: Cung cấp giải pháp xây dựng website chi phí thấp, dễ bảo trì và dễ nâng cấp nội dung cho các cá nhân hoặc nhà xuất bản nhỏ mà không đòi hỏi kỹ năng lập trình chuyên sâu.

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

Hạn chế của hệ thống

  • Tốc độ tải trang: Việc tích hợp toàn bộ các chương và nội dung truyện vào trong cùng một trang duy nhất làm tăng dung lượng trang web, khiến tốc độ tải trang (load time) ban đầu có thể bị chậm và gây độ trễ nhất định khi xử lý dữ liệu lớn.
  • Môi trường triển khai: Hệ thống mới dừng lại ở mức độ thử nghiệm trên máy chủ cục bộ (Localhost) với công cụ XAMPP, chưa được đưa lên máy chủ thực tế (Web Hosting/Domain).

Hướng nghiên cứu tiếp

  • Tối ưu hóa hiệu năng tải trang: Nghiên cứu các giải pháp kỹ thuật nhằm giảm độ trễ của trang web, tối ưu hóa kích thước và dung lượng hình ảnh, chỉ tải những hình ảnh và dữ liệu chương thực sự cần thiết khi người dùng tương tác.
  • Hoàn thiện mã nguồn: Tiếp tục bổ sung và hoàn thiện các chức năng quản trị nâng cao, tối ưu mã nguồn để nâng cao tính ổn định và trải nghiệm người dùng trong các phiên bản tiếp theo.

Giá trị tham khảo

Tài liệu khóa luận có giá trị tham khảo thiết thực cho các nhóm đối tượng sau:

  • Sinh viên ngành Công nghệ thông tin và Hệ thống thông tin: Làm tài liệu tham khảo cho các học phần Thiết kế web, Ứng dụng mã nguồn mở, hoặc làm cơ sở để thực hiện đồ án tốt nghiệp liên quan đến CMS WordPress.
  • Người phát triển web mới bắt đầu: Tham khảo quy trình từng bước thiết lập môi trường Localhost bằng XAMPP, cấu hình cơ sở dữ liệu MySQL trên phpMyAdmin và kỹ thuật sử dụng plugin Elementor để tùy biến giao diện không cần viết mã.
  • Các đơn vị phát hành nội dung số/nhà sách nhỏ: Tham khảo mô hình tích hợp giữa nền tảng đọc trực tuyến và hệ thống thương mại điện tử WooCommerce để phân phối sách trực tiếp đến độc giả.

Phần đáng tham khảo nhất trong khóa luận: Quy trình chi tiết từng bước cài đặt môi trường XAMPP - WordPress tại Chương I và giải pháp thiết kế cấu trúc đọc chương - phần tích hợp trên một trang tại Chương II và Chương III.


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

1. Khóa luận sử dụng các công cụ nào để triển khai môi trường máy chủ cục bộ?

Tác giả sử dụng bộ phần mềm XAMPP trên hệ điều hành Windows để tạo môi trường Localhost. Bộ công cụ này bao gồm máy chủ web Apache, hệ quản trị cơ sở dữ liệu MySQL (quản lý qua giao diện phpMyAdmin) và môi trường thực thi ngôn ngữ PHP.

2. Điểm cải tiến kỹ thuật chính của website đọc truyện này so với các trang web đọc truyện thông thường là gì?

Các trang web đọc truyện thông thường buộc người dùng phải tải lại toàn bộ trang hoặc chuyển sang trang mới mỗi khi đổi chương. Website trong đề tài này đã tích hợp và thu gọn toàn bộ các chương của một cuốn truyện vào trong cùng một trang hiển thị duy nhất, giúp người dùng theo dõi nội dung liên tục mà không bị gián đoạn.

3. Hai plugin chính được sử dụng để xây dựng giao diện và chức năng của website là gì?

Hai plugin nòng cốt được tác giả khai thác là Elementor (công cụ Page Builder hỗ trợ kéo - thả để tùy biến Theme, Header, Menu và Layout) và WooCommerce (plugin quản lý sản phẩm, giỏ hàng, thông tin giao nhận và quy trình thanh toán trực tuyến).

4. Người dùng cần cung cấp những thông tin bắt buộc nào khi thực hiện chức năng thanh toán trên website?

Khi tiến hành đặt hàng tại trang thanh toán (Checkout), người dùng cần điền các trường thông tin bao gồm: Họ tên, Tên công ty (tùy chọn), Quốc gia/khu vực, Địa chỉ nhận hàng, Mã bưu điện, Tỉnh thành, Số điện thoại, Địa chỉ email và Ghi chú đơn hàng (nếu có).

5. Website hỗ trợ những thể loại truyện mẫu nào trên thanh điều hướng menu?

Trên thanh menu chính của trang web, tác giả đã cấu hình sẵn các mục thể loại bao gồm: All book (tất cả các loại sách/truyện), Ngôn tình, Lịch sử và Trinh thám.


Kết luận

Khóa luận tốt nghiệp của sinh viên Nguyễn Duy Tân đã nghiên cứu và ứng dụng thành công hệ quản trị nội dung mã nguồn mở WordPress cùng các plugin Elementor và WooCommerce để xây dựng một website đọc truyện trực tuyến hoàn chỉnh. Đề tài đã giải quyết được yêu cầu thiết kế giao diện đa thiết bị, phân quyền người dùng và tích hợp mô hình đọc truyện với chức năng mua bán sách điện tử trên môi trường máy chủ cục bộ. Dù còn hạn chế về tốc độ tải trang khi hiển thị nhiều chương cùng lúc, công trình đã đề xuất được giải pháp cải tiến trải nghiệm đọc liền mạch và vạch ra định hướng tối ưu hóa dữ liệu rõ ràng cho các giai đoạn phát triển tiếp theo.