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

Khóa luận tốt nghiệp "Tìm hiểu Laravel framework và xây dựng website kinh doanh thực phẩm sạch" được thực hiện bởi sinh viên Noutsada Matmaneevong (MSSV: 2116100122, Lớp DT16CTT01, Khóa 2016 – 2019), dưới sự hướng dẫn của ThS. Nguyễn Thị Minh Châu tại Khoa Công nghệ Thông tin, Trường Đại học Quảng Nam (nghiệm thu vào tháng 05 năm 2020).

Lý do chọn đề tài xuất phát từ sự phát triển nhanh chóng của công nghệ thông tin và xu hướng ứng dụng sâu rộng vào lĩnh vực thương mại, thúc đẩy các doanh nghiệp đầu tư mạnh mẽ vào thương mại điện tử. Trong bối cảnh đó, các cửa hàng kinh doanh truyền thống gặp nhiều trở ngại khi quản lý mua bán bằng sổ sách giấy tờ thủ công, phương thức vốn dễ gây sai sót, nhầm lẫn và thất lạc dữ liệu. Đồng thời, người tiêu dùng ngày càng đòi hỏi các giải pháp mua sắm tiện ích, cho phép lựa chọn và đặt mua sản phẩm mọi lúc mọi nơi thông qua máy tính có kết nối Internet, đi kèm yêu cầu cao về tính thẩm mỹ giao diện và độ an toàn thông tin cá nhân. Do đó, việc xây dựng một hệ thống website bán hàng trực tuyến vừa giúp tối ưu hóa khâu quản lý nội bộ vừa đáp ứng trải nghiệm khách hàng là một nhu cầu thực tiễn cấp bách.

Mục tiêu nghiên cứu của đề tài được tác giả xác định nhằm xây dựng hệ thống website thương mại điện tử tiện lợi, nhanh chóng, bao gồm các mục tiêu cụ thể:

  1. Xây dựng giao diện dễ sử dụng, có tính thẩm mỹ và có khả năng co giãn phù hợp trên mọi loại màn hình và thiết bị.
  2. Cho phép khách hàng đăng ký tài khoản thành viên với cơ chế bảo mật thông tin cá nhân.
  3. Cung cấp hệ thống quản lý danh mục và thông tin sản phẩm phong phú, đa dạng.
  4. Thiết lập tính năng cập nhật và giới thiệu các sản phẩm mới nhất đến người dùng.

Đối tượng và phạm vi nghiên cứu được phân định thành hai phương diện:

  • Về lý thuyết: Nghiên cứu quy trình mua bán thực tế tại các cửa hàng thực phẩm sạch; phân tích những khó khăn, hạn chế của quy trình mua bán thủ công; thống kê các nhóm mặt hàng trong cửa hàng; tìm hiểu chuyên sâu về kiến trúc và các tính năng của Laravel Framework cùng các công cụ hỗ trợ phát triển web liên quan.
  • Về ứng dụng: Xây dựng hoàn chỉnh các chức năng cơ bản cho website bán thực phẩm sạch, đồng thời tập trung khắc phục những hạn chế mà các website cùng lĩnh vực tại thời điểm nghiên cứu đang gặp phải.

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

Khung lý thuyết của công trình dựa trên mô hình kiến trúc phần mềm Model - View - Controller (MVC), trong đó Controller giữ nhiệm vụ điều hướng yêu cầu từ người dùng và gọi phương thức xử lý; Model chứa các nghiệp vụ logic, truy xuất cơ sở dữ liệu và định nghĩa đối tượng; View đảm nhận hiển thị dữ liệu và tiếp nhận tương tác qua các đối tượng đồ họa người dùng. Nền tảng công nghệ trung tâm là Laravel Framework (phiên bản ổn định được trích dẫn trong tài liệu là 5.2, phát hành ngày 06/09/2018 trên nền tảng PHP 7, tác giả Taylor Otwell, bản quyền MIT License). Các công nghệ bổ trợ đi kèm bao gồm ngôn ngữ kịch bản máy chủ PHP (Hypertext Pre-processor), ngôn ngữ đánh dấu siêu văn bản HTML (phiên bản HTML5), CSS, ngôn ngữ kịch bản máy trạm JavaScript và ngôn ngữ Perl (Practical Extraction and Report Language).

