使用Next.js+Spring boot開發的多供應商電子商務開源專案。
1、後端應用:
需求:使用者可以在其中建立自己的商店並銷售產品,但需要訂閱。使用者建立商店後,需要管理員批准,並且使用者需要訂閱其中一項計劃才能開始銷售產品。
2、業務特徵:
命令
購物車
最喜歡的產品
供應商|商店
訂閱計劃
訂閱促銷程式碼
評論
使用者
3、要求
- Java(如果要啟用虛擬執行緒,請使用Java 17或Java 21 )
- PostgreSQL
- 2C2P支付閘道器憑證
- Firebase 身份驗證設定
該專案使用 Firebase auth 作為身份驗證層。因此,您首先需要設定 firebase 身份驗證並手動建立一個所有者帳戶。或者您可以使用任何其他身份驗證提供商,例如 AWS Cognito、Auth0 等,並進行相應的設定。
為不同的活動配置檔案(例如,dev、staging、prod)使用額外的 YML 配置檔案。這是env.development.yml內部的示例配置/marketplace-application/src/main/resources/
app: database: url: jdbc:postgresql:<font>//localhost:5432/marketplace-db<i> username: <username> password: <password> image: base-url: (http|https)://<your-domain>/images<i> base-path: <image-base-path> # for storing uploaded image (e.g, /var/www/html/images) payment: merchant-id: <2c2p-merchant-id> merchant-sha-key: <2c2p-merchant-sha-key> token-request-url: <2c2p-payment-token-request-url> firebase: api-key: <firebase-api-key> jwk-set-uri: https://www.googleapis.com/service_accounts/v1/jwk/securetoken%40system.gserviceaccount.com<i> issuer-uri: https://securetoken.google.com/<projectId><i> super-user: name: <owner-name> email: <owner-email-address> # The one you created from firebase auth uid: <firebase-auth-user-uid> # The one you created from firebase auth misc: website-url: http://localhost:3000 # for payment redirection<i> cors-origins: # cors domains for font-end website - http://localhost:3000<i>
|
4、api:
後端生成三個主要 API 類別:
探索 api 文件 : http://localhost:8080/api-docs-ui
5、前端:
- Node.js 18.17 或更高版本
- TinyMCE 自託管
該專案使用TinyMCE進行富文字編輯。您需要在此處下載 TinyMCE 自託管原始碼,然後解壓縮並放置在公共資料夾中,或者您可以託管在您想要放置的任何地方。在此處閱讀有關 TinyMCE 自託管的更多資訊。所需的.env.local檔案屬性。
NEXT_PUBLIC_APP_NAME=Marketplace
NEXT_PUBLIC_APP_DESCRIPTION=Multi-vendor marketplace ecommerce website
NEXT_PUBLIC_CONTACT_LOCATION=Yangon, Myanmar
NEXT_PUBLIC_CONTACT_EMAIL=yoursitename@domain.com
NEXT_PUBLIC_BASE_URL= # http:<font>//localhost:3000 or (http|https)://yourdomain.com<i>
NEXT_PUBLIC_FIREBASE_API_KEY= NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN= NEXT_PUBLIC_FIREBASE_PROJECT_ID= NEXT_PUBLIC_FIREBASE_APP_ID=
NEXT_PUBLIC_MAP_API_KEY=
NEXT_PUBLIC_API_URL= # backend api url
NEXT_PUBLIC_TINYMCE_SCRIPT_SOURCE=http://localhost:3000/tinymce/tinymce.min.js # Self-hosted TinyMCE source url <i>
|
該專案使用Bootstrap 5進行樣式設定。可以修改bootstrap中的scss檔案/styles/scss/bootstrap-custom.scss然後重新編譯
npm run sass
6、架構: