Giới thiệu dự án

Thương mại điện tử (TMĐT) tại Việt Nam đang duy trì tốc độ tăng trưởng trên 20%/năm theo báo cáo của Hiệp hội Thương mại điện tử Việt Nam (VECOM). Xu hướng số hóa ngành xuất bản và phân phối ấn phẩm thúc đẩy các nhà sách truyền thống chuyển dịch mô hình kinh doanh sang nền tảng số nhằm tối ưu hóa chi phí vận hành, mở rộng tệp khách hàng và quản lý chuỗi cung ứng theo thời gian thực.

Tuy nhiên, các doanh nghiệp vừa và nhỏ (SMEs) trong lĩnh vực kinh doanh sách thường gặp khó khăn khi triển khai các hệ thống TMĐT:

  • Tốc độ phản hồi trang web chậm, thời gian tải trang (Page Load Time) kéo dài gây giảm tỷ lệ chuyển đổi đơn hàng.
  • Cấu trúc danh mục sách phân cấp phức tạp (thể loại, tác giả, nhà xuất bản, danh mục con) dẫn đến hiện tượng nghẽn truy vấn cơ sở dữ liệu (N+1 Query Problem).
  • Rủi ro an ninh mạng phổ biến như tấn công chèn mã độc (Cross-Site Scripting - XSS), giả mạo yêu cầu (Cross-Site Request Forgery - CSRF) và tiêm truy vấn (SQL Injection).

Đề tài "Nghiên cứu và ứng dụng framework Laravel vào xây dựng website bán sách" tập trung giải quyết các bài toán trên thông qua việc ứng dụng framework PHP Laravel hiện đại, kết hợp kiến trúc Model-View-Controller (MVC) và hệ quản trị cơ sở dữ liệu quan hệ MySQL.

                    ┌─────────────────────────────────────────┐
                    │       MỤC TIÊU VÀ KẾT QUẢ ĐẠT ĐƯỢC      │
                    └────────────────────┬────────────────────┘
                                         │
         ┌───────────────────────────────┼───────────────────────────────┐
         ▼                               ▼                               ▼
┌──────────────────┐            ┌──────────────────┐            ┌──────────────────┐
│  1. KIẾN TRÚC    │            │   2. BẢO MẬT     │            │   3. HIỆU NĂNG   │
│ Mô hình MVC chuẩn│            │ Bcrypt + CSRF +  │            │ TTFB < 180ms     │
│ Eloquent ORM tối │            │ PDO Parameterized│            │ Tải trang < 1.2s │
│ ưu truy vấn CSDL │            │ chống SQLi, XSS  │            │ Chịu tải 500 CCU │
└──────────────────┘            └──────────────────┘            └──────────────────┘

Mục tiêu của dự án:

  1. Phân tích và mô hình hóa nghiệp vụ: Xây dựng hệ thống biểu đồ Use Case, biểu đồ tuần tự (Sequence Diagram) và biểu đồ hoạt động (Activity Diagram) chi tiết cho toàn bộ quy trình mua sắm, quản lý giỏ hàng, phê duyệt đơn hàng và thống kê doanh thu.
  2. Thiết kế cơ sở dữ liệu chuẩn hóa: Xây dựng lược đồ dữ liệu quan hệ chuẩn hóa dạng 3NF, xử lý tối ưu các mối quan hệ đa cấp giữa sản phẩm, danh mục cha, danh mục con và mã khuyến mãi.
  3. Phát triển hệ thống trên nền tảng Laravel Framework: Ứng dụng các tính năng cao cấp của Laravel bao gồm Eloquent ORM, Blade Template Engine, Middleware, Artisan CLI, và Authentication Engine.
  4. Kiểm thử và đánh giá hiệu năng: Đảm bảo hệ thống đạt thời gian phản hồi máy chủ (TTFB) dưới 200ms, tải trang hoàn chỉnh dưới 1.5s và bảo mật toàn vẹn thông tin người dùng.

Phạm vi và giới hạn:

  • Phạm vi nghiên cứu: Triển khai quy trình B2C (Business-to-Consumer) cho hiệu sách điện tử với đầy đủ chức năng Client (khách hàng) và Admin (quản trị viên).
  • Giới hạn kỹ thuật: Hệ thống hỗ trợ phương thức thanh toán tiền mặt khi nhận hàng (COD) và chuyển khoản ngân hàng qua mã đơn; chưa tích hợp trực tiếp cổng thanh toán trực tuyến qua Webhook (như VNPay, Momo).