Hệ thống cơ sở dữ liệu và môi trường thử nghiệm sử dụng hệ quản trị cơ sở dữ liệu quan hệ MySQL kết hợp bộ công cụ máy chủ XAMPP (tích hợp Apache, MySQL, PHP, Perl tương thích đa nền tảng), trong đó việc quản trị bảng dữ liệu được thực hiện thông qua công cụ phpMyAdmin.

Phương pháp nghiên cứu thực tế bao gồm:

  • Phương pháp phân tích và tổng hợp lý thuyết: Nghiên cứu cấu trúc tài nguyên, cơ chế định tuyến (routing), Eloquent ORM, bộ công cụ dòng lệnh Artisan, trình quản lý phụ thuộc Composer và các giải pháp bảo mật tích hợp sẵn của Laravel Framework.
  • Phương pháp phân tích và thiết kế hệ thống theo hướng đối tượng: Xây dựng biểu đồ ca sử dụng (Use Case) cho hai nhóm tác nhân chính (Admin và Khách hàng), phân rã luồng xử lý nghiệp vụ, xây dựng biểu đồ chuyển trạng thái cho các quy trình cốt lõi (đăng nhập, đăng ký, quản lý sản phẩm, đặt hàng) và thiết kế mô hình dữ liệu quan hệ các bảng.
  • Phương pháp thực nghiệm phần mềm: Cài đặt, cấu hình môi trường máy chủ cục bộ và lập trình hiện thực hóa giao diện, liên kết cơ sở dữ liệu và kiểm thử các chức năng xử lý đơn hàng.

Nguồn dữ liệu của nghiên cứu xuất phát từ tài liệu học phần Phân tích thiết kế Website của Trường Đại học Quảng Nam, tài liệu kỹ thuật chính thức từ kho mã nguồn mở Laravel (trên GitHub và Packagist), kết hợp các dữ liệu khảo sát nghiệp vụ bán lẻ thực phẩm sạch trong thực tế.

Thiết kế và triển khai

Hệ thống được thiết kế theo mô hình 3 lớp MVC của Laravel Framework, phân tách độc lập tầng giao diện hiển thị, tầng xử lý logic và tầng lưu trữ dữ liệu. Kiến trúc triển khai mã nguồn được tổ chức theo cấu trúc thư mục tiêu chuẩn của Laravel:

  • Thư mục app/: Chứa các bộ điều khiển (Controllers/), bộ lọc yêu cầu (Middleware/), các nhà cung cấp dịch vụ (Providers/), câu lệnh điều khiển console (Console/), xử lý ngoại lệ (Exceptions/) và các lớp mô hình dữ liệu (tiêu biểu như model User).
  • Thư mục database/: Quản lý cấu trúc dữ liệu gồm các tệp khởi tạo và sửa bảng (migrations/), tệp nạp dữ liệu mẫu (seeds/) và tệp tạo dữ liệu ảo (factories/).
  • Thư mục resources/: Chứa các tệp giao diện hiển thị người dùng (views) và cấu hình ngôn ngữ.
  • Thư mục routes/: Định nghĩa các bộ định tuyến phân nhánh cho web, API và console.
  • Thư mục public/: Chứa các tài nguyên tĩnh gồm CSS, JavaScript, hình ảnh và tệp thực thi khởi tạo hệ thống.
  • Các thư mục và tệp hỗ trợ khác: bootstrap/ (điều hướng khởi động), config/ (tệp cấu hình hệ thống), storage/ (bộ nhớ tạm cache, session), vendor/ (các gói thư viện quản lý bởi Composer), cùng các tệp cấu hình môi trường .env, bộ công cụ kiểm thử tự động phpunit.xml, tệp tự động hóa tác vụ Gulp và cấu hình gói Node.js.

