FashionShop là đồ án cuối kỳ môn Công nghệ Java - IE303.P21.CNCL của nhóm sinh viên của trường Đại học Công nghệ Thông tin - ĐHQG. Đồ án này được thực hiện bởi nhóm 6, lớp IE303.P21.CNCL dưới sự hướng dẫn của Th.S Huỳnh Văn Tín. Đây là một trang website quản lý và bán hàng sản phẩm thời trang.
Các thành viên trong nhóm bao gồm:
| STT | Tên | Mã Số Sinh Viên | Vai Trò |
|---|---|---|---|
| 1 | Đỗ Thành Danh | 22520198 | Trưởng nhóm |
| 2 | Phạm Hải Dương | 22520309 | Thành Viên |
| 3 | Đặng Đông Đức Dương | 22520296 | Thành Viên |
| 4 | Vũ Thanh Phong | 22521095 | Thành Viên |
| 5 | Ngô Phương Quyên | 22521221 | Thành Viên |
- Frontend: ReactJS, JavaScript, CSS
- Backend: Java, SpringBoot
- Database: Neon tech (PostgreSQL)
- Công cụ khác: Postman, Neon tech (website), ...
- Recommendation System: Python
- Xem danh sách sản phẩm, tìm và xem chi tiết sản phẩm
- Xem sản phẩm tương tự
- Thêm sản phẩm vào giỏ
- Đặt hàng
- Sản phẩm yêu thích
- Quản lý địa chỉ (khi đặt hàng)
- Xem và huỷ đơn hàng
- Thanh toán với paypal
- Lấy sản phẩm gợi ý từ batch layer
- Lấy sản phẩm gợi ý từ stream layer
- Xem thống kê báo cáo (Dashboard)
- Quản lý user
- Quản lý sản phẩm
- Quản lý đơn hàng
- Kích hoạt huấn luyện batch layer
- Cài đặt JDK phiên bản 21
- Python
Bước 1: Clone repo về máy tính của bạn bằng cách sử dụng git command line hoặc download zip file.
git clone https://github.com/ThanhDanhDo/FashionShop.gitBước 2: Di chuyển vào thư mục backend dự án.
cd backendBước 3: Cài đặt các dependencies.
mvn installBước 4: Cài đặt các thư viện, dependencies python
pip install --no-cache-dir pandas scikit-learn torchvision pillow requests numpy tqdmBước 5: Di chuyển vào thư mục frontend dự án.
cd frontendBước 6: Cài đặt các dependencies.
npm installBước 7: Khởi chạy server (cả bên backend và frontend)
- Bên backend:
cd backend
mvn spring-boot:run- Bên frontend:
cd frontend
npm startFashionShop/
│── backend/ # Backend (Spring Boot)
│ ├── src/
│ │ ├── main/
│ │ │ ├── java/com/example/fashionshop/ # Code Java backend
│ │ │ │ ├── recommendation/ # Liên quan đến Recommendation System (Contentbase, ...)
│ │ │ │ ├── controller/ # Xử lý API request
│ │ │ │ ├── enums/ # Kiểu enum dùng cho kiểu dữ liệu trong model
│ │ │ │ ├── exception/ # Chứa các file xử lý exception
│ │ │ │ ├── service/ # Business logic
│ │ │ │ ├── repository/ # Giao tiếp với MySQL
│ │ │ │ ├── request/ # Xác định kiểu request cho các request trong controller
│ │ │ │ ├── response/ # Xác định kiểu response cho các response trong controller
│ │ │ │ ├── model/ # Định nghĩa các entity
│ │ │ │ ├── config/ # Cấu hình ứng dụng
│ │ │ ├── resources/ # File cấu hình
│ │ │ │ ├── application.properties
│ │ │ ├── FashionShopApplication.java # File chạy chính
│ ├── pom.xml # Quản lý dependency Maven
│── frontend/ # Frontend (React)
│ ├── src/
│ │ ├── components/ # Các component UI
│ │ ├── pages/ # Các trang (Home, Product, Cart,...)
│ │ ├── context/ # Quản lý Context API
│ │ ├── services/ # Giao tiếp với API backend
│ │ ├── App.js # File component chính
│ │ ├── index.js # File khởi tạo ứng dụng (entry point)
│ ├── public/
│ ├── package.json # Quản lý dependencies React
│── database/ # Cấu trúc CSDL
│ ├── schema.sql # File tạo bảng MySQL
│ ├── seed.sql # Dữ liệu mẫu ban đầu
│── docs/ # Tài liệu về dự án
│── README.md
│── .gitignore
Gợi ý sản phẩm dựa vào (Collaborative Filtering):
- Lượt tương tác (click vào sản phẩm), giới tính của người dùng
- Sản phẩm cùng thể loại tương tự
- Lọc sản phẩm theo Main Category và Sub Category
- Thêm/ Xóa/ Sửa sản phẩm trong giỏ hàng
- Xem/ Hủy/ Thay đổi trạng thái đơn hàng
- Xem được doanh thu hằng ngày/ tháng.
- Tổng số lượng người dùng, sản phẩm, đơn hàng, ...
- Thêm và sửa sản phẩm
- Tìm kiếm
- Xem và thay đổi trạng thái đơn hàng
- Tìm kiếm
- Xem, sửa thông tin tài khoản người dùng
- Tìm kiếm
- Kích hoạt huấn luyện batch layer