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

Khóa luận tốt nghiệp của tác giả Bùi Phạm Thành Nguyên (ngành Công nghệ thông tin & Điện tử viễn thông, Trường Đại học Hòa Bình, năm 2021) được thực hiện trong bối cảnh cuộc cách mạng công nghệ thông tin và Internet phát triển mạnh mẽ. Kể từ khi Việt Nam chính thức trở thành thành viên thứ 150 của Tổ chức Thương mại Thế giới (WTO) vào năm 2008, hoạt động thương mại nói chung và thương mại điện tử (TMĐT) nói riêng đã có những bước chuyển biến sâu sắc. Sự gia tăng nhanh chóng về nhu cầu tiêu dùng và mức độ cạnh tranh trên thị trường đặt ra yêu cầu cấp thiết cho các doanh nghiệp, cửa hàng vừa và nhỏ phải chuyển đổi phương thức mua bán và quản trị từ thủ công sang tự động hóa bằng hệ thống máy tính.

So với phương thức kinh doanh truyền thống, thương mại điện tử giúp tiết kiệm chi phí mặt bằng, nhân sự và tối ưu hóa thời gian tiếp cận thị trường. Tuy nhiên, việc ứng dụng các cổng thương mại điện tử bán hàng trực tuyến vẫn còn những rào cản nhất định về độ phổ biến, tính bảo mật và sự tin tưởng của người dùng. Xuất phát từ thực tế đó, đề tài tập trung giải quyết bài toán xây dựng website bán hàng trực tuyến "LuciStar E-Commerce" nhằm cung cấp một nền tảng mua sắm các sản phẩm số và thiết bị công nghệ qua mạng.

Mục tiêu và nhiệm vụ nghiên cứu của đề tài được xác định bao gồm:

  1. Khảo sát hệ thống thông tin thương mại điện tử theo nhu cầu thực tế của các cá nhân, cơ quan và doanh nghiệp.
  2. Tìm hiểu nền tảng lý thuyết về mô hình Client/Server, ngôn ngữ lập trình PHP, hệ quản trị cơ sở dữ liệu MySQL và kiến trúc MVC của Framework Laravel.
  3. Phân tích yêu cầu nghiệp vụ, thiết kế hệ thống theo chuẩn UML và xây dựng hoàn chỉnh ứng dụng website bán hàng trực tuyến LuciStar.

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

  • Đối tượng nghiên cứu: Quy trình quản lý và kinh doanh trực tuyến các mặt hàng sản phẩm số (thẻ Steam Code, Xbox Code, game bản quyền, thẻ Garena, thẻ cào điện thoại, tài khoản Netflix, bản quyền Adobe) cùng một số thiết bị máy tính, điện thoại và linh kiện phụ kiện.
  • Phạm vi nghiên cứu: Về mặt mô hình, đề tài giới hạn trong phạm vi giao dịch giữa doanh nghiệp và khách hàng (B2C). Về mặt không gian vận hành, chương trình được thiết kế nhằm thực hiện đầy đủ các chức năng nghiệp vụ trong phạm vi cùng địa bàn thành phố.

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

Khóa luận sử dụng hệ thống cơ sở lý luận và các tiêu chuẩn học thuật sau:

  • Khung lý thuyết thương mại điện tử: Tiếp cận định nghĩa TMĐT theo chuẩn của Tổ chức Thương mại Thế giới (WTO) và Ủy ban TMĐT của Diễn đàn Hợp tác Kinh tế Châu Á - Thái Bình Dương (APEC). Hệ thống phân loại gồm 3 mô hình chính: Doanh nghiệp với Doanh nghiệp (B2B), Doanh nghiệp với Khách hàng (B2C) và Khách hàng với Khách hàng (C2C). Trong đó, mô hình B2C được lựa chọn làm cơ sở triển khai.
  • Yêu cầu hệ thống TMĐT: Đề tài xem xét 6 yêu cầu cốt lõi gồm cơ sở hạ tầng mạng, nhân lực công nghệ, sự tin cậy giao dịch, an toàn bảo mật, bảo vệ quyền lợi và bản quyền kinh doanh, cùng hệ thống thanh toán điện tử chuẩn hóa (chuẩn mã vạch 13 số).
  • Mô hình kiến trúc phần mềm: Áp dụng mô hình Model-View-Controller (MVC) để tách biệt giữa lớp hiển thị giao diện (View), lớp điều hướng xử lý (Controller) và lớp logic nghiệp vụ/truy xuất dữ liệu (Model). Đồng thời, đề tài tiếp cận khái niệm Hệ quản trị nội dung (CMS) với các nguyên tắc WYSIWYG, đa giao diện, kiểm soát Check-in/Check-out và quản lý quy trình.