Môi trường công nghệ và yêu cầu phần cứng, phần mềm vận hành hệ thống được quy định cụ thể như sau:

Danh mục Yêu cầu kỹ thuật theo văn bản
Yêu cầu máy chủ (Laravel) PHP >= 5.4, tích hợp các extension: OpenSSL, PDO, Mbstring, Tokenizer, XML
Môi trường máy chủ thử nghiệm Gói phần mềm XAMPP, máy chủ web Apache, hệ quản trị MySQL, trình quản lý phpMyAdmin
Hệ điều hành máy khách Tối thiểu: Tùy ý; Đề nghị: Microsoft Windows (7, 8, 10)
Trình duyệt web Google Chrome, Cốc Cốc
Thiết bị giao tiếp Chuột và bàn phím (không bắt buộc đối với thiết bị màn hình cảm ứng)

Về an toàn hệ thống, đồ án tận dụng các cơ chế bảo mật nội tại của Laravel Framework:

  • Cơ chế PDO ngăn chặn triệt để kỹ thuật tấn công chèn mã SQL (SQL Injection).
  • Trường mã thông báo ẩn (CSRF token) được nhúng trong mọi biểu mẫu để phòng chống tấn công giả mạo yêu cầu từ phía người dùng (Cross-Site Request Forgery).
  • Cơ chế tự động làm sạch (escape) dữ liệu biến trước khi xuất ra tầng hiển thị (View) nhằm triệt tiêu lỗ hổng mã độc chèn kịch bản (Cross-Site Scripting - XSS).
  • Phân hệ xác thực tài khoản (Authentication) được tích hợp sẵn để quản lý các phiên đăng nhập, cấp phát quyền và kiểm soát bảo mật thông tin.
  • Hệ thống hỗ trợ kiểm thử lỗi đơn vị thông qua công cụ Unit Testing cấu hình tại tệp phpunit.xml.

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

Chương 1: Tìm hiểu Laravel framework và một số công cụ hỗ trợ

Chương này tập trung trình bày tổng quan lý thuyết về framework Laravel cùng toàn bộ hệ sinh thái công nghệ được sử dụng trong đề tài:

  • Lịch sử và vị thế của Laravel: Được Taylor Otwell phát triển từ tháng 6 năm 2011. Tác giả trích dẫn số liệu khảo sát lập trình viên vào tháng 12 năm 2013 xếp Laravel ở vị trí số một trong các framework PHP phổ biến (vượt qua Phalcon, Symfony2, CodeIgniter) và trở thành dự án PHP phổ biến nhất trên GitHub vào tháng 8 năm 2014.
  • Các tính năng kỹ thuật cốt lõi: Phân tích vai trò của Composer (quản lý thư viện phụ thuộc), Eloquent ORM (thao tác dữ liệu quan hệ), RESTful API, giao diện dòng lệnh Artisan, Migrations (quản lý phiên bản cơ sở dữ liệu), hệ thống Authentication có sẵn và thư viện SwiftMailer hỗ trợ gửi thư điện tử.
  • Đánh giá ưu điểm và hạn chế: Ưu điểm nổi bật gồm việc hỗ trợ các tính năng mới của PHP (Namespaces, Interfaces, Overloading, Anonymous functions, Shorter array syntax), tính bảo mật đa tầng và tốc độ phát triển ứng dụng nhanh. Hạn chế được chỉ ra là sự thiếu liên kết chặt chẽ giữa các phiên bản lớn khiến việc nâng cấp dễ gây lỗi gián đoạn hệ thống, đồng thời framework có dung lượng khá nặng đối với các nền tảng thiết bị di động.
  • Nền tảng công nghệ phụ trợ: Giới thiệu cú pháp HTML/HTML5; ngôn ngữ PHP cùng khả năng tương tác với các hệ cơ sở dữ liệu (MySQL, PostgreSQL, Oracle, Sybase, Informix, Microsoft SQL Server); ngôn ngữ Perl và kho mã lệnh CPAN; máy chủ Apache (chiếm 46% thị phần website toàn cầu); hệ quản trị MySQL (sử dụng ngôn ngữ SQL, hỗ trợ tối đa 50 triệu hàng dữ liệu trong 1 bảng, dung lượng bảng quản lý từ 4GB đến 8TB tùy hệ điều hành). Cuối chương là hướng dẫn chi tiết các bước cài đặt XAMPP và thiết lập cơ sở dữ liệu qua phpMyAdmin.

