系統架構摘要 (Executive Summary)
本報告深度拆解「課程活動情報站 (Course Aggregator)」的開發全紀錄。面對網路上海量的社群課程與活動,我們探討如何揚棄傳統「中心化爬蟲」的死局,轉向純前端 Omni-Search 檢索,並利用 LocalStorage 打造 100% 隱私安全的個人化情報看板。
在當今這個資訊爆炸的時代,不論是前端工程、AI 應用、職場行銷還是設計美學,每天社群媒體上都充斥著無數的線上課程、技術講座與黑客松。我們觀察到現代知識工作者存在一個巨大的痛點:「收藏了等於學會了,但最後全部都漏掉了。」
這就是 Gemify 課程活動情報站的設計初心:打造一個極速、直覺、且完全圍繞使用者個人興趣的「全能課程情報觀測台」。
一、 傳統架構的致命傷:中心化爬蟲與硬編碼死局
本章核心:維護成本與隱私兩難
分析為何傳統的後端爬蟲架構會陷入無止境的修補地獄,以及建立中心化會員系統帶來的隱私疑慮。
在專案初期,我們原本計畫採用最傳統的「後端爬蟲 + 分類資料庫」架構,定時抓取各大平台的資料。然而,我們立刻撞上了一道難以跨越的高牆:各家課程平台的 HTML 結構天天在變。為了維護爬蟲,團隊將陷入永無止境的修補地獄,完全違背了 Gemify「零主機維護成本」的鐵則。
此外,如果要在伺服器記錄使用者的「追蹤清單」,就必須建立會員系統與密碼防護。這大幅增加了開發難度,更違反了現代人對隱私的高度敏感性——為什麼我只是想記錄想看的課程,卻要暴露個資給伺服器?
🔍 全能課程情報檢索
圖 1.1:捨棄複雜分類,採用純前端 Omni-Search 單一檢索
二、 隱私至上:去中心化「前端沙盒」追蹤機制
本章核心:LocalStorage 的完美應用
解密我們如何做到「$0 伺服器成本,100% 隱私免疫」,讓使用者的訂閱數據安全地鎖在本機端。
既然不架設中心化會員資料庫,要如何做到個人化的「收藏與追蹤」呢?我們採用了最優雅的前端原生解決方案:LocalStorage 追蹤矩陣。
我們將使用者的「追蹤清單」、「自訂提醒」以及「已讀標籤」,透過 JSON.stringify 100% 安全地鎖在使用者的瀏覽器快取中。
這項決策達成了驚人的結果:伺服器不需要儲存任何 1 Byte 的使用者個資,網頁即使在網路不穩定的狀態下,依然能毫秒級讀取個人的追蹤情報看板。 這與我們在 大腦救星的本地快取架構 中所使用的核心理念完全一致,形成了強大的技術共鳴。
2026 前端架構與 AI 實戰 Workshop
2026-07-15 | 線上直播
圖 2.1:結合 LocalStorage 的無伺服器追蹤看板
const originalCount = favoriteTitles.length;
favoriteTitles = favoriteTitles.filter(title => validDbTitles.has(title));
if (favoriteTitles.length !== originalCount) {
localStorage.setItem('gemify_favorites', JSON.stringify(favoriteTitles));
console.log(`📡 [我的最愛自動維護] 已自動清空 ${originalCount - favoriteTitles.length} 筆已刪除或逾期的收藏項目。`);
}
三、 生態系相互引用:打造 SEO 流量閉環
主站工具 ➔ 部落格
我們在情報站工具主頁的底部,加入了「開發幕後故事」的卡片。當使用者驚艷於工具的流暢度時,一鍵點擊即可引流至這篇技術白皮書,大幅提升部落格的精準技術流量。
部落格 ➔ 生態系矩陣
在技術文章內文中,刻意植入其他工具(如天賦探索器、大腦救星)的架構共鳴點並加上超連結。這不僅讓 Google 爬蟲更容易建立網站拓撲圖,也極大化了使用者的全站停留時間 (Dwell Time)。
四、 結語:去中心化訂閱的未來
「課程活動情報站」完美示範了:優異的使用者體驗,不需要建立在沉重的後端架構與犧牲隱私之上。透過純前端沙盒運算與動態模糊檢索,我們成功為知識工作者打造了一個「零延遲、零追蹤、極致流暢」的學習雷達。