Phương pháp nghiên cứu được triển khai cụ thể:

  • Phương pháp phân tích - tổng hợp tài liệu: Nghiên cứu tài liệu kỹ thuật về ngôn ngữ PHP, hệ quản trị CSDL MySQL, vòng đời phát triển của Framework Laravel (từ phiên bản đầu tiên của Taylor Otwell năm 2011 đến bản 5.8), công cụ quản lý gói Composer và hệ thống kiểm soát phiên bản Git/GitHub.
  • Phương pháp mô hình hóa hệ thống: Sử dụng ngôn ngữ mô hình hóa thống nhất (UML) để xây dựng hệ thống biểu đồ ca sử dụng (Use Case Diagrams) và biểu đồ hoạt động (Activity Diagrams) cho từng luồng nghiệp vụ.
  • Phương pháp thực nghiệm kỹ thuật: Thiết lập môi trường máy chủ cục bộ bằng phần mềm đóng gói XAMPP (Apache, MySQL, PHP, Perl), cấu hình hệ thống tệp .env, triển khai mã nguồn và cơ sở dữ liệu quan hệ.

Nguồn dữ liệu của đề tài là dữ liệu thử nghiệm về danh mục sản phẩm, đơn hàng và tài khoản người dùng được lưu trữ trong cơ sở dữ liệu quan hệ MySQL mang tên blog.

Thiết kế và triển khai

Hệ thống LuciStar E-Commerce được thiết kế và triển khai theo mô hình Client/Server thông qua môi trường web:

Kiến trúc công nghệ và môi trường

  • Môi trường Web Server: XAMPP (bao gồm máy chủ web Apache, PHP, hệ quản trị CSDL MySQL và ngôn ngữ Perl) chạy trên các hệ điều hành Windows, Linux hoặc macOS.
  • Nền tảng Backend: Framework Laravel xây dựng trên kiến trúc MVC, tích hợp thư viện quản lý gói phụ thuộc Composer. Hệ thống sử dụng công cụ dòng lệnh Artisan CLI và cơ chế Blade Templating.
  • Nền tảng Frontend: Kết hợp các ngôn ngữ và công nghệ gồm HTML5, CSS, JavaScript, XML và Bootstrap.
  • Cơ chế an toàn và bảo mật tích hợp: Laravel cung cấp cơ chế PDO trong Eloquent ORM để ngăn chặn tấn công SQL Injection, sử dụng trường mã định danh ẩn (token) để phòng chống tấn công giả mạo yêu cầu chéo trang (CSRF), và tự động lọc các thực thể HTML khi kết xuất ra giao diện để ngăn ngừa tấn công XSS.

Cấu hình và cơ sở dữ liệu

Hệ thống kết nối trực tiếp với MySQL Server thông qua tệp cấu hình môi trường .env:

  • Kết nối: DB_CONNECTION=mysql
  • Máy chủ và cổng: DB_HOST=127.0.0.1, DB_PORT=3306
  • Tên cơ sở dữ liệu: DB_DATABASE=blog
  • Tài khoản quản trị: DB_USERNAME=root, DB_PASSWORD=

Dữ liệu sao lưu (backup) được lưu trữ dưới dạng tệp blog và khôi phục vào hệ thống qua giao diện phpMyAdmin. Máy chủ phát triển cục bộ được khởi động bằng lệnh php artisan serve trên cổng http://localhost:8000/.

Cấu trúc thư mục mã nguồn

Mã nguồn dự án được tổ chức chặt chẽ theo cấu trúc tiêu chuẩn của Laravel:

  • app/: Chứa mã nguồn chính gồm Controllers, Middleware, Console, Exceptions, Providers và các lớp đối tượng Models.
  • database/: Chứa các tệp migrations (khởi tạo cấu trúc bảng CSDL), seeds (chèn dữ liệu mẫu) và factories (tạo dữ liệu giả lập cho kiểm thử).
  • resources/: Chứa các tệp giao diện mẫu Blade views, tệp ngôn ngữ và tài nguyên giao diện chưa biên dịch (JS, CSS, SASS).
  • public/: Thư mục gốc web (webroot) chứa điểm truy cập ứng dụng cùng các tài nguyên tĩnh đã biên dịch.
  • routes/: Định nghĩa các tuyến điều hướng URL gồm web.php, api.php và console.php.
  • storage/: Lưu trữ dữ liệu hệ thống nội bộ như tệp tải lên (upload), bộ nhớ đệm (cache), phiên làm việc (session) và nhật ký lỗi (logs).
  • vendor/: Lưu trữ các thư viện phụ thuộc do Composer tự động tải về.

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