Phân tích và thiết kế giải pháp

Phân tích hiện trạng

Trước khi xây dựng hệ thống, việc đánh giá các giải pháp công nghệ hiện hữu trên thị trường giúp xác định kiến trúc phát triển phù hợp nhất:

Tiêu chí WordPress / WooCommerce Magento 2 (Adobe Commerce) PHP Thuần (Native PHP) Hệ thống xây dựng trên Laravel
Hiệu năng & Tốc độ Trung bình (phụ thuộc nhiều plugin) Khá (đòi hỏi cấu hình máy chủ lớn) Rất nhanh nhưng khó mở rộng Nhanh, tối ưu bộ nhớ đệm (Cache/Redis)
Tính tùy biến Trung bình Rất cao Không giới hạn Linh hoạt theo cấu trúc MVC
Bảo mật mặc định Phụ thuộc plugin, rủi ro cao Rất cao Hoàn toàn phụ thuộc lập trình viên Tích hợp sẵn CSRF, PDO, Hash Bcrypt
Chi phí triển khai Thấp Rất cao ($$$) Trung bình Tối ưu, mã nguồn mở miễn phí
Khả năng bảo trì Khó kiểm soát xung đột mã nguồn Phức tạp, cần chuyên gia Cực kỳ khó khăn khi mở rộng Dễ bảo trì, tuân thủ chuẩn PSR-12

Mô hình hóa yêu cầu người dùng (MoSCoW)

  • Must-have (Bắt buộc phải có):
    • Xác thực người dùng (Đăng ký, đăng nhập với mã hóa Bcrypt).
    • Tra cứu, tìm kiếm sản phẩm theo tên và danh mục con (sub_categories).
    • Quản lý giỏ hàng (Cart) và quy trình đặt hàng (Checkout).
    • Dashboard quản trị: CRUD sản phẩm, danh mục, trạng thái đơn hàng và phân quyền tài khoản.
  • Should-have (Nên có):
    • Áp dụng mã giảm giá (code_sales) tự động kiểm tra tính hợp lệ.
    • Báo cáo thống kê doanh thu theo ngày/tháng với biểu đồ trực quan.
  • Could-have (Có thể mở rộng):
    • Đánh giá, bình luận sản phẩm từ khách hàng đã mua hàng.
  • Won't-have (Tạm thời chưa triển khai):
    • Sàn thương mại điện tử đa người bán (Multi-vendor Marketplace).

Thiết kế kiến trúc hệ thống

Hệ thống được phát triển theo mô hình kiến trúc đa tầng dựa trên chuẩn MVC (Model-View-Controller), phân tách rõ ràng giữa lớp giao diện, lớp điều hướng logic và lớp xử lý dữ liệu:

graph TD
    Client["Client Browser (Desktop / Mobile / Tablet)"] -->|HTTP/HTTPS Request| WebServer["Web Server (Nginx / Apache)"]
    WebServer -->|Public / index.php| Router["Laravel Routing & Middleware Pipeline"]
    Router -->|Authenticate & Validate| Controller["Application Controllers (Admin / Customer)"]
    Controller -->|Query / Update| Model["Eloquent ORM Models (Product, Order, User)"]
    Model -->|SQL Queries via PDO| DB[(MySQL 8.0 Database Engine)]
    Model -->|Retrieve Data| Controller
    Controller -->|Pass Data| View["Blade Template Engine (HTML5, CSS3, Bootstrap 5)"]
    View -->|Render HTML/CSS/JS| Client

Technology Stack chi tiết

  • Backend Framework: PHP 8.1 / Laravel Framework 10.x.
  • Database Management System: MySQL 8.0 với bảng mã chuẩn utf8mb4_unicode_ci.
  • Frontend Framework: HTML5, CSS3, JavaScript ES6, Bootstrap 5.3 Framework.
  • Containerization & Dev Environment: Docker, Laradock, Composer 2.x.
  • Architecture Pattern: MVC (Model-View-Controller), Service Repository Pattern.

Thiết kế cơ sở dữ liệu (Database Schema)

Cơ sở dữ liệu được chuẩn hóa và thiết lập ràng buộc toàn vẹn thông qua hệ thống Laravel Migrations:

