Next.js+Spring boot開源電子商務專案

banq發表於2024-03-25


使用Next.js+Spring boot開發的多供應商電子商務開源專案。

1、後端應用:
需求:使用者可以在其中建立自己的商店並銷售產品,但需要訂閱。使用者建立商店後,需要管理員批准,並且使用者需要訂閱其中一項計劃才能開始銷售產品。

2、業務特徵:

  • 橫幅
  • 目錄
    • 類別(多級支援)
    • 產品(變體支援)
  • 命令
  • 購物車
  • 最喜歡的產品
  • 供應商|商店
  • 訂閱計劃
  • 訂閱促銷程式碼
  • 評論
  • 使用者

3、要求

  1. Java(如果要啟用虛擬執行緒,請使用Java 17Java 21 )
  2. PostgreSQL
  3. 2C2P支付閘道器憑證
  4. 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
  • 供應商 API
  • 消費者API

探索 api 文件 : http://localhost:8080/api-docs-ui

5、前端

  1. Node.js 18.17 或更高版本
  2. 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、架構:
Next.js+Spring boot開源電子商務專案

 

相關文章