搜尋

Vibe Coding 範例 - 英文單字卡

這個 Vibe Coding 範例會從設計「流程圖」開始,逐步藉由 Firebase Authentication 設計帳號註冊登入機制,搭配 Firebase Firestore 建構資料庫,最後結合 Gemini API 做出自動填補中文的功能,最後會產生一個簡單但完整的「英文單字卡」網頁工具。

更多參考:Vibe Coding 全方位開發導讀

快速導覽:

Vibe Coding 範例 - 英文單字卡

Step 1、了解需求、繪製流程圖

要實作任何工具或功能之前,都要先了解自己的「需求」,並嘗試完整描述需求,如此一來 AI 也才能準確產出結果,首先如果要製作「英文單字卡」,可能的需求如下:

  • 基本需求:使用者使用 Google 帳號註冊,登入後可以看到自己建立的單字卡,單字卡可以編輯和刪除 ( CRUD 功能 )。
  • 進階需求:若不知道單字中文解釋,可透過 AI 補充中文意思,單字卡也可以導向線上英文辭典。

根據需求,參考「Vibe Coding 重要的準備工作:架構流程圖」教學,嘗試用「Mermaid」語法繪製「流程圖」,下方是英文單字卡的流程圖語法和產生的結果。

flowchart TD
A[進入網頁] -->|彈出視窗| B(登入或註冊)
B --> |登入|C{登入判斷}
B --> |註冊|D{註冊判斷}
C --> |登入成功| E[主畫面]
C --> |登入失敗| B
D --> |註冊完成或返回| B
E --> |輸入內容|F{儲存判斷}
F --> |儲存|E
F --> |清除重填|E
E --> |刪除項目|G{刪除判斷}
G --> |刪除|E
E --> |編輯項目|H{編輯判斷}
H --> |儲存|E
H --> |取消|E
G --> |取消|E
E --> |登出|A

Vibe Coding 範例 - 英文單字卡 - Step 1、了解需求、繪製流程圖

Step 2、啟用 Google 註冊登入機制

因為「單字卡」屬於使用者自己的紀錄,因此需要搭配「登入」功能,將單字卡紀錄在自己的帳號下,因此要先建立並進入 Firebase 專案,從左側選擇「Authentication」,登入方式選擇「Google」 ( 如果有 Email 登入需求可以自行設定,範例中只設定 Google 登入 )。

詳細參考:Vibe Coding + Firebase Authentication 打造順暢的註冊登入體驗

Vibe Coding 範例 - 英文單字卡 - Step 2、啟用 Google 註冊登入機制

特別注意,登入機制預設會綁定「網域」,也會加入「localhost」開發時的本機網域,上線之後記得把這串拿掉,並加入自己的網域名稱,才可以正常運作

詳細參考:設定 Authentication 授權網域

Vibe Coding 範例 - 英文單字卡 - 特別注意,登入機制預設會綁定「網域」,也會加入「localhost」開發時的本機網域,上線之後記得把這串拿掉,並加入自己的網域名稱,才可以正常運作

Step 3、建構 Firebase Firestore 資料庫

進入自己的 Firebase 專案,從左側選擇「Firebase Firestore」,建立一個自己的 Firestore 資料庫。

詳細參考:Vibe Coding 串接 Firebase Firestore

Vibe Coding 範例 - 英文單字卡 - Step 3、建構 Firebase Firestore

切換到「規則」頁籤,將下列的資料庫規則填入規則欄位,這組規則可以限制只有「登入帳號」才可以查看「自己的」資料

rules_version = '2';

service cloud.firestore {
  match /databases/{database}/documents {
    
    // 針對應用程式專屬路徑的規則
    // 路徑結構: /artifacts/{appId}/users/{userId}/{document=**}
    match /artifacts/{appId}/users/{userId}/{allPaths=**} {
      
      // 1. 確保使用者已登入
      // 2. 確保登入者的 UID 符合路徑中的 userId,實現資料隔離
      allow read, write: if request.auth != null && request.auth.uid == userId;
      
    }
    
    // 如果您有使用公共數據 (選用)
    match /artifacts/{appId}/public/data/{collectionName}/{docId} {
      allow read: if request.auth != null; // 登入即可讀取
      allow write: if false;               // 禁止隨意寫入公共數據
    }
  }
}

Vibe Coding 範例 - 英文單字卡 - 可以限制只有「登入帳號」才可以查看「自己的」資料