Chương 2: Phân tích và thiết kế hệ thống thực phẩm sạch

Chương 2 mô tả chi tiết bài toán nghiệp vụ, đặc tả yêu cầu chức năng, thiết kế hướng đối tượng và cấu trúc dữ liệu cho website:

  • Phân quyền người dùng: Xác định hai nhóm đối tượng chính gồm Admin (người có quyền điều hành cao nhất, quản lý toàn bộ hệ thống bán hàng trực tuyến) và Khách hàng (các cá nhân, tổ chức có nhu cầu mua sắm và thụ hưởng sản phẩm).
  • Bảng đặc tả chi tiết 8 yêu cầu chức năng chính:
    1. Đăng nhập: Cho phép cả Admin và Khách hàng đăng nhập bằng email và mật khẩu; chuyển hướng đến trang làm việc tương ứng nếu thông tin hợp lệ hoặc đưa ra thông báo lỗi.
    2. Đăng xuất: Cho phép người dùng kết thúc phiên làm việc, chuyển trạng thái hiển thị giao diện về nút đăng ký tài khoản.
    3. Đăng ký: Khách hàng nhập các trường thông tin: Tài khoản, Email, Mật khẩu, Xác nhận mật khẩu, Tên khách hàng, Số điện thoại, Địa chỉ. Hệ thống kiểm tra tính hợp lệ trước khi lưu vào cơ sở dữ liệu và tự động đăng nhập.
    4. Quản lý khách hàng (Admin): Cho phép xem danh sách, tìm kiếm (theo tên, email, số điện thoại), cập nhật thông tin, chuyển nhóm khách hàng, xóa tài khoản (bắt buộc hiển thị hộp thoại xác nhận trước khi xóa vĩnh viễn) và xem chi tiết lịch sử mua hàng (đơn đặt hàng, tình trạng xử lý và thông tin tài khoản).
    5. Quản lý sản phẩm (Admin): Gồm 4 phân hệ phụ: Quản lý Đơn vị tính (thêm tên, mô tả); Quản lý Nhóm thực phẩm (thêm, sửa, xóa tên nhóm, mô tả, ảnh minh họa); Quản lý Loại sản phẩm (thêm, xóa tên loại, mô tả, nhóm thực phẩm, ảnh); Quản lý Sản phẩm (thêm, sửa, xóa mã sản phẩm, tên, giá bán, phân loại, mô tả chi tiết, hình ảnh).
    6. Quản lý đơn hàng (Admin): Cập nhật thông tin thanh toán, cập nhật trạng thái đơn hàng (đã thanh toán, đang giao hàng, bị hủy), chức năng in hóa đơn và hủy đơn hàng (yêu cầu hộp thoại xác nhận). Quy tắc nghiệp vụ quy định chỉ được phép giao hàng với số lượng nhỏ hơn hoặc bằng số lượng khách đã đặt.
    7. Quản lý giỏ hàng (Khách hàng): Cho phép thêm nhanh sản phẩm bằng một cú nhấp chuột ("Mua ngay"), xem trang chi tiết sản phẩm, điều chỉnh số lượng, xóa từng mặt hàng bằng biểu tượng icon X, tiếp tục mua hàng (chuyển về trang chủ) và thực hiện thanh toán. Tại bước thanh toán, hệ thống yêu cầu kiểm tra/cập nhật địa chỉ nhận hàng, lưu thông tin đơn hàng vào cơ sở dữ liệu và tự động gửi email thông báo đơn đặt hàng mới đến hộp thư của Admin. Dữ liệu giỏ hàng chỉ được lưu tạm thời qua phiên làm việc (session) và sẽ giải phóng sau khi kết thúc phiên nhằm tiết kiệm tài nguyên hệ thống.
    8. Tìm kiếm sản phẩm (Khách hàng): Tìm kiếm theo tên sản phẩm và danh mục từ thanh tìm kiếm trang chủ, trả về kết quả gần đúng hoặc thông báo khi không tìm thấy.
  • Mô hình hóa hệ thống: Trình bày sơ đồ phân rã Use Case tổng thể, Use Case chi tiết của Admin và Khách hàng; các sơ đồ chuyển trạng thái cho quy trình Đăng nhập, Đăng ký, Vòng đời Sản phẩm và Quy trình Đặt hàng; kết thúc bằng mô hình quan hệ giữa các bảng cơ sở dữ liệu (Hình 2.10).

