FreshFarm là website thương mại điện tử bán nông sản, hỗ trợ khách hàng mua sắm trực tuyến.
Ứng dụng tích hợp chatbot dịch vụ khách hàng (CSKH) kết hợp với nhân viên hỗ trợ, giúp trải nghiệm mua sắm thuận
tiện, nhanh chóng và hiện đại.
- 📝 Đăng ký/đăng nhập tài khoản.
- 👤 Cập nhật thông tin cá nhân.
- 🛒 Xem danh mục sản phẩm, tìm kiếm sản phẩm.
- ⭐ Đánh giá, bình luận sản phẩm.
- ➕ Thêm vào giỏ hàng, đặt hàng trực tuyến.
- 🚚 Theo dõi trạng thái đơn hàng.
- 💳 Thanh toán (COD hoặc online).
- 🤖 Chatbot hỗ trợ:
- ❓ Hỏi đáp chính sách, FAQ.
- 🔍 Tra cứu đơn hàng bằng mã đơn.
- 🎯 Gợi ý sản phẩm (Recommend system).
- 👨💼 Chuyển tiếp đến nhân viên khi chatbot không xử lý được (Websocket, chat real time).
- 📦 Tiếp nhận & xử lý đơn hàng (xác nhận, cập nhật, hủy).
- 📇 Quản lý thông tin khách hàng, lịch sử mua hàng.
- 🔔 Nhận thông báo khi có đơn hàng mới hoặc khách cần hỗ trợ.
- 💬 Tham gia chat khi chatbot không trả lời được.
- 🛍 Tư vấn sản phẩm, hỗ trợ đặt hàng qua chat.
- 🏷 Quản lý sản phẩm: thêm, sửa, xóa, cập nhật tồn kho.
- 📂 Quản lý danh mục sản phẩm.
- 🎟 Quản lý discount voucher.
- 📑 Quản lý đơn hàng toàn hệ thống.
- 👥 Quản lý tài khoản người dùng.
- 🤖 Cấu hình chatbot: kịch bản, FAQ, tích hợp dữ liệu sản phẩm.
- 📊 Xem báo cáo bán hàng (doanh thu, lợi nhuận, sản phẩm bán chạy).
- 📈 Thống kê chatbot (tương tác, tỉ lệ chuyển đổi).
- ⚙️ Quản lý cài đặt hệ thống (bảo mật, thông báo, tích hợp thanh toán).
- 👨👩👧👦 Khách hàng → mua sắm + chatbot hỗ trợ.
- 🧑💼 Nhân viên → xử lý đơn + hỗ trợ chat.
- 👑 Admin → quản trị toàn bộ hệ thống + cấu hình chatbot.
- ☕ Java 21+
- 🐘 Gradle hoặc wrapper
./gradlew - 🐬 MySQL 8+ (hoặc Docker)
- 🐳 Docker & Docker Compose (nếu muốn chạy qua container)
git clone https://github.com/Shiroo2005/fresh-farm.git
cd FreshFarm_BE- Ứng dụng mặc định chạy với profile
dev - File cấu hình:
src/main/resources/application-dev.properties - Database: tự động tạo schema khi chạy ứng dụng
- Khi chạy với Docker, ứng dụng sẽ sử dụng profile
prod - File cấu hình:
src/main/resources/application-prod.properties - Cần tạo database trước khi chạy ứng dụng
Tạo file .env từ file mẫu:
cp .env.example .envNội dung file .env:
# Database
DB_HOST=db
DB_PORT=3306
DB_NAME=fresh-farm-db
DB_USER_NAME=user
DB_USER_PASSWORD=user@123
DB_ROOT_PASSWORD=root@123
# JWT
JWT_SECRET=your-secret-key
JWT_EXPIRATION_TIME=900000
# Spring Profile
SPRING_PROFILES_ACTIVE=prodTrước khi chạy Docker, cần build file JAR bằng Gradle:
./gradlew clean build -x test-x test bỏ qua test khi build.
./gradlew