Step 4、建立 Firebase 網頁應用程式

進入自己的 Firebase 專案,建立「網頁」應用程式。

詳細參考:建立 Firebase 應用程式

Vibe Coding 範例 - 英文單字卡 - 進入自己的 Firebase 專案,建立「網頁」應用程式

應用程式建立完成後,從專案的「一般」頁籤裡,就可以看見在網頁裡面使用應用程式的「設定碼」,這也是待會網頁裡要手動置換的內容。

Vibe Coding 範例 - 英文單字卡 - 應用程式建立完成後,從專案的「一般」頁籤裡,就可以看見在網頁裡面使用應用程式的「設定碼」

Step 5、啟用 Gemini API

為了讓輸入單字時更方便 ( 不用輸入中文解釋 ),可以讓單字卡串接 Gemini API,讓 AI 自動產生中文解釋,要實現這步驟必須先前往 Google Cloud 啟用「Generative Language API」,進入 Google Cloud 專案裡,選擇「API 和服務 > 憑證」,所建立的憑證畫面,限制的範圍只能使用「Generative Language API」

也可以透過 Google AI Studio 建立 API,並綁定對應的 Google Cloud 專案,詳細參考:用 Gemini API 開啟你的 Vibe Coding 新時代

Vibe Coding 範例 - 英文單字卡 - 直接在 Google Cloud 專案裡,選擇「API 和服務 > 憑證」,所建立的憑證畫面,限制的範圍只能使用「Generative Language API」

完成後就可以看到自己的 API 金鑰,點擊「顯示金鑰」就可以進行複製,待會網頁中也需要填入這組金鑰。

強烈建議正式上線時,要加上「網域」的保護,限制這組 API 金鑰可以使用的範圍,參考「設定 Gemini API 金鑰安全性」。

Vibe Coding 範例 - 英文單字卡 - 完成後就可以看到自己的 API 金鑰,點擊「顯示金鑰」就可以進行複製,待會網頁中也需要填入這組金鑰

Vibe Coding 英文單字卡網頁

前面所有的步驟都完成後,最後就要透過 Vibe Coding 的方式,來實現一個「英文單字卡」的網頁了!參考下面這段提示詞:

我已經設定了 firebase 的 Google 登入、 firebase 網頁應用程式代碼和 firestore 資料庫,firestore 結構如下:
(集合)users -> (文件)userId -> (集合)cards -> (文件)cardId -> (欄位)word, translate, time
請幫我產生一個「英文單字卡」網頁:
- 使用者只能使用 google 註冊登入。
- 只使用基本 HTML 和 JS,不要使用任何框架。
- 新增單字時,後方多一個「AI 輔助」按鈕,點擊之後會呼叫我自己建立的 gemini api,讓 AI 把「常用又簡短」的中文意思帶入中文欄位。
- 單字卡裡面多一個字典連結,連結到 https://dictionary.cambridge.org/zht/%E8%A9%9E%E5%85%B8/%E8%8B%B1%E8%AA%9E-%E6%BC%A2%E8%AA%9E-%E7%B9%81%E9%AB%94/{單字}
- 流程圖如下:
flowchart TD
A[進入網頁] -->|彈出視窗| B(登入或註冊)
B --> |登入|C{登入判斷}
B --> |註冊|D{註冊判斷}
C --> |登入成功| E[主畫面]
C --> |登入失敗| B
D --> |註冊完成或返回| B
E --> |輸入內容|F{儲存判斷}
F --> |儲存|E
F --> |清除重填|E
E --> |刪除項目|G{刪除判斷}
G --> |刪除|E
E --> |編輯項目|H{編輯判斷}
H --> |儲存|E
H --> |取消|E
G --> |取消|E
E --> |登出|A

送出提示詞之後,AI 應該就會開始產生網頁,參考「下載 Vibe Coding 網頁程式碼」教學,下載程式碼之後用程式碼編輯器開啟編輯,替換剛剛 Firebase 應用程式設定碼以及加入 Gemini API KEY ( 通常程式碼裡面會有註解說要替換哪個部分 )。

Vibe Coding 範例 - 英文單字卡 - 替換剛剛 Firebase 應用程式設定碼以及加入 Gemini API KEY ( 通常程式碼裡面會有註解說要替換哪個部分 )