Chương 3: Xây dựng website

Chương 3 trình bày các giao diện thực tế đã được lập trình và đóng gói hoàn thiện trên hệ thống, phân chia rõ ràng theo hai phân hệ:

  • Phân hệ giao diện dành cho Quản trị viên (Admin):
    • Giao diện đăng nhập trang quản trị.
    • Giao diện bảng điều khiển tổng quan trang quản trị.
    • Giao diện phân hệ quản lý danh mục và thông tin chi tiết sản phẩm.
    • Giao diện phân hệ theo dõi, cập nhật trạng thái và xử lý đơn hàng.
  • Phân hệ giao diện dành cho Khách hàng:
    • Giao diện trang chủ (bố cục danh mục thực phẩm sạch, hiển thị các sản phẩm mới và thanh tìm kiếm).
    • Giao diện đăng ký tài khoản thành viên mới và giao diện đăng nhập người dùng.
    • Giao diện danh sách sản phẩm theo danh mục và trang xem chi tiết sản phẩm.
    • Giao diện giỏ hàng hiển thị các mặt hàng đã chọn và giao diện thanh toán đơn hàng.

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

Đề tài đã triển khai thành công sản phẩm phần mềm website kinh doanh thực phẩm sạch với các tính năng phân định cụ thể giữa hai nhóm tác nhân:

Phân hệ / Nhóm tác nhân Chức năng nghiệp vụ đã hiện thực hóa theo văn bản
Quản trị viên (Admin) - Đăng nhập tài khoản quản trị.
- Quản lý tài khoản khách hàng: tìm kiếm (tên, email, SĐT), chuyển nhóm, xem lịch sử mua hàng, xóa người dùng (có xác nhận).
- Quản lý thông tin danh mục: Đơn vị tính, Nhóm thực phẩm, Loại sản phẩm (thêm, sửa, xóa).
- Quản lý sản phẩm: thêm, sửa thông tin, xóa sản phẩm theo mã, tên, giá, ảnh.
- Quản lý và xử lý đơn hàng: cập nhật thanh toán, đổi trạng thái giao nhận, hủy đơn, in hóa đơn.
Khách hàng (Customer) - Đăng ký tài khoản thành viên với đầy đủ thông tin bảo mật, đăng nhập, đăng xuất.
- Tìm kiếm sản phẩm theo tên (tìm kiếm gần đúng) và theo danh mục.
- Xem thông tin chi tiết, hình ảnh, đơn giá và mô tả thực phẩm.
- Đưa sản phẩm vào giỏ hàng ("Mua ngay"), cập nhật giỏ, xóa món hàng khỏi giỏ.
- Thực hiện quy trình thanh toán: xác nhận thông tin giao nhận, hệ thống lưu CSDL và kích hoạt gửi email thông báo đơn hàng mới đến Admin.

