Xây dựng website bán hàng thời trang sử dụng HTML – CSS – JAVASCRIPT của nhóm sinh viên FPT Polytechnic TP HCM

15:39 11/08/2025

Vừa qua, nhóm sinh viên FPT Polytechnic TP HCM đã hoàn thành bài tập xây dựng website bán hàng thời trang sử dụng HTML – CSS – JAVASCRIPT. 

Xây dựng website bán hàng thời trang gồm các chức năng:

  • Đăng nhập người dùng
  • Hiển thị sản phẩm
  • Thêm sản phẩm vào giỏ hàng
  • Cập nhật/xóa sản phẩm khỏi giỏ
  • Thanh toán đơn hàng
  • Xuất giỏ hàng ra Excel
  • Liên hệ và xác thực biểu mẫu
  • Hiệu ứng ảnh: gallery và slider

Cấu trúc toàn trang

HTML: Cấu trúc bố cục

  • header: Tiêu đề trang
  • nav: Các nút điều hướng
  • main: Nội dung trang (các section: sản phẩm, giỏ hàng, thanh toán…)
  • footer: Thông tin liên hệ

CSS: Giao diện

  • Layout linh hoạt (responsive), phối màu đẹp mắt
  • Hiệu ứng hover, transition, bo góc…
  • Định nghĩa gallery, slider, bảng, form, nút…

JavaScript: Xử lý logic

  • localStorage: Lưu trạng thái đăng nhập, giỏ hàng
  • Tương tác người dùng: đăng nhập, thêm/xóa/đổi số lượng
  • Slider ảnh, kiểm tra biểu mẫu, export Excel

Phân tích từng chức năng chính

Đăng nhập

Tại sao?

Giới hạn quyền truy cập, chỉ người dùng hợp lệ mới xem và mua hàng.

Xử lý:

  • So sánh username và password
  • Lưu trạng thái đăng nhập vào localStorage
  • Hiện/ẩn phần giao diện dựa vào login status

Danh mục sản phẩm

Dữ liệu:

const products = [

  { id: 1, name: “Đèn pha…”, price: 120, image: “…” },

  …

];

Xử lý:

  • Hàm loadProducts() render sản phẩm ra bảng HTML
  • Mỗi sản phẩm có nút “🛒 Thêm”

Giỏ hàng

Lưu trữ:

  • Dùng localStorage.getItem(“cart”) để lưu danh sách
  • Mỗi mục chứa id và qty (số lượng)

Các chức năng:

  • addToCart(id): thêm sản phẩm vào giỏ
  • renderCart(): hiển thị giỏ
  • changeQty(id, delta): tăng/giảm số lượng
  • removeFromCart(id): xoá sản phẩm

Thanh toán

renderCheckout():

  • Hiển thị bảng đơn hàng
  • Tính tổng tiền
  • Nút thanh toán

checkout():

  • Hiện thông báo thanh toán thành công
  • Xoá giỏ hàng khỏi localStorage

Xuất giỏ hàng ra Exel

exportCart():

  • Dùng thư viện xlsx.full.min.js
  • Duyệt giỏ hàng → tạo sheet
  • Gọi XLSX.writeFile để xuất file .xlsx

Tìm sản phẩm

  • Chưa có logic tìm kiếm thực sự – Xây dựng hàm searchProduct()

Liên hệ và xác thực form

validateForm():

  • Kiểm tra họ tên, email, nội dung
  • Báo lỗi nếu thiếu hoặc sai định dạng email

Gallery & Slider ảnh

Gallery:

  • Hiển thị các ảnh trong thư mục images/

Slider:

  • Ảnh được thêm tự động
  • Có nút điều khiển: First, Back, Next, Auto, Stop
  • Tự chuyển ảnh mỗi 3 giây (setInterval)
  • Dùng transform: translateX(…) để di chuyển ảnh

Các bước xây dựng ứng dụng

B1: Chức năng Đăng nhập

B2: Chức năng Slide Show

B3: Chức năng Sản phẩm

B4: Chức năng giỏ hàng

B5: Chức năng thanh toán

B6: Chức năng liên hệ

Gợi ý cải tiến

Mục Gợi ý cải tiến
🔐 Đăng nhập Thêm nhiều tài khoản, hoặc chuyển sang dùng mảng người dùng
📦 Sản phẩm Cho phép thêm, sửa, xoá sản phẩm bằng giao diện
🛒 Giỏ hàng Hiển thị số lượng hàng trong biểu tượng giỏ
📤 Tìm kiếm Hoàn thiện hàm searchProduct() để lọc sản phẩm
💬 Giao diện Dùng thư viện như Bootstrap/Tailwind cho giao diện đẹp hơn
🔐 Bảo mật Ẩn mật khẩu, giới hạn quyền khi chưa đăng nhập
📊 Thống kê Hiển thị số lượng đơn hàng, tổng thu, biểu đồ (d3.js / chart.js)

Kết luận

Bạn đã hoàn thiện:

  • Giao diện đẹp, thân thiện trên mobile
  • Đầy đủ tính năng bán hàng
  • Lưu trữ localStorage tiện lợi
  • Có cả hiệu ứng ảnh, contact, Excel export

Đây là một dự án thực hành xuất sắc dành cho sinh viên đang học HTML – CSS – JavaScript.

Giảng viên Hà Văn Cử
Bộ môn Công nghệ thông tin
FPT Polytechnic TP HCM

Hỗ trợ tư vấn và giải đáp thông tin tuyển sinh FPT Polytechnic

Cùng chuyên mục

Đăng ký nhập học tại FPT Polytechnic 2026

  • Max. file size: 50 MB.
  • Max. file size: 50 MB.
  • Max. file size: 50 MB.