Chương 1: Cơ sở lý luận và nền tảng xây dựng hệ thống

Chương này tập trung trình bày hệ thống lý thuyết về thương mại điện tử, công nghệ phát triển web và các công cụ hỗ trợ:

  • Phân tích khái niệm TMĐT theo WTO và APEC; nêu bật 3 nhóm lợi ích lớn (gia tăng cơ hội lợi nhuận, giảm thiểu chi phí vận hành/tiếp thị/in ấn catalog, nâng cao uy tín thông qua củng cố quan hệ đối tác) và 6 yêu cầu kỹ thuật nền tảng; phân biệt 3 mô hình giao dịch B2B, B2C, C2C.
  • Giới thiệu ngôn ngữ PHP, 4 kiểu khai báo thẻ PHP (Short, XML, Script, ASP), cách xử lý biến $, các ưu thế về mã nguồn mở và khả năng kết nối cơ sở dữ liệu đa dạng (PostgreSQL, Microsoft SQL Server, Oracle, ODBC).
  • Trình bày hệ quản trị CSDL MySQL, ưu thế về tốc độ xử lý dữ liệu cỡ trung bình, tính miễn phí, hỗ trợ ngôn ngữ truy vấn SQL và sự kết hợp chéo nền tảng (cross-platform) với PHP. Cung cấp hướng dẫn sao lưu/phục hồi CSDL và cấu hình thông số kết nối qua tệp .env.
  • Làm rõ khái niệm hệ quản trị nội dung CMS và kiến trúc MVC.
  • Trình bày lịch sử phát triển của Framework Laravel từ tháng 6/2011 đến phiên bản 5.8; phân tích các tính năng như Blade Templating, Eloquent ORM, Migrations, SwiftMailer, hệ sinh thái bổ trợ (Homestead, Valet, Forge, Cashier, Passport, Socialite) và các cơ chế bảo mật (PDO, CSRF Token, escaping XSS).
  • Giới thiệu công cụ quản lý phụ thuộc Composer, so sánh với npm, APT và Yum.
  • Tổng quan về hệ thống quản lý phiên bản Git và dịch vụ GitHub (lịch sử thành lập năm 2008, đạt 25 triệu người dùng và 80 triệu kho mã nguồn vào tháng 3/2018); giải thích các khái niệm kỹ thuật cốt lõi (branch, commit, clone, fork, repository, tag, remote, diff, .gitignore, GitHub Actions, GitHub Package Registry).
  • Hướng dẫn cài đặt ngăn xếp XAMPP (Apache, PHP, MySQL, Perl), cài đặt Composer và thiết lập dự án Laravel thông qua Laravel Installer (composer global require "laravel/installer") hoặc lệnh Composer (composer create-project --prefer-dist laravel/laravel blog).

Chương 2: Phân tích và thiết kế hệ thống

Chương 2 mô tả chi tiết bài toán kinh doanh và quy trình phân tích thiết kế phần mềm cho hệ thống LuciStar:

  • Bài toán LuciStar: Xây dựng website thương mại điện tử chuyên cung cấp game bản quyền từ Steam, tài khoản Netflix, bản quyền Adobe, thẻ Steam Code, Xbox Code, thẻ Garena, thẻ điện thoại và phụ kiện liên quan.
  • Phân rã chức năng hệ thống: Xác định 2 nhóm tác nhân chính là Khách hàng và Người quản lý (Administrator).
  • Mô hình hóa UML: Xây dựng hệ thống các biểu đồ Use Case và Biểu đồ hoạt động (Activity Diagrams) gồm:
    • Biểu đồ Use Case tổng quát và chi tiết cho tác nhân Khách hàng (đăng ký, đăng nhập, tìm kiếm sản phẩm theo tên/giá, xem thông tin chi tiết, quản lý giỏ hàng, gửi đơn hàng, gửi ý kiến thắc mắc).
    • Biểu đồ Use Case cho tác nhân Quản trị viên (quản lý danh mục, quản lý sản phẩm, quản lý thông tin khách hàng, quản lý đơn hàng/hóa đơn, quản lý phản hồi ý kiến và xem báo cáo thống kê).
    • Biểu đồ hoạt động chi tiết mô tả luồng xử lý giỏ hàng, tìm kiếm, gửi phản hồi của khách hàng và các luồng quản lý danh mục, sản phẩm, đơn vị khách hàng, đơn hàng của quản trị viên.

