AromaHub là source code website thương mại điện tử chuyên kinh doanh nến thơm, tinh dầu, nước hoa, xịt thơm phòng và phụ kiện khuếch tán hương thơm.
Source code phù hợp cho cá nhân, cửa hàng nhỏ, freelancer hoặc lập trình viên muốn triển khai nhanh một website bán hàng có giao diện hiện đại, responsive và có sẵn hệ thống quản trị.
CÔNG NGHỆ SỬ DỤNG
- Backend: ASP.NET Core .NET 10 Web API
- Frontend: React, Vite, Tailwind CSS
- Database: SQLite với Entity Framework Core
- Authentication: ASP.NET Core Identity và JWT
- Social login: Google OAuth và Facebook OAuth
- API documentation: Swagger/OpenAPI
- Hosting: IIS, MonsterASP hoặc Windows Server
- Frontend production build: Vite
- Static files: ASP.NET Core wwwroot
- Thanh toán: hỗ trợ webhook cập nhật giao dịch
- Email: SMTP Gmail hoặc SMTP server khác
- AI chatbot: tích hợp API Gemini
- Media: hỗ trợ hình ảnh, banner và video hero banner local
CHỨC NĂNG KHÁCH HÀNG
- Đăng ký và đăng nhập tài khoản.
- Đăng nhập bằng Google.
- Quên mật khẩu và xác thực OTP qua email.
- Xác thực hai lớp qua email.
- Xem danh mục sản phẩm.
- Tìm kiếm, lọc và sắp xếp sản phẩm.
- Xem chi tiết sản phẩm và các phiên bản sản phẩm.
- Thêm sản phẩm vào giỏ hàng.
- Thêm sản phẩm vào danh sách yêu thích.
- Đặt hàng và theo dõi trạng thái đơn hàng.
- Quản lý thông tin cá nhân.
- Quản lý địa chỉ nhận hàng.
- Xem lịch sử mua hàng.
- Nhận thông báo về đơn hàng.
- Chatbot tư vấn sản phẩm bằng AI.
CHỨC NĂNG QUẢN TRỊ
- Quản lý sản phẩm.
- Quản lý danh mục và danh mục con.
- Quản lý hình ảnh sản phẩm.
- Quản lý biến thể, giá bán và số lượng tồn kho.
- Quản lý đơn hàng.
- Cập nhật trạng thái đơn hàng.
- Quản lý người dùng.
- Phân quyền Admin, Staff và Customer.
- Quản lý mã giảm giá.
- Quản lý chương trình khuyến mãi.
- Quản lý phương thức vận chuyển.
- Theo dõi thông báo và hoạt động hệ thống.
- Theo dõi tồn kho và cảnh báo sản phẩm sắp hết hàng.
ƯU ĐIỂM
- Giao diện responsive trên máy tính, tablet và điện thoại.
- Có thể triển khai cùng frontend và backend trên một domain.
- Có sẵn cấu hình chạy trên IIS/MonsterASP.
- Frontend production đã được build và minify.
- CSS và JavaScript đã được tối ưu cho production.
- Hình ảnh được nén để giảm dung lượng tải trang.
- Video banner được lưu local, hạn chế phụ thuộc nguồn ngoài.
- Có file web.config cho ASP.NET Core chạy trên IIS.
- Có cấu trúc database SQLite dễ sao lưu và di chuyển.
- Có file cấu hình môi trường riêng để bảo vệ thông tin nhạy cảm.
ĐIỀU KIỆN SỬ DỤNG
- Người mua được sử dụng source code cho dự án cá nhân hoặc dự án thương mại của mình.
- Không được bán lại nguyên bản source code cho bên thứ ba.
- Không được công khai source code lên GitHub hoặc các kho mã nguồn công cộng.
- Không bao gồm tài khoản Google OAuth, Gemini API, SMTP hoặc tài khoản thanh toán của người bán.
- Người mua cần tự tạo API key và tài khoản dịch vụ riêng.
- Hình ảnh, logo, video hoặc nội dung thương hiệu có thể cần được thay đổi trước khi sử dụng thương mại.
LƯU Ý BẢO MẬT
Trước khi giao source code, người bán cần xóa toàn bộ thông tin nhạy cảm khỏi các file sau:
- .env
- appsettings.json
- appsettings.Development.json
- launchSettings.json
- Database SQLite có tài khoản thật
- Google Client Secret
- Facebook App Secret
- Gemini API Key
- SMTP App Password
- JWT Secret thật
- Payment Webhook Secret thật
Chỉ nên cung cấp file .env.example với giá trị mẫu.
XEM THÊM ==> Hướng dẫn cài đặt chi tiết
HƯỚNG DẪN CÀI ĐẶT
HƯỚNG DẪN CÀI ĐẶT AROMAHUB
1. YÊU CẦU MÔI TRƯỜNG
- Windows 10/11 hoặc Windows Server.
- .NET SDK 10.
- Node.js 20 trở lên.
- npm.
- Visual Studio 2022 hoặc VS Code.
- IIS Hosting Bundle nếu deploy trên Windows IIS.
- SQLite.
2. CẤU HÌNH BACKEND
Mở thư mục:
AromaHub.Api/
Tạo file:
.env
Có thể tham khảo file:
.env.example
Điền các biến môi trường cần thiết:
JWT_SECRET=your-long-random-jwt-secret
PAYMENT_WEBHOOK_SECRET=your-webhook-secret
GEMINI_API_KEY=your-gemini-api-key
EMAIL_APP_PASSWORD=your-smtp-app-password
GOOGLE_CLIENT_SECRET=your-google-client-secret
Authentication__Google__ClientId=your-google-client-id
Authentication__Google__ClientSecret=your-google-client-secret
FRONTEND_BASE_URL=https://your-domain.com
Frontend__BaseUrl=https://your-domain.com
Không sử dụng lại API key hoặc secret của người bán.
3. CÀI ĐẶT FRONTEND
Mở Terminal tại thư mục:
AromaHub-app-client/
Chạy:
npm install
Sau đó build production:
npm run build
Sau khi build xong, thư mục dist sẽ được tạo.
4. GHÉP FRONTEND VÀO BACKEND
Copy toàn bộ nội dung trong:
AromaHub-app-client/dist/
vào:
AromaHub.Api/wwwroot/
Nếu thư mục wwwroot chưa tồn tại thì tạo mới.
5. CHẠY LOCAL
Mở Terminal tại thư mục AromaHub.Api và chạy:
dotnet restore
dotnet run
API thường chạy tại địa chỉ được khai báo trong launchSettings.json.
Truy cập frontend thông qua địa chỉ backend sau khi đã copy frontend vào wwwroot.
6. PUBLISH PRODUCTION
Tại thư mục chứa file AromaHub.Api.csproj, chạy:
dotnet publish -c Release --no-self-contained -o publish
Upload toàn bộ nội dung trong thư mục publish lên thư mục website trên IIS hoặc MonsterASP.
7. CẤU HÌNH MONSTERASP/IIS
Upload các file publish vào thư mục wwwroot của website.
Bảo đảm có các file:
- AromaHub.Api.dll
- AromaHub.Api.deps.json
- AromaHub.Api.runtimeconfig.json
- web.config
- wwwroot/index.html
- wwwroot/assets/
Chọn hosting ASP.NET Core/.NET 10 nếu nhà cung cấp có tùy chọn này.
8. CẤU HÌNH GOOGLE LOGIN
Trong Google Cloud Console, tạo OAuth Client ID.
Authorized JavaScript origins:
https://your-domain.com
Authorized redirect URIs:
https://your-domain.com/signin-google
Thay your-domain.com bằng domain thật của website.
9. DATABASE
Database SQLite được tạo hoặc migrate khi ứng dụng khởi động.
File database mặc định:
aromahub.db
Trước khi deploy cần backup database.
Không xóa database production nếu website đã có người dùng hoặc đơn hàng.
10. KIỂM TRA SAU KHI DEPLOY
Mở:
https://your-domain.com/api/health
Nếu hệ thống hoạt động bình thường, API sẽ trả về trạng thái Healthy.
Kiểm tra thêm:
- Trang chủ.
- Đăng ký tài khoản.
- Đăng nhập thông thường.
- Đăng nhập Google.
- Tạo đơn hàng.
- Upload hình ảnh.
- Webhook thanh toán.
- Gửi email OTP.
- Trang quản trị.
Nguồn: Topcode.vn