Dermify Client là hệ thống giao diện người dùng (frontend) cho dự án Dermify - Nền tảng Thương mại Điện tử Mỹ phẩm, được phát triển trong khuôn khổ môn học Xây dựng Phần mềm / Phát triển Ứng dụng Web tại Trường Đại học Công nghệ Sài Gòn (STU).
Ứng dụng này được xây dựng dưới dạng Single Page Application (SPA) sử dụng React và Vite, nhằm mục đích cung cấp trải nghiệm mua sắm mỹ phẩm trực tuyến hiện đại cho khách hàng và hệ thống quản trị trực quan cho quản trị viên.
-
Xác thực người dùng:
- Đăng ký tài khoản
- Đăng nhập
- Đăng xuất
- Quên mật khẩu
- Đặt lại mật khẩu
- Tự động làm mới token
-
Quản lý tài khoản:
- Cập nhật thông tin cá nhân
- Cập nhật ảnh đại diện
- Quản lý địa chỉ giao hàng
-
Quản lý sản phẩm:
- Xem danh sách sản phẩm
- Xem chi tiết sản phẩm
- Tìm kiếm sản phẩm
- Lọc theo:
- Danh mục
- Thương hiệu
- Khoảng giá
- Đánh giá
-
Giỏ hàng:
- Thêm sản phẩm vào giỏ hàng
- Cập nhật số lượng
- Xóa sản phẩm
- Tự động tính tổng tiền
-
Đặt hàng:
- Chọn địa chỉ giao hàng
- Chọn phương thức thanh toán
- Tạo đơn hàng
-
Đánh giá sản phẩm:
- Thêm đánh giá
- Chỉnh sửa đánh giá
- Xóa đánh giá
- Xem lịch sử đánh giá
-
Thống kê tổng quan hệ thống
-
Theo dõi hoạt động kinh doanh
-
Quản lý sản phẩm:
- Thêm sản phẩm
- Chỉnh sửa sản phẩm
- Ẩn/Hiện sản phẩm
- Xóa sản phẩm
-
Quản lý danh mục:
- CRUD Danh mục
- Quản lý cấu trúc danh mục phân cấp
-
Quản lý đơn hàng:
- Tiếp nhận đơn hàng
- Cập nhật trạng thái đơn hàng
- Theo dõi lịch sử xử lý
-
Quản lý người dùng:
- Danh sách người dùng
- Cập nhật trạng thái tài khoản
- React 18+
- Vite
- JavaScript ES6+
- React Router DOM v6
- Axios
- Axios Interceptors
- React Context API
- Bootstrap 5
- React Bootstrap
- Sass (SCSS)
┌─────────────────────┐
│ Dermify Client │
│ React + Vite │
└──────────┬──────────┘
│
│ REST API
▼
┌─────────────────────┐
│ Dermify Server │
│ Node.js + Express │
└──────────┬──────────┘
│
│ Mongoose
▼
┌─────────────────────┐
│ MongoDB │
└─────────────────────┘
Người dùng
↓
React Components
↓
Context API / Custom Hooks
↓
Axios Client
↓
REST API
↓
Backend Server
↓
MongoDB
dermify-client/
│
├── public/
│
├── src/
│ ├── api/
│ ├── assets/
│ ├── components/
│ ├── context/
│ ├── hooks/
│ ├── layouts/
│ ├── pages/
│ ├── routes/
│ ├── styles/
│ └── utils/
│
├── .env
├── package.json
└── vite.config.js
- Node.js >= 18
- npm >= 9
- Dermify Server phải đang chạy
git clone https://github.com/quoctinh-dev/dermify-client.git
cd dermify-clientnpm installTạo tệp .env trong thư mục gốc của dự án:
VITE_API_URL=http://localhost:5000/apinpm run devnpm run buildFrontend giao tiếp với backend thông qua các endpoint RESTful API sau:
/api/auth
/api/users
/api/categories
/api/brands
/api/products
/api/cart
/api/orders
/api/reviews
Dữ liệu đăng nhập được đồng bộ từ Seed Database của Backend.
| Vai trò | Tài khoản |
|---|---|
| Quản trị viên | Từ dữ liệu seed |
| Nhân viên | Từ dữ liệu seed |
| Khách hàng | Từ dữ liệu seed |
| Vai trò | Thành viên | Hồ sơ GitHub |
|---|---|---|
| Trưởng nhóm & Kiến trúc Frontend | Nguyễn Quốc Tịnh | @quoctinh-dev |
| Lập trình viên Frontend | Tuấn Kiệt | @TuanKiet1102 |
| UI/UX & Lập trình viên Frontend | Trần Thị Minh Thư | @tranthiminhthu2004 |
Trường: Đại học Công nghệ Sài Gòn (STU)
Môn học: Xây dựng Phần mềm / Phát triển Ứng dụng Web
Phiên bản: 1.0.0
Cập nhật lần cuối: 2026-05-29
Dự án này được phát triển cho mục đích học thuật và nghiên cứu trong khuôn khổ một môn học tại STU.