Chương 3: Kết hợp Framework Laravel và Composer để phát triển ứng dụng bán hàng

Chương này phản ánh quá trình hiện thực hóa các mô hình thiết kế thành ứng dụng phần mềm cụ thể:

  • Ứng dụng Composer để nạp và quản lý các thư viện mở rộng cho dự án PHP.
  • Thiết lập hệ thống định tuyến (Routes) và các bộ điều khiển (Controllers) tương ứng với các ca sử dụng đã phân tích ở Chương 2.
  • Xây dựng các lớp Model và ánh xạ dữ liệu quan hệ với CSDL MySQL thông qua Eloquent ORM.
  • Hiện thực hóa giao diện người dùng bằng Blade templates, tích hợp Bootstrap, HTML5 và CSS để xây dựng giao diện hiển thị cho khách hàng và bảng điều khiển cho quản trị viên.

Chương 4: Đánh giá kết quả và hướng phát triển của đề tài

Chương 4 tổng kết toàn bộ quá trình nghiên cứu và thực nghiệm:

  • Tổng hợp các kết quả kỹ thuật đã đạt được trong việc hoàn thành hệ thống website bán hàng trực tuyến LuciStar.
  • Đánh giá khả năng đáp ứng các chức năng mua sắm, quản lý giỏ hàng và theo dõi đơn hàng.
  • Nêu rõ các hạn chế hiện tại của hệ thống và đề xuất các định hướng mở rộng, nâng cấp trong tương lai.

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

Khóa luận đã hoàn thành việc xây dựng ứng dụng website thương mại điện tử LuciStar E-Commerce với đầy đủ các phân hệ chức năng theo thiết kế:

Phân hệ tác nhân Chức năng chính được hiện thực hóa
Khách hàng - Đăng ký tài khoản và đăng nhập hệ thống.
- Tìm kiếm sản phẩm theo tên và theo mức giá.
- Tra cứu thông tin chi tiết các loại thẻ (Steam, Garena...), game bản quyền, key phần mềm.
- Quản lý giỏ hàng (thêm mới, chỉnh sửa số lượng, xóa sản phẩm).
- Gửi đơn hàng trực tuyến.
- Gửi câu hỏi, ý kiến đóng góp cho ban quản trị.
Quản trị viên (Admin) - Đăng nhập phân hệ quản trị.
- Quản lý danh mục sản phẩm (thêm, sửa, xóa danh mục).
- Quản lý thông tin chi tiết các sản phẩm và phụ kiện.
- Quản lý danh sách và dữ liệu tài khoản khách hàng.
- Quản lý hóa đơn và trạng thái đơn đặt hàng.
- Tiếp nhận, quản lý và phản hồi các câu hỏi, ý kiến khách hàng.
- Xem báo cáo và thống kê số liệu bán hàng.

Về mặt đóng góp kỹ thuật và ứng dụng, tác giả tự nêu các kết quả chính:

  • Ứng dụng thành công Framework Laravel kết hợp kiến trúc MVC và CSDL MySQL để tạo ra một website bán hàng động, thay thế cho quy trình quản lý mua bán thủ công truyền thống.
  • Cung cấp thông tin giá cả và hình ảnh sản phẩm chính xác, giúp người tiêu dùng tiết kiệm thời gian mua sắm.
  • Hỗ trợ người quản trị dễ dàng cập nhật thông tin sản phẩm và thống kê nhanh các mặt hàng bán chạy nhằm tối ưu hóa hiệu quả hoạt động kinh doanh.
  • Thiết lập nền tảng bảo mật cơ bản thông qua các cơ chế tích hợp của framework (chống SQL Injection, CSRF và XSS).

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

