Skip to content

kiebekierror/a-program

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

a-program

需求總結(私人知識百科系統)

此應用的目標是建立一個可搜尋、可視化、可追蹤演化的個人知識百科系統,支援文字與多媒體內容、條目關聯、標籤與複合搜尋,並能隨時間擴充與維護。主要需求如下:

核心功能

  • 條目(Entry)
    • 支援文字內容與多媒體(圖片/音訊/影片)
    • 草稿/完成狀態
    • 可連結其他條目形成知識網絡
  • 多媒體管理
    • 每個媒體有獨立 metadata(類型、描述、標籤、尺寸、來源、拍攝時間等)
  • 標籤系統
    • 條目與媒體都能標記 tags,支援統計與概念圖
  • 條目關聯 / 思維導圖
    • 支援 parent/child、related、derived 等關聯
    • 可視化樹狀或網狀模式
  • 搜尋與篩選
    • 支援標題、內容、tags、metadata、多媒體 metadata
    • 支援複合查詢
  • 富文本編輯器
    • 基本文字格式、內嵌多媒體、內外部連結、粘貼來源
  • 資料安全與可擴展
    • 支援本地或自託管
    • 可擴充 AI 輔助搜尋或自動標註

技術方案:GitHub Pages + Firebase

為了符合「靜態部署 + 可擴展」的需求,建議使用 GitHub Pages 搭配 Firebase 作為後端服務:

架構概述

  • 前端:靜態網站(GitHub Pages)
    • React / Vue / Svelte 皆可
    • 部署在 GitHub Pages(無伺服器成本)
  • 後端(Firebase)
    • Firestore:儲存條目、metadata、tags、關聯資料
    • Firebase Storage:儲存多媒體檔案
    • Firebase Auth(可選):登入與私密性控制
    • Cloud Functions(可選):複雜邏輯/AI 自動標註

資料模型(建議)

entries

{
  "id": "entry_123",
  "title": "...",
  "content": "...",
  "tags": ["tag1", "tag2"],
  "metadata": {
    "status": "draft",
    "created_at": "...",
    "importance": 3
  },
  "linked_entries": ["entry_456"],
  "references": ["https://..."],
  "media": ["media_abc"]
}

media

{
  "id": "media_abc",
  "type": "image",
  "url": "https://...",
  "tags": ["photo"],
  "metadata": {
    "description": "...",
    "source": "camera",
    "taken_at": "..."
  }
}

GitHub Pages + Firebase 流程

  1. 建立前端專案(如 Vite + React)。
  2. 設定 Firebase(Firestore + Storage)。
  3. 透過 Firebase SDK 存取資料。
  4. 使用 GitHub Actions 部署靜態網站到 GitHub Pages。

下一步建議

  • 若需要,我可以提供:
    • 前端專案骨架(Vite + React)
    • Firebase 初始化與安全規則範例
    • 基礎 UI/UX(條目列表、編輯器、搜尋)
    • 簡易思維導圖視覺化元件

只要告訴我偏好的前端框架與 UI 風格即可開始實作。

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published