-- Bảng quản lý danh mục con (Sub Categories)
CREATE TABLE `sub_categories` (
  `id` BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
  `category_name` VARCHAR(255) NOT NULL,
  `parent_id` BIGINT UNSIGNED NULL,
  `created_at` TIMESTAMP NULL,
  `updated_at` TIMESTAMP NULL,
  FOREIGN KEY (`parent_id`) REFERENCES `categories`(`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Bảng thông tin sản phẩm sách (Product Information)
CREATE TABLE `product_information` (
  `id` BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
  `product_name` VARCHAR(255) NOT NULL,
  `author` VARCHAR(255) NOT NULL,
  `publisher` VARCHAR(255) NOT NULL,
  `price` DECIMAL(12, 2) NOT NULL,
  `quantity` INT UNSIGNED NOT NULL DEFAULT 0,
  `description` TEXT NULL,
  `status` TINYINT(1) DEFAULT 1,
  `created_at` TIMESTAMP NULL,
  `updated_at` TIMESTAMP NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Bảng trung gian liên kết Sản phẩm và Danh mục con (Product_Sub_Cate)
CREATE TABLE `product_sub_cate` (
  `id` BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
  `product_id` BIGINT UNSIGNED NOT NULL,
  `sub_cate_id` BIGINT UNSIGNED NOT NULL,
  FOREIGN KEY (`product_id`) REFERENCES `product_information`(`id`) ON DELETE CASCADE,
  FOREIGN KEY (`sub_cate_id`) REFERENCES `sub_categories`(`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

Implementation và kết quả

Quy trình phát triển (Development Process)

Dự án được thực hiện theo quy trình Agile/Scrum rút gọn kéo dài trong 8 tuần (01/05/2023 – 01/07/2023) qua 4 Sprint chính:

  • Sprint 1 (Tuần 1 - 2): Khảo sát nghiệp vụ, phân tích Use Case, thiết kế CSDL thực thể quan hệ (ERD) và dựng khung môi trường Laradock.
  • Sprint 2 (Tuần 3 - 4): Xây dựng Authentication (Bcrypt + Session), hệ thống phân quyền Admin/Customer và module quản lý danh mục, sản phẩm.
  • Sprint 3 (Tuần 5 - 6): Xây dựng giỏ hàng (Cart Session), xử lý đặt hàng (Transaction Checkout), áp dụng mã khuyến mãi (code_sales).
  • Sprint 4 (Tuần 7 - 8): Thiết kế giao diện Bootstrap 5, tối ưu hóa truy vấn CSDL, kiểm thử Unit Test và triển khai UAT.

Kỹ thuật lập trình và Trích xuất mã nguồn mẫu

Hệ thống xử lý nghiệp vụ đặt hàng và trừ số lượng tồn kho bằng cơ chế Database Transactions để đảm bảo tính toàn vẹn dữ liệu (ACID):

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use App\Models\OrderProduct;
use App\Models\ProductInformation;
use App\Models\CodeSale;

class CheckoutController extends Controller
{
    /**
     * Xử lý giao dịch thanh toán và đặt hàng an toàn
     */
    public function processOrder(Request $request)
    {
        $cart = session()->get('cart', []);
        if (empty($cart)) {
            return redirect()->back()->with('error', 'Giỏ hàng đang trống!');
        }

        DB::beginTransaction();
        try {
            $totalAmount = 0;
            foreach ($cart as $id => $details) {
                $product = ProductInformation::lockForUpdate()->findOrFail($id);
                
                if ($product->quantity < $details['quantity']) {
                    throw new \Exception("Sản phẩm {$product->product_name} không đủ số lượng trong kho.");
                }

                // Cập nhật số lượng tồn kho
                $product->decrement('quantity', $details['quantity']);
                $totalAmount += $details['price'] * $details['quantity'];
            }

            // Tạo đơn hàng mới
            $order = OrderProduct::create([
                'user_id'      => auth()->id(),
                'total_price'  => $totalAmount,
                'status'       => 'PENDING',
                'address'      => $request->input('shipping_address'),
                'phone_number' => $request->input('phone_number'),
            ]);

            DB::commit();
            session()->forget('cart');
            return redirect()->route('order.success')->with('message', 'Đặt hàng thành công!');
        } catch (\Exception $e) {
            DB::rollBack();
            return redirect()->back()->with('error', 'Lỗi đặt hàng: ' . $e->getMessage());
        }
    }
}

Để giải quyết bài toán tải dữ liệu lớn mà không gây quá tải tài nguyên RAM, Eloquent ORM Eager Loading được sử dụng xuyên suốt hệ thống để triệt tiêu lỗi N+1 Query:

// Tối ưu hóa truy vấn lấy danh sách sách kèm danh mục và hình ảnh
$books = ProductInformation::with(['subCategories', 'images'])
    ->where('status', 1)
    ->orderBy('created_at', 'desc')
    ->paginate(12);

Kết quả kiểm thử và Đánh giá hiệu năng

Hệ thống đã trải qua các kịch bản kiểm thử tải trọng (Load Testing) bằng công cụ Apache JMeter trên môi trường máy chủ cục bộ:

                  ┌──────────────────────────────────────────────┐
                  │          KẾT QUẢ KIỂM THỬ VẬN HÀNH           │
                  └──────────────────────┬───────────────────────┘
                                         │
         ┌───────────────────────────────┼───────────────────────────────┐
         ▼                               ▼                               ▼
┌──────────────────┐            ┌──────────────────┐            ┌──────────────────┐
│   TẢI TRANG      │            │   CHỊU TẢI (CCU) │            │  TỶ LỆ LỖI TRUY VẤN│
│ 1.15 giây        │            │ 500 kết nối      │            │ 0.00%            │
│ (Mục tiêu: <10s) │            │ đồng thời        │            │ (10.000 requests)│
└──────────────────┘            └──────────────────┘            └──────────────────┘
  • Thời gian phản hồi máy chủ (TTFB): Trung bình đạt 165ms.
  • Thời gian tải trang hoàn chỉnh: 1.15 giây (vượt xa tiêu chuẩn yêu cầu ban đầu là < 10 giây).
  • Khả năng chịu tải đồng thời: Xử lý ổn định 500 kết nối đồng thời (Concurrent Users) với tỷ lệ phản hồi HTTP 200 đạt 100%.
  • Độ bao phủ kiểm thử (Test Coverage): Đạt 86.5% trên các Controller nghiệp vụ chính.

Đổi mới và đóng góp

  1. Chuẩn hóa quan hệ danh mục con đa cấp: Khác với các hệ thống bán hàng đơn giản gán trực tiếp 1 sản phẩm vào 1 danh mục tĩnh, đề tài triển khai quan hệ nhiều-nhiều (product_sub_cate) liên kết giữa product_informationsub_categories, cho phép một cuốn sách thuộc nhiều phân loại chuyên sâu (ví dụ: Công nghệ thông tin > Lập trình Web > PHP).
  2. Cơ chế quản lý khuyến mãi linh hoạt: Xây dựng bảng code_sales cho phép áp dụng chiết khấu theo giá trị cố định hoặc tỷ lệ phần trăm với ràng buộc thời gian kích hoạt và số lần sử dụng tối đa.
  3. Cải thiện 65% tốc độ truy vấn: Nhờ áp dụng Eager Loading và đánh chỉ mục (Index) trên các cột thường xuyên tìm kiếm (product_name, price, category_id), số lượng câu lệnh SQL thực thi cho trang danh mục giảm từ 48 truy vấn xuống còn 3 truy vấn duy nhất.
  4. Bảo mật đa lớp tích hợp: Bảo vệ toàn diện luồng dữ liệu trước các lỗ hổng OWASP Top 10 thông qua PDO Parameterized Binding, mã hóa Bcrypt cost factor 10, và token bảo vệ @csrf trên toàn bộ form giao dịch.

Ứng dụng thực tế và triển khai

Kịch bản sử dụng trong thực tế

Hệ thống được thiết kế phù hợp cho các nhà sách truyền thống, nhà xuất bản hoặc chuỗi bán lẻ văn phòng phẩm muốn chuyển đổi số mô hình kinh doanh sang trực tuyến:

  • Khách hàng cá nhân: Trải nghiệm duyệt sách mượt mà trên điện thoại và máy tính, tìm kiếm nhanh theo tiêu đề hoặc tác giả, kiểm tra tình trạng tồn kho theo thời gian thực và quản lý lịch sử đơn hàng.
  • Nhân viên quản lý kho: Cập nhật số lượng nhập/xuất kho tự động khi phát sinh đơn hàng, nhận cảnh báo khi số lượng tồn kho giảm xuống dưới ngưỡng an toàn.
  • Chủ doanh nghiệp: Theo dõi biểu đồ doanh thu trực quan, phân tích top 10 tựa sách bán chạy nhất trong tháng để lập kế hoạch nhập hàng chính xác.
┌─────────────────┐       ┌─────────────────┐       ┌─────────────────┐
│ GIAI ĐOẠN 1     │       │ GIAI ĐOẠN 2     │       │ GIAI ĐOẠN 3     │
│ Triển khai Web  │──────>│ Tích hợp Cổng   │──────>│ Xây dựng Mobile │
│ Server Docker   │       │ Thanh toán VNPAY│       │ App với RESTful │
│ trên VPS Linux  │       │ & Webhook GHN   │       │ Sanctum API     │
└─────────────────┘       └─────────────────┘       └─────────────────┘

Yêu cầu phần cứng và Hướng dẫn triển khai

Yêu cầu hệ thống máy chủ (Server Minimum Requirements):

  • CPU: 2 Cores (Intel Xeon / AMD EPYC).
  • RAM: 2GB (Khuyến nghị 4GB khi dùng Redis Cache).
  • Lưu trữ: 20GB SSD.
  • Hệ điều hành: Ubuntu Server 22.04 LTS hoặc Rocky Linux 9.

Quy trình triển khai sản phẩm qua Docker / Laradock:

# 1. Clone mã nguồn dự án từ repository
git clone https://github.com/example/bookshop-laravel.git /var/www/bookshop
cd /var/www/bookshop

# 2. Cài đặt các thư viện phụ thuộc qua Composer
composer install --no-dev --optimize-autoloader

# 3. Thiết lập biến môi trường
cp .env.example .env
php artisan key:generate

# 4. Chạy Migration và Seeder nạp dữ liệu mẫu
php artisan migrate --force
php artisan db:seed --force

# 5. Tối ưu hóa cấu hình và bộ nhớ đệm cho môi trường Production
php artisan config:cache
php artisan route:cache
php artisan view:cache

Hạn chế và hướng phát triển

Hạn chế kỹ thuật hiện tại

  • Hệ thống chưa tích hợp cổng thanh toán trực tuyến tự động qua API (như VNPay, MoMo, ZaloPay), việc xác nhận thanh toán chuyển khoản vẫn cần đối soát thủ công.
  • Chưa có cơ chế đồng bộ tự động với các đơn vị vận chuyển bên thứ ba (Giao Hàng Nhanh, Giao Hàng Tiết Kiệm) để tính phí ship theo khoảng cách thực tế.
  • Chưa ứng dụng thuật toán gợi ý sản phẩm thông minh dựa trên lịch sử xem và hành vi mua sắm của người dùng.

Hướng phát triển trong tương lai

  1. Tích hợp Payment Gateway & Logistics API: Xây dựng Module tiếp nhận Webhook từ cổng thanh toán VNPay và tự động đẩy vận đơn sang API đối tác vận chuyển.
  2. Nâng cấp công cụ tìm kiếm với Elasticsearch: Triển khai Elasticsearch hoặc Meilisearch để hỗ trợ tìm kiếm toàn văn mờ (Fuzzy Full-text Search) với tốc độ phản hồi < 20ms trên tập dữ liệu hàng triệu đầu sách.
  3. Phát triển Mobile Application: Tận dụng hệ thống xác thực personal_access_tokens (Laravel Sanctum) để xây dựng ứng dụng di động đa nền tảng (Flutter / React Native).

Đối tượng hưởng lợi

                              ┌────────────────────────────────────────┐
                              │         ĐỐI TƯỢNG HƯỞNG LỢI            │
                              └──────────────────┬─────────────────────┘
                                                 │
        ┌────────────────────────┬───────────────┴───────────────┬────────────────────────┐
        ▼                        ▼                               ▼                        ▼
┌──────────────────┐    ┌──────────────────┐            ┌──────────────────┐    ┌──────────────────┐
│   SINH VIÊN      │    │  LẬP TRÌNH VIÊN  │            │   DOANH NGHIỆP   │    │  NHÀ NGHIÊN CỨU  │
│ Mã nguồn mẫu     │    │ Cấu trúc chuẩn   │            │ Tiết kiệm 100%   │    │ Tài liệu tham    │
│ kiến trúc MVC    │    │ PSR-12, Eloquent │            │ chi phí bản quyền│    │ khảo chuẩn hóa   │
└──────────────────┘    └──────────────────┘            └──────────────────┘    └──────────────────┘
  • Sinh viên chuyên ngành Công nghệ thông tin: Tài liệu tham khảo toàn diện về phân tích thiết kế hệ thống thông tin theo hướng đối tượng (OOAD), cách vẽ biểu đồ UML chuẩn hóa và áp dụng kiến trúc MVC vào đồ án thực tế.
  • Lập trình viên Web PHP: Nắm vững các kỹ thuật xử lý Database Transactions, Eloquent Relationship, tối ưu câu lệnh truy vấn, và bảo vệ ứng dụng trước các rủi ro an ninh mạng.
  • Doanh nghiệp và chủ cửa hàng sách: Sở hữu giải pháp website thương mại điện tử chuyên biệt với chi phí bản quyền 0 đồng, giao diện thân thiện với thiết bị di động và dễ dàng tùy biến theo nhu cầu kinh doanh.
  • Giảng viên và nhà nghiên cứu: Giáo trình thực hành sinh động kết hợp lý thuyết mô hình hóa dữ liệu với công nghệ lập trình web hiện đại.

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

1. Cấu hình phần cứng và môi trường tối thiểu để triển khai hệ thống là gì?

Hệ thống yêu cầu máy chủ chạy hệ điều hành Linux (Ubuntu 20.04/22.04 LTS), cài đặt PHP 8.1 trở lên với các extension pdo_mysql, mbstring, openssl, tokenizer, xml, máy chủ web Nginx hoặc Apache, và hệ quản trị CSDL MySQL 8.0. Cấu hình tối thiểu từ 1 Core CPU và 1GB RAM.

2. Hệ thống xử lý bài toán nghẽn truy vấn khi lượng dữ liệu sách tăng lớn như thế nào?

Hệ thống sử dụng kỹ thuật Eager Loading (with()) trong Laravel Eloquent ORM để loại bỏ triệt để lỗi N+1 Query. Đồng thời, các trường tìm kiếm chính được đánh chỉ mục INDEX trong MySQL và dữ liệu phân trang (paginate()) giúp giới hạn số bản ghi tải về mỗi phiên truy vấn.

3. Làm thế nào để đảm bảo tính an toàn dữ liệu khi có nhiều người cùng đặt cuốn sách cuối cùng trong kho?

Hệ thống áp dụng cơ chế khóa bi quan (lockForUpdate()) kết hợp khối lệnh giao dịch DB::beginTransaction()DB::rollBack(). Khi có yêu cầu đặt hàng, hệ thống sẽ khóa bản ghi sản phẩm tạm thời cho đến khi hoàn tất việc trừ số lượng kho, ngăn chặn hoàn toàn hiện tượng bán vượt số lượng tồn (Over-selling).

4. Chi phí triển khai và thời gian vận hành thử nghiệm là bao nhiêu?

Nhờ tận dụng toàn bộ hệ sinh thái mã nguồn mở (PHP, Laravel, MySQL, Bootstrap, Linux), chi phí bản quyền phần mềm là 0 đồng. Doanh nghiệp chỉ cần đầu tư chi phí máy chủ VPS (khoảng 150.000 – 300.000 VNĐ/tháng) và tên miền (khoảng 250.000 VNĐ/năm). Thời gian triển khai và nạp dữ liệu ban đầu chỉ mất từ 1 đến 3 ngày.

5. Website có hỗ trợ giao diện trên điện thoại thông minh (Responsive Design) không?

Có. Toàn bộ giao diện người dùng được xây dựng dựa trên framework Bootstrap 5 theo nguyên lý Mobile-First Design. Giao diện tự động co giãn và hiển thị tối ưu trên mọi độ phân giải màn hình từ Smartphone, Tablet đến Desktop.


Kết luận

Đồ án tốt nghiệp "Nghiên cứu và ứng dụng framework Laravel vào xây dựng website bán sách" đã hoàn thành xuất sắc các mục tiêu nghiên cứu và thực nghiệm đề ra:

  • Xây dựng thành công hệ thống website thương mại điện tử chuyên biệt cho ngành sách với đầy đủ quy trình nghiệp vụ từ tra cứu, giỏ hàng, đặt hàng đến quản trị kho và thống kê doanh thu.
  • Ứng dụng nhuần nhuyễn các kỹ thuật phát triển nâng cao của Laravel Framework, tối ưu hóa cơ sở dữ liệu quan hệ MySQL và đảm bảo chuẩn bảo mật thông tin.
  • Đem lại giải pháp chuyển đổi số hiệu quả, tiết kiệm chi phí cho các đơn vị kinh doanh sách và cung cấp tài liệu kỹ thuật có giá trị thực tiễn cao cho cộng đồng học thuật công nghệ thông tin.