Thomas

どこかで、きっと、また。

Back to Projects

COMMERCIAL PROJECT · 2025

日系電商平台

Japanese Style E-commerce

Nuxt 3 SSR 日系電商平台,整合 Orval 自動生成型別安全 API Client 與完整前後台系統。

ROLE
前端開發工程師
CLIENT
E-commerce
YEAR
2025
API
28+ Endpoints
AUTH
Google OAuth
MODE
SSR / CSR

Overview專案概述

前台使用 Nuxt 3、Vue 3、TypeScript 與 Composition API,透過 Orval 從 OpenAPI Specification 自動生成型別安全 API Client,整合商品、會員、購物車、收藏與訂單流程。

後台管理系統涵蓋商品管理(商品資訊、款式、庫存)、分類管理、品牌管理、訂單管理、優惠券管理、輪播圖管理、評論管理等模組。整合 Google OAuth 2.0 第三方登入,並實作 API 快取機制(useApiCache)減少重複請求。SEO 優化方面設定完整的 Meta Tag、Schema.org 結構化資料、useSeoMeta 動態生成等。

TECH STACK使用技術
  • Nuxt 3
  • Vue 3
  • TypeScript
  • Tailwind CSS
  • Pinia
  • Orval
  • Swiper
  • Docker
  • ESLint
  • Prettier
  • Husky
  • Google OAuth 2.0
  • OpenAPI
  • useSeoMeta
  • Composables
FEATURES產品功能
  • 商品瀏覽與搜尋

    支援多維度篩選、排序、分頁功能

  • 購物車系統

    即時新增、刪除、數量調整與總價計算

  • 收藏清單

    收藏商品、批次管理

  • 訂單管理

    建立訂單、訂單追蹤、歷史查詢

  • 優惠券功能

    套用折扣碼、驗證優惠條件

  • 會員系統

    Email 登入、Google OAuth 2.0 第三方登入

  • 後台管理

    商品、款式、分類、品牌、訂單、優惠券、輪播圖管理

My Contribution我負責的事

  1. 01採用 Orval 自動生成 API Client,實現 28+ 個端點的型別安全整合。
  2. 02使用 Composables 模式建立可重用狀態管理邏輯,確保 SSR/CSR 狀態一致性。
  3. 03整合 Google OAuth 2.0 第三方登入與 Token 持久化機制。
  4. 04實作 API 快取與去重機制(useApiCache),優化請求效能。
  5. 05設定 SEO Meta Tag、Schema.org 結構化資料與 useSeoMeta 動態優化。
  6. 06建立完整後台管理系統:商品、分類、訂單、優惠券、輪播圖等模組。

Problems & Decisions問題與決策

這個電商平台同時包含顧客購物介面與商品、訂單管理後台。會員、購物車、收藏與訂單會在多個頁面共用資料,因此開發重點是讓首屏與後續操作保持一致,並能跟上後端規格的更新。前端以 Nuxt 3、Vue 3 與 TypeScript 建置,使用 Orval 產生 API 呼叫方法,整合 28 個以上端點。

CHALLENGES過程中處理的問題
  1. 01

    SSR/CSR 狀態一致性:透過 useState 確保伺服器端與客戶端狀態同步。Case 02

  2. 02

    API 自動化生成:設定 Orval 配置,將 OpenAPI Spec 轉換為 TypeScript Client。Case 01

  3. 03

    認證狀態管理:整合 Cookie、Token、Google OAuth,處理登入/登出/自動登入邏輯。

  4. 04

    API 快取機制:設計 TTL 快取、請求去重、自動失效邏輯減少重複請求。Case 03

  5. 05

    SEO 動態生成:針對商品詳情頁、分類頁等動態路由設定個別 Meta Tag。

  1. CASE 01

    Orval API Client 自動化生成

    Finding
    電商前後台 API 端點多,手寫呼叫方法與型別時,規格更新容易漏改。
    Decision
    用 Orval 從 OpenAPI 生成 TypeScript Client,讓 API 規格變更能反映到前端型別與呼叫方法。
    Result
    完成 28 個以上端點串接,呼叫方法與 TypeScript 型別由 Orval 從 OpenAPI 規格產生。
  2. CASE 02

    SSR / CSR 狀態一致性與 Composables

    Finding
    登入、購物車、收藏與訂單狀態同時出現在 SSR 首屏與 Client 互動流程,狀態來源分散會導致 hydration 與跨頁行為不穩。
    Decision
    以 Composables 與 useState 收斂狀態來源,讓共享狀態在頁面、元件與 SSR / CSR 邊界間有一致的更新方式。
    Result
    登入、購物車、收藏與訂單共用狀態來源,供伺服器渲染與瀏覽器互動使用。
  3. CASE 03

    請求快取與失效邊界

    Finding
    商品、會員、購物車與收藏資料會被多個頁面重複讀取,若沒有快取與失效邊界,容易造成重複請求或顯示舊資料。
    Decision
    建立 useApiCache 的 TTL、請求去重與失效邏輯,並和登入 / Token 狀態一起整理資料更新時機。
    Result
    完成 useApiCache 的 TTL 快取、請求去重與失效邏輯,配合登入與 Token 狀態處理資料更新時機。

NEXT PROJECT下一個專案

企業 AI SDLC

Enterprise AI SDLC

參與大型金融企業的 AI SDLC 導入,以 COBOL 舊系統轉換為 Java 作為驗證場景,設計分階段工作流程、Skills 分工與固定案例評估。

  • AI SDLC
  • Codex
  • GitHub Copilot

Open to opportunities,
collaborations, or just a friendly hello.