Các đóng góp chính của đề tài được tác giả tổng kết bao gồm:

  • Về mặt lý thuyết và kỹ thuật: Cung cấp tài liệu tổng hợp và phương pháp ứng dụng cụ thể framework Laravel vào quy trình xây dựng một trang web thương mại điện tử hoàn chỉnh theo mô hình MVC.
  • Về mặt ứng dụng thực tiễn: Xây dựng thành công một website kinh doanh thực phẩm sạch có khả năng vận hành thực tế, giải quyết các bất cập của quy trình ghi chép bán hàng thủ công, hỗ trợ cửa hàng quản lý dữ liệu sản phẩm, đơn hàng và khách hàng một cách an toàn, tránh thất lạc thông tin.

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

Căn cứ theo các nội dung được tác giả ghi nhận và phạm vi thiết kế của đồ án, công trình tồn tại một số hạn chế và hướng phát triển sau:

  • Về hạn chế kỹ thuật:
    • Hệ thống chưa tích hợp cổng thanh toán trực tuyến tự động; quy trình thanh toán mới dừng lại ở bước đặt hàng, lưu dữ liệu đơn và gửi thông báo qua email quản trị, sau đó việc cập nhật trạng thái thanh toán vẫn cần Admin thực hiện thủ công trên hệ thống.
    • Do đặc tính mã nguồn của Laravel tương đối nặng, tốc độ tải trang trên các thiết bị di động vẫn bị ảnh hưởng và chưa đạt mức tối ưu.
    • Việc liên kết giữa các phiên bản Laravel tiềm ẩn rủi ro phá vỡ cấu trúc mã nguồn nếu thực hiện nâng cấp hệ thống trong tương lai.
    • Cơ chế giỏ hàng mới chỉ lưu dữ liệu tạm thời theo phiên làm việc (session) và tự động xóa sau khi kết thúc phiên để tiết kiệm tài nguyên, chưa hỗ trợ lưu trữ giỏ hàng lâu dài trong cơ sở dữ liệu cho các tài khoản thành viên đã đăng nhập.
  • Về hướng phát triển tiếp:
    • Tối ưu hóa hiệu năng tải trang nhằm tăng tính tương thích và mượt mà trên nền tảng trình duyệt của thiết bị di động.
    • Nghiên cứu cơ chế đồng bộ và nâng cấp phiên bản framework định kỳ mà không làm gián đoạn mã nguồn hiện hữu.
    • Tiếp tục bổ sung và hoàn thiện các chức năng mở rộng cho website kinh doanh thực phẩm sạch mà đồ án đã đề ra nhưng chưa kịp triển khai trong phạm vi nghiên cứu.

Giá trị tham khảo

Khóa luận là tài liệu tham khảo hữu ích cho các nhóm đối tượng sau:

  • Sinh viên chuyên ngành Công nghệ thông tin, Kỹ thuật phần mềm: Tài liệu cung cấp ví dụ trực quan về cách thức tổ chức một đồ án tốt nghiệp xây dựng ứng dụng web; hướng dẫn chi tiết quy trình thiết lập môi trường với XAMPP, phpMyAdmin, Composer và triển khai dự án web bằng Laravel Framework theo mô hình MVC.
  • Người nghiên cứu và phát triển phần mềm thương mại điện tử: Phần đáng tham khảo nhất là Chương 2 với hệ thống bảng đặc tả ca sử dụng (Use Case specifications) rõ ràng, liệt kê chi tiết các bước xử lý, điều kiện kiểm tra dữ liệu đầu vào, thông báo phản hồi và các ràng buộc nghiệp vụ bán lẻ thực tế (như kiểm soát số lượng giao, xác nhận thao tác xóa dữ liệu, gửi email thông báo đơn hàng).
  • Các chủ cơ sở kinh doanh bán lẻ thực phẩm: Có thể tham khảo mô hình phân tích bài toán quản lý cửa hàng nhằm số hóa quy trình quản lý kho hàng, danh mục sản phẩm và theo dõi đơn hàng thay cho sổ sách truyền thống.

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