Khóa luận ghi nhận các hạn chế và hướng phát triển dựa trên văn bản:

  • Hạn chế: Do giới hạn về mặt thời gian, tác giả chưa khai thác được toàn bộ các tính năng nâng cao và khả năng hỗ trợ chuyên sâu của ngôn ngữ lập trình cũng như framework. Website LuciStar được xây dựng với tính chất ứng dụng tham khảo cơ bản. Về mặt hoạt động thực tế, hệ thống chỉ mới đáp ứng đầy đủ các chức năng giao dịch trong phạm vi cùng địa bàn thành phố. Ngoài ra, việc vận hành Laravel trên ứng dụng di động còn hạn chế về độ nặng và tốc độ tải trang.
  • Hướng nghiên cứu tiếp: Mở rộng phạm vi hoạt động của hệ thống ra quy mô toàn quốc; nghiên cứu tích hợp các giải pháp thanh toán điện tử tự động đa kênh; ứng dụng các gói mở rộng chuyên sâu của hệ sinh thái Laravel (như Passport, Cashier, Scout) và tối ưu hóa hiệu năng để hỗ trợ tốt hơn cho các nền tảng di động.

Giá trị tham khảo

Khóa luận là tài liệu tham khảo phù hợp cho sinh viên chuyên ngành Công nghệ thông tin, Kỹ thuật phần mềm và Hệ thống thông tin khi thực hiện đồ án tốt nghiệp về thương mại điện tử. Giá trị tham khảo nổi bật của công trình nằm ở:

  1. Quy trình chi tiết về việc cài đặt, cấu hình và khởi tạo dự án PHP sử dụng ngăn xếp công nghệ Laravel, Composer, XAMPP và MySQL.
  2. Bộ tài liệu phân tích thiết kế hệ thống theo chuẩn UML, bao gồm hệ thống các biểu đồ Use Case và Biểu đồ hoạt động (Activity Diagrams) mô tả đầy đủ luồng nghiệp vụ mua bán trực tuyến mô hình B2C.

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

1. Website LuciStar E-Commerce trong khóa luận được thiết kế để kinh doanh những mặt hàng cụ thể nào?
Website tập trung vào các mặt hàng sản phẩm số bao gồm thẻ code game (Steam Code, Xbox Code, thẻ Garena), bản quyền phần mềm (game bản quyền, Key Adobe), tài khoản dịch vụ giải trí (Netflix bản quyền), thẻ nạp điện thoại, cùng một số mặt hàng phần cứng, thiết bị máy tính, điện thoại và linh kiện phụ kiện.

2. Đề tài lựa chọn mô hình thương mại điện tử nào để thiết kế và cài đặt hệ thống?
Sau khi phân tích 3 mô hình kinh doanh phổ biến là B2B, B2C và C2C, tác giả lựa chọn triển khai hệ thống LuciStar theo mô hình B2C (Business to Customer - Doanh nghiệp với Khách hàng).

3. Hệ thống website LuciStar áp dụng những cơ chế bảo mật tích hợp nào của Framework Laravel?
Hệ thống sử dụng PDO thông qua Eloquent ORM để ngăn chặn tấn công SQL Injection, sử dụng trường mã token ẩn để chống tấn công giả mạo yêu cầu chéo trang (CSRF), và áp dụng cơ chế tự động lọc (escape) các biến hiển thị trên Blade View để phòng ngừa tấn công Cross-Site Scripting (XSS).

4. Thông số cấu hình kết nối cơ sở dữ liệu mặc định của hệ thống trong tệp .env được ghi nhận như thế nào?
Tệp .env của dự án cấu hình kết nối MySQL tại địa chỉ DB_HOST=127.0.0.1, cổng DB_PORT=3306, tên cơ sở dữ liệu DB_DATABASE=blog, người dùng DB_USERNAME=root và mật khẩu để trống (DB_PASSWORD=).

5. Phạm vi hoạt động thực tế của chương trình được tác giả giới hạn như thế nào?
Về mặt vận hành thực tế, khóa luận xác định chương trình chỉ thực hiện đầy đủ các chức năng nghiệp vụ ở phạm vi trong cùng địa bàn thành phố.

Kết luận

Khóa luận tốt nghiệp của sinh viên Bùi Phạm Thành Nguyên đã hệ thống hóa cơ sở lý luận về thương mại điện tử mô hình B2C và quy trình xây dựng ứng dụng web động dựa trên Framework Laravel và CSDL MySQL. Công trình đã hoàn thành việc phân tích, thiết kế hệ thống theo chuẩn UML và xây dựng thành công website bán hàng trực tuyến LuciStar E-Commerce với hai phân hệ chức năng dành cho khách hàng và quản trị viên. Mặc dù còn hạn chế về phạm vi vận hành và tính năng thanh toán tự động, đề tài cung cấp tài liệu tham khảo hữu ích cho việc triển khai các ứng dụng web thương mại điện tử nền tảng PHP.