# Electric Store - Hệ thống Bán Hàng Điện Máy
## 📋 Tổng Quan
Electric Store là một hệ thống bán hàng điện máy trực tuyến hoàn chỉnh, bao gồm:
- **Admin Panel**: Quản lý sản phẩm, đơn hàng, khách hàng
- **User Website**: Giao diện mua sắm cho khách hàng
- **Backend API**: Xử lý logic nghiệp vụ và quản lý dữ liệu
## 🏗️ Kiến Trúc Hệ Thống
### 1. Admin Backend (NestJS)
- **Framework**: NestJS
- **Database**: MySQL với TypeORM
- **Authentication**: JWT
- **File Storage**: Cloudinary
- **Email Service**: Nodemailer
- **Payment Gateway**: VNPay
- **API Documentation**: Swagger
### 2. Admin Frontend (React)
- **Framework**: React 19
- **UI Library**: CoreUI 5.x
- **Build Tool**: Vite
- **State Management**: Redux
- **HTTP Client**: Axios
- **Charts**: Chart.js
- **Styling**: Bootstrap 5 + SASS
### 3. User Website (Next.js)
- **Framework**: Next.js 13
- **State Management**: Redux Toolkit
- **HTTP Client**: Axios + React Query
- **Styling**: Bootstrap 5 + SASS
- **Icons**: React Icons
- **Carousel**: React Slick
## 🌟 Tính Năng Chính
### Admin Panel
- **Quản lý sản phẩm**: Thêm, sửa, xóa sản phẩm với hình ảnh
- **Quản lý danh mục**: Tổ chức sản phẩm theo danh mục
- **Quản lý thương hiệu**: Quản lý các thương hiệu điện máy
- **Quản lý đơn hàng**: Xem, xử lý, cập nhật trạng thái đơn hàng
- **Quản lý khách hàng**: Thông tin khách hàng và lịch sử mua hàng
- **Quản lý kho**: Nhập hàng, quản lý tồn kho
- **Báo cáo thống kê**: Dashboard với biểu đồ và thống kê
- **Xác thực**: Đăng nhập, phân quyền admin
### User Website
- **Trang chủ**: Hiển thị sản phẩm nổi bật, khuyến mãi
- **Catalog sản phẩm**: Danh sách sản phẩm với bộ lọc và tìm kiếm
- **Chi tiết sản phẩm**: Thông tin chi tiết, hình ảnh, đánh giá
- **Giỏ hàng**: Thêm, xóa, cập nhật số lượng sản phẩm
- **Thanh toán**: Tích hợp VNPay
- **Tài khoản**: Đăng ký, đăng nhập, quản lý thông tin
- **Lịch sử đơn hàng**: Theo dõi đơn hàng đã mua
- **Wishlist**: Danh sách yêu thích
- **Blog**: Tin tức và bài viết về điện máy
XEM THÊM ==> Hướng dẫn cài đặt chi tiết
Nguồn: Sharecode.vn
# Hướng Dẫn Cài Đặt Electric Store
## 📋 Yêu Cầu Hệ Thống
### Phần Mềm Cần Thiết
- **Node.js**: >= 18.0.0
- **npm**: >= 8.0.0 hoặc **yarn**: >= 1.22.0
- **MySQL**: >= 8.0
- **Git**: >= 2.0
### Tài Khoản Dịch Vụ
- **Cloudinary**: Tài khoản để lưu trữ hình ảnh
- **VNPay**: Tài khoản merchant cho thanh toán
- **Email Service**: Gmail hoặc SMTP server
## 🛠️ Cài Đặt Cơ Sở Dữ Liệu
### 1. Cài Đặt MySQL
#### Trên Ubuntu/Debian:
```bash
sudo apt update
sudo apt install mysql-server
sudo mysql_secure_installation
```
#### Trên macOS:
```bash
brew install mysql
brew services start mysql
```
#### Trên Windows:
- Tải và cài đặt MySQL từ [trang chính thức](https://dev.mysql.com/downloads/installer/)
### 2. Tạo Database
```sql
-- Đăng nhập vào MySQL
mysql -u root -p
-- Tạo database
CREATE DATABASE electric_store;
-- Tạo user (tùy chọn)
CREATE USER 'electric_user'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON electric_store.* TO 'electric_user'@'localhost';
FLUSH PRIVILEGES;
```
... Nếu cần setup trực tiếp thì liên hệ.