1. Khóa luận sử dụng phiên bản Laravel nào và yêu cầu cấu hình máy chủ PHP tối thiểu ra sao?
Khóa luận sử dụng Laravel Framework với phiên bản ổn định được trích dẫn trong văn bản là bản 5.2 (phát hành ngày 06/09/2018 trên nền tảng PHP 7). Yêu cầu cấu hình máy chủ tối thiểu để cài đặt hệ thống bao gồm: phiên bản PHP >= 5.4 cùng 5 tiện ích mở rộng bắt buộc: OpenSSL PHP Extension, PDO PHP Extension, Mbstring PHP Extension, Tokenizer PHP Extension và XML PHP Extension.

2. Hệ thống website thực phẩm sạch phân quyền cho những nhóm người dùng nào?
Hệ thống phân quyền cho hai nhóm người dùng độc lập: Quản trị viên (Admin) và Khách hàng (Customer). Admin là người có quyền hạn cao nhất trong hệ thống, thực hiện các nghiệp vụ quản lý danh mục (đơn vị tính, nhóm thực phẩm, loại sản phẩm), quản lý sản phẩm, quản lý khách hàng và kiểm soát/cập nhật đơn hàng. Khách hàng là người trực tiếp sử dụng website để tìm kiếm, xem chi tiết sản phẩm, quản lý giỏ hàng và đặt hàng.

3. Cơ chế bảo mật của website được xây dựng dựa trên những tính năng kỹ thuật nào của Laravel?
Hệ thống sử dụng các giải pháp bảo mật có sẵn của framework: sử dụng lớp trừu tượng PDO để chống lại các cuộc tấn công SQL Injection; sử dụng trường token ẩn trong các form dữ liệu để phòng tránh tấn công kiểu CSRF; tự động escape các biến dữ liệu khi đưa ra tầng hiển thị (View) nhằm ngăn ngừa tấn công XSS; đồng thời sử dụng hệ thống Authentication mặc định của Laravel để quản lý bảo mật tài khoản.

4. Dữ liệu giỏ hàng của khách hàng được xử lý và lưu trữ như thế nào trong hệ thống?
Dữ liệu giỏ hàng chỉ được hệ thống lưu trữ tạm thời trong phiên làm việc (session) của người dùng để phục vụ quá trình chọn hàng và tính toán đơn giá. Sau khi phiên làm việc kết thúc hoặc khách hàng hoàn tất gửi đơn thanh toán, dữ liệu tạm này sẽ bị xóa bỏ hoàn toàn nhằm mục đích tiết kiệm tài nguyên máy chủ.

5. Tác giả đã chỉ ra những nhược điểm kỹ thuật nào của framework Laravel trong khóa luận?
Trong mục đánh giá đặc điểm ở Chương 1, tác giả đã chỉ ra hai nhược điểm chính của Laravel: thứ nhất là sự thiếu liên kết chặt chẽ giữa các phiên bản, khiến việc cập nhật code lên phiên bản mới có nguy cơ làm gián đoạn hoặc phá vỡ ứng dụng; thứ hai là dung lượng framework khá nặng đối với các ứng dụng di động, dẫn đến việc tải trang có thể bị chậm.

Kết luận

Khóa luận tốt nghiệp của sinh viên Noutsada Matmaneevong đã nghiên cứu tổng quan về Laravel Framework và ứng dụng thành công nền tảng này vào việc xây dựng website kinh doanh thực phẩm sạch theo mô hình kiến trúc MVC. Hệ thống giải quyết tốt bài toán chuyển đổi từ quản lý bán hàng thủ công sang phương thức thương mại điện tử, đáp ứng đầy đủ các luồng nghiệp vụ từ duyệt danh mục, quản lý giỏ hàng, đặt hàng đến xử lý đơn hàng và phân quyền quản trị an toàn trên nền tảng CSDL MySQL. Mặc dù còn hạn chế về tốc độ tải trang trên di động và chưa tích hợp cổng thanh toán trực tuyến tự động, công trình vẫn là một tài liệu học thuật có giá trị tham khảo rõ ràng, thực tế cho sinh viên ngành Công nghệ thông tin trong việc phân tích, thiết kế và triển khai ứng dụng web thương mại điện tử bằng PHP.