完成後可以在本機啟用伺服器查看,或參考「使用 GitHub 部署你的網頁作品」將網頁部署到 Github 上查看,開啟後應該會出現註冊畫面。

Vibe Coding 範例 - 英文單字卡 - 將網頁部署到 Github 上查看,開啟後應該會出現註冊畫面

使用 Google 帳號註冊後,就可以進入單字卡的畫面,可以自行輸入中英文。

Vibe Coding 範例 - 英文單字卡 - 使用 Google 帳號註冊後,就可以進入單字卡的畫面,可以自行輸入中英文

如果只知道英文不知道中文,也可以點擊後方 AI 小按鈕,呼叫 Gemini AI 自動帶入提示。

Vibe Coding 範例 - 英文單字卡 - 如果只知道英文不知道中文,也可以點擊後方 AI 小按鈕,呼叫 Gemini AI 自動帶入提示

小結

雖然 Vibe Coding 可以大幅減少寫程式的時間,但許多資料庫、API 和安全性等功能,都還是要自己手動處理,而且要打造一個好的產品,最重要的步驟仍然是最初期的「需求規劃」和「流程圖」,希望透過這個範例,可以讓大家了解一個產品的基本開發流程。

意見回饋

如果有任何建議或問題,可傳送「意見表單」給我,謝謝~

生成式 AI 教學

基本介紹

關於生成式 AI 關於 AI 繪圖 AI 繪圖的提示技巧 AI 繪圖軟體比較 ( 2023 ) AI 繪圖軟體推薦 ( 2024 ) 2025 生成式 AI 工具推薦

Vibe Coding 專區

Vibe Coding 教學導讀 認識 Vibe Coding Vibe Coding 新手入門 Vibe Coding 規劃架構流程 Vibe Coding 網頁知識 Vibe Coding Python 知識 Vibe Coding 下載網頁程式碼 Vibe Coding Google App Script 部署網頁 Vibe Coding Github 部署網頁 Vibe Coding 固定網頁樣式 Vibe Coding 使用外部圖片 Vibe Coding 使用 SVG 圖示 Vibe Coding 使用外部字體 Vibe Coding + Spreadsheet 資料庫 Vibe Coding + Firebase 即時資料庫 Vibe Coding + Firestore 資料庫 Vibe Coding 資料庫安全防護 Vibe Coding 串接帳號驗證機制 Vibe Coding 串接 Google 雲端硬碟 Vibe Coding 串接 Gemini API Vibe Coding 打造 LINE Bot Vibe Coding 範例 - 英文單字卡

2025 AI 影音工具

ChatGPT - 圖片提示詞技巧 ChatGPT - 客製化機器人 ChatGPT - 使用畫布功能 Gemini - 開始使用 Gemini - 客製化機器人 Gemini - 串接 Google 服務 Gemini - 使用畫布功能 NotebookLM - 開始使用 NotebookLM - 建構知識庫 Google AI Studio - 介面功能 Nano Banana - 影像生成與編輯 Gemini Educator 線上認證 圖片 - AI 圖片快速去背 圖片 - AI 黑白照片上色 聲音 - AI 影片語音轉字幕 影片 - Pika 生成創意影片 影片 - KlingAI 生成影片 影片 - AI 影片趣味特效 影片 - AI 擁抱 ( AI Hug ) 影片 - AI 老照片動起來 圖片 - Dreamina 生成圖片 音樂 - SUNO 創作音樂 音樂 - 免費 AI 音樂素材

ChatGPT

ChatGPT 教學導讀 認識 ChatGPT 開始使用 ChatGPT 優良的提示技巧 基本提示 實用組合提示 角色扮演&對話主題 閱讀並模仿風格 對話中顯示圖片 創作長篇故事與小說 使用 Bing Chat 相關工具或服務

Poe ( Poe AI )

開始使用 Poe 聊天機器人 生成圖片機器人 建立自己的機器人 Youtube 影片重點整理 PDF 重點整理 GPT-4o-mini 分析圖片 讀取網頁進行重點整理 讓 AI 美化提示詞

Ideogram

開始使用 Ideogram 文字產生圖片 圖片 Retry 與 Remix

dzine

開始使用 dzine 提示詞產生圖片 圖片產生圖片 運用圖層功能 運用文字和畫筆 ( 範例 ) 室內設計透視圖實體化 ( 範例 ) 名畫轉真人照片 ( 範例 ) 真人照片轉卡通 ( 範例 ) 真人卡通貼圖

