# 前端工程師
👨💻Engineer: James Hub
🧑💼Manager: 陳厚陽
🧑✈️Supervisor: 劉宇倫
## Week 1:
### 1. 工作主軸
以 Figma 為主完成「Model Web」產品選擇流程介面(首頁、分類頁、產品詳情頁)的 Neuromorphism(新擬態)風格重設
### 2. 已完成事項
* Figma 版面:Model Web 主要流程(首頁 → 分類 → 詳情)已調整
* 元件:產品卡、分類卡、詳情資訊區塊樣式完成
* 樣式語言:Neumorphism 基礎陰影 / 光源 / 邊界 / 空白策略已初版固化
* 里程碑:首批新擬態(Neuromorphism)UI 視覺導入完成 (v1.0)
### 3. 詳細內容:[工作周誌1](https://hackmd.io/@C9Seo8LzSRSTGCaJk96GTQ/Hk7r0n0Vxl)
## Week 2:
### 1. 工作主軸
* 聚焦於建立一個 BIM Viewer(IFC 3D 檢視器)之初版開發環境與使用流程整理。
* 目的:確認以 Next.js + React 整合 thatOpen.engine(@thatopen/engine)並可搭配 HeroUI / Hero Icons 與 Tailwind CSS 的可行性。
### 2. 已完成事項
* 調研並紀錄 ThatOpen/engine_templates 的用途與結構。
* 撰寫/整理使用步驟(A~E):
A) 建立或複製 Next.js 模板專案。
B) 安裝核心套件:@thatopen/engine、@heroicons/react、Tailwind CSS 相關依賴。
C) 設定 Tailwind(於 globals.css 加入基礎指令)。
D) 建立基本 Viewer 元件(MyViewer.jsx),示範使用 useRef 建立引擎实例與釋放資源。
E) 示範如何在頁面組合 Hero Icons 提升介面視覺。
* 提供最小可執行範例架構(app/page.tsx + components/MyViewer.jsx)。
* 初步整理與上傳 Figma 視覺稿(標記「Progress Figma Finalized」並附示意截圖)。
### 3. 詳細內容: [工作周誌2](https://hackmd.io/@C9Seo8LzSRSTGCaJk96GTQ/BJfGFPcHel)
## Week 3:
### 1. 工作主軸
* 聚焦於建立 BIM Viewer(3D/BIM 模型檢視)之初版 Web 架構與互動流程,驗證以 Next.js + React 串接模型上傳 / 載入流程與基礎 UI 導覽的可行性,為後續渲染與 worker 管線奠定骨架。
### 2. 已完成事項
* 建立使用者帳號流程(註冊 / 登入 / 登出)並串接後端 API
* 建構主導覽與版面:Navbar(登入/導覽)、Sidebar(自適應狀態 + 上傳入口)
* 完成模型相關頁面:Models 列表、Model Detail、Collection、Upload(初版可用)
* 標準化模型卡片與 Grid 版面(含編輯 / 刪除 / 圖示變更)
* 實作 BIM Wrapper:前端環境判斷 + 模型載入邏輯(模型資料載入成功但尚未渲染顯示)
* 上傳流程打通(可提交並觸發載入)
* 初步 Grid 顯示(載入過程短暫顯示後變藍,顯示渲染/worker 待完善)
* 新增 favicon、基本動畫與組件目錄結構重整
* 製作 React Redux 與 Next.js 組件控制學習筆記(團隊知識補充)
### 3. 詳細內容: [工作周誌3](https://hackmd.io/@C9Seo8LzSRSTGCaJk96GTQ/SJJAnw0rxg)
## Week 4:
### 1. 工作主軸
針對 v1.1 Iteration:強化模型上傳工作流、3D Viewer 狀態保持與截圖(含複製到剪貼簿)功能;同步優化 Upload 介面與 Sidebar 佈局,提升操作流暢度並為後續與 BIM 後端串接(端到端上傳)做準備。
### 2. 已完成事項
- 截圖功能:可擷取 Viewer 畫面並直接複製至剪貼簿
- Viewer 狀態保持:上傳進行中維持當前視角與場景,避免過早重置
- 上傳流程增強:
- 新增上傳 metadata
- 加入截圖容器(與檔案一同提交準備)
- 改善 Upload 頁面版面配置
- 上傳控制:新增 Cancel 按鈕,可中止進行中的上傳
- UI/UX 微調:
- Sidebar 版面清理
- 透明背景選項
- Viewer 測試流程 E2E 驗證通過
- 偵錯支援:加入檔案 / 上傳相關 debug logs
- 狀態:無阻塞性問題;截圖與上傳整合仍需進一步測試
### 3. 詳細內容: [工作周誌4](https://hackmd.io/@C9Seo8LzSRSTGCaJk96GTQ/Hko3C0sUee)
## Week 5:
### 1. 工作主軸
聚焦優化「模型上傳 → Viewer 體驗」整體閉環:提升 2D/3D 上傳流暢度、上傳期間視圖狀態保持、截圖(含剪貼簿 / PDF)能力、Collections 管理與搜尋/篩選效率,並為後續佈署與新版 UI 樣式整合鋪路。
### 2. 已完成事項
- 功能 / Viewer:
- 截圖 → 可複製到剪貼簿、支援 PDF 匯出
- Viewer 上傳中不重置狀態(視角 / 場景保持)
- 加入 3D Viewer 行為 debug logging
- 上傳流程:
- 支援 2D / 3D 上傳模式切換
- 上傳成功指示、工具列互動優化
- 新版上傳頁:影像輪播 / 縮圖預覽 / metadata 區塊
- Collection & 模型管理:
- Collection 新增 / 儲存 / 刪除 / 編輯
- 分頁、搜尋、確認 / 移除 modal
- 模型篩選、Show All 邏輯、搜尋列優化
- UI/UX:
- 圖片解析度標準化
- Sidebar / Toolbar toggle 行為調整
- 上傳選項與下拉式樣式統一
- Debug / 開發體驗:
- 時間與 token 處理 logging
- Auth context 改善 & 上傳頁 SSR 處理調整
- 狀態:
- 無阻塞性問題(No blocking issues)
- 截圖 / 剪貼簿 / Viewer 互動需進一步整合與跨瀏覽器測試
### 3. 詳細內容: [工作周誌5](https://hackmd.io/@C9Seo8LzSRSTGCaJk96GTQ/H1L7kBqDxe)
## Week 6:
### 1. 工作主軸
聚焦「全站導覽與搜尋體驗一致性」:重構 Navigation(左右導覽列、Explore 分頁、分類下拉)、搜尋列元件化與樣式統一、Grid 顯示切換、登入與主要頁面樣式標準化,並透過程式重構(結構拆分 + 環境變數管理 API)降低後續維運與佈署摩擦。
### 2. 已完成事項
- 導覽 / 版面:
- 左 / 右 Navbar 新樣式
- 新增 Explore 分頁
- Category 下拉(分類過濾入口)
- Grid View 開 / 關 Toggle
- 搜尋 / 篩選:
- 搜尋列樣式改版(寬度 / 排版修正)
- 搜尋列抽象為 Reusable Molecule Component
- Filter 與 Keyword UI 對齊 / 間距修正
- Header 類別 + 關鍵字對齊校正
- 樣式:
- 登入頁更新
- 全站樣式一致化(Typography / spacing / 元件狀態)
- 程式碼 / 結構:
- 前端目錄與元件重構(提升可維護性 / 可組合性)
- API endpoints 抽離至 .env.local
- 狀態:
- 無阻塞性問題
- 樣式變更待跨瀏覽器(Chrome / Firefox / Safari / Edge)驗證
- 未列但推論(隱性價值):
- 元件拆分 → 減少重複 & 提升後續擴充搜尋/篩選邏輯的彈性
- 環境變數化 → 佈署與多環境(dev / staging / prod)切換更安全
### 3. 詳細內容: [工作周誌6](https://hackmd.io/@C9Seo8LzSRSTGCaJk96GTQ/HkJZEpmOxx)
## Week 7:
### 1. 工作主軸
將「IFC 檔 → Fragment(.frag)轉換 → 3D Viewer 渲染」流程前置到前端(含代理層串接),移除 submodule 依賴,統一專案結構與建置路徑,建立後續效能優化、驗證與多模型擴充的最低可行工作流(MVP)。
### 2. 已完成事項
- 3D Viewer:
- 可載入 / 顯示 fragment 檔(基本渲染流程打通)
- 透過 proxy 串接後端取得 fragment 資料
- IFC → Fragment 轉換:
- 前端內部完成轉換流程(去除外部依賴 / 簡化部署組態)
- 專案結構:
- 移除前端 git submodule(程式碼遷入主 repo)
- 重建 module 路徑與建置設定(Webpack / 路徑 alias 調整)
- 初始化:
- 基礎專案初始化(來自 orpheus016 初始提交)
- 現況:
- 功能路徑貫通(上傳 / 轉換 / 渲染)
- 尚欠:大檔效能、轉換結果自動驗證、回歸測試
(隱性收穫推論)
- 整合後可減少多 repo 同步 / 版本漂移問題
- 可逐步引入增量載入、快取策略與質量檢查
### 3. 詳細內容: [工作周誌7](https://hackmd.io/@C9Seo8LzSRSTGCaJk96GTQ/B1eZr6muee)