Dự án website bán đồ thể thao và quà lưu niệm cung cấp các sản phẩm thể thao chất lượng cao như áo thun, giày chạy, đồ tập gym, và phụ kiện thể thao. Bên cạnh đó, website cũng bán các món quà lưu niệm, đồ fan của các đội thể thao như áo đấu, mũ, khăn quàng, và các sản phẩm đặc trưng.
Sports Shop là một hệ thống web bán hàng thể thao được xây dựng với:
app/
– Các trang chính| Route | Mô tả |
|——————-|——|
| /
| Trang chủ |
| /auth/login
| Đăng nhập |
| /auth/register
| Đăng ký |
| /cart
| Giỏ hàng |
| /checkout
| Thanh toán |
| /orders
| Xem đơn hàng |
| /profile
| Hồ sơ cá nhân |
| /settings
| Cài đặt tài khoản |
| Route | Mô tả |
|—————————|——|
| /admin
| Dashboard tổng quan |
| /admin/products
| Quản lý sản phẩm |
| /admin/products/add
| Thêm sản phẩm |
| /admin/products/edit/:id
| Sửa sản phẩm |
| /admin/orders
| Xử lý đơn hàng |
| /admin/users
| Danh sách người dùng |
| /admin/reports
| Báo cáo doanh thu |
| /admin/settings
| Cấu hình hệ thống |
contexts/
– Context chia sẻ dữ liệuAuthContext
: Lưu thông tin đăng nhập người dùngCartContext
: Quản lý giỏ hàng toàn cụchooks/
– Custom hooksuseAuth()
: Kiểm tra trạng thái người dùnguseCart()
: Thêm/xóa/cập nhật giỏ hànguseProductFilter()
: Lọc sản phẩm theo danh mục, giá,…lib/
– Tiện ích & xử lý backendlib/prisma.ts
: Kết nối CSDL bằng Prismalib/auth.ts
: Hàm xác thực người dùng (dành cho Server Actions)lib/utils.ts
: Format tiền, xử lý chuỗilib/api.ts
: Hàm fetch dữ liệu từ APIcomponents/
– Component tái sử dụngTên component | Mô tả |
---|---|
Navbar , Footer |
Thanh điều hướng |
ProductCard |
Hiển thị sản phẩm |
CartItem |
Hiển thị item trong giỏ hàng |
FormInput , Button |
Input & button với style Tailwind |
tailwind.config.ts
postcss.config.mjs
@/
trong tsconfig.json
Dùng gitbash để chạy
Cài đặt dependencies pnpm install
Chạy server dev pnpm dev
Build production pnpm build && pnpm start