Image Creator

開始使用 Image Creator 提示原則與技巧 搭配 Bing Copilot 產生圖片 ( 範例 ) 產生分享文章縮圖 ( 範例 ) 漫畫書風格

Leonardo.Ai

Leonardo.Ai 教學導讀 Leonardo.Ai vs Midjourney 認識 Leonardo.Ai 註冊與登入 Leonardo.Ai 使用圖片產生器 文字提示語法和準則 Elements 風格元素 使用圖片產生圖片 AI 圖片編輯器 ( Canvas Editor ) 即時 AI 畫布 ( Realtime Canvas ) 即時圖片產生器 ( Realtime Gen ) 圖片升級器 ( Universal Upscaler ) 產生圖片的後續步驟 Prompt Magic 魔法提示 PhotoReal&Alchemy 特色模型 訓練自己的模型 ( 範例 ) 填補缺少的披薩 ( 範例 ) 組合兩片披薩 ( 範例 ) 虛擬陳雷 ( 範例 ) 修改人物年齡 ( 範例 ) 換臉特效 ( 範例 ) 隱藏的人臉或文字 ( 範例 ) 全部填滿皮卡丘 ( 範例 ) 名畫轉真人照片

Recraft

開始使用 Recraft 點陣圖 Raster image 向量圖 Vector image 圖示 Icon 與 Logo 系列影像 Image Set 原型示意圖 Mockup 畫框 Frame、文字 Text 放大 Upscale、改色 Recolor 圖片去背、替換圖片背景 添加、修改、移除景物 圖片產生圖片 點陣圖轉向量圖 自定義圖片風格 合併不同圖片 ( 範例 ) 名畫轉真人照片 ( 範例 ) 照片轉卡通插畫 ( 範例 ) 自製表情貼圖 ( 範例 ) 多格漫畫風格 ( 範例 ) 圖片中加入文字 ( 範例 ) 延伸圖片範圍

Midjourney

Midjourney 教學導讀 認識 Midjourney 使用 Midjourney 使用 niji.journey 設定指令 功能參數 使用文字提示產生圖片 使用圖片產生圖片 優良的提示技巧 多重提示的權重與順序 style tuner 樣式調校 remix 放大、修改與重繪 blend 混合多張圖片 刪除圖片&傳送資訊 ( 範例 ) 修改人物年齡 ( 範例 ) 阿爾欽博托風格 ( 範例 ) 照片轉卡通人物 ( 範例 ) 變胖、變瘦

Vidnoz AI

開始使用 Vidnoz AI ( 影片 ) 照片講話 ( 圖片 ) 人物換臉 ( 圖片 ) 圖片去背

Canva AI 魔法功能

魔法媒體工具 ( 新視窗 ) 魔法工作室 ( 新視窗 ) 魔法變形工具 ( 新視窗 ) 魔法文案工具 ( 新視窗 )

Clipdrop

開始使用 Clipdrop 修改圖片選取區域 延展圖片並生成內容 人物換臉 圖片去背 移除特定物件 放大與增強影像 影像打光 替換天空

Playground AI

開始使用 Playground AI Board 文字產生圖片 Canvas 繪製與修改圖片 Remix 與 Edit 圖片 延展和放大增強圖片 圖片去背、移除物件 搭配 Poe AI 產生圖片

Replicate 模型

認識 Replicate ( 修圖 ) 黑白照片上色 ( 修圖 ) 修復老照片 ( 修圖 ) 增強與放大照片 ( 修圖 ) 更換髮型和表情 ( 繪圖 ) 似顏繪貼圖 ( 繪圖 ) 真人照片轉公仔 ( 繪圖 ) 隱藏的圖案或文字 ( 提示 ) 圖片轉提示詞 ( 提示 ) 改善提示詞

AI 繪圖效果&範例

著色本效果 2D 卡通人物 物品開箱照 像素藝術 百科全書風格 卡通貼紙

AI 繪圖風格大全

風格大全 ( 總覽 ) 風格大全 ( 攝影、照片 ) 風格大全 ( 畫面角度效果 ) 風格大全 ( 媒材、材質 ) 風格大全 ( 卡通、漫畫 ) 風格大全 ( 藝術流派風格 ) 風格大全 ( 藝術家、畫家 ) 風格大全 ( 插畫風格 1 ) 風格大全 ( 插畫風格 2 ) 風格大全 ( 特色風格 )