{"id":27306178,"url":"https://github.com/mengxiaozhi/tw_did_student","last_synced_at":"2025-07-18T05:04:04.133Z","repository":{"id":286094988,"uuid":"960339835","full_name":"mengxiaozhi/TW_DID_Student","owner":"mengxiaozhi","description":"本專案是一個基於 Vue 3 + Node.js 架構的全台大專院校通用數位學生證申請與驗證系統，整合 Email 驗證、數位憑證發行、錢包導入 QR Code 以及匿名留言板等功能。 本專案除了驗證學生身份的 email 外，完全不會儲存您的其他個人資料，所有資料都由您個人的數位皮夾自行託管。  本專案基於「數位發展部」開發之「數位憑證皮夾」沙盒環境，僅供學習及參考使用，非正式用途。 希望這項技術未來能普及，「數位憑證皮夾」透過 DID 技術可實現個人資料的去中心化存儲與自主管理。","archived":false,"fork":false,"pushed_at":"2025-04-21T11:11:00.000Z","size":627,"stargazers_count":7,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-21T11:22:55.924Z","etag":null,"topics":["did","tw-did"],"latest_commit_sha":null,"homepage":"https://did-edu.xiaozhi.moe","language":"Vue","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mengxiaozhi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"License","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-04-04T09:09:07.000Z","updated_at":"2025-04-21T11:11:03.000Z","dependencies_parsed_at":null,"dependency_job_id":"d5a32ba6-0857-4642-aadc-7d07677a468e","html_url":"https://github.com/mengxiaozhi/TW_DID_Student","commit_stats":null,"previous_names":["mengxiaozhi/tw_did_student"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mengxiaozhi/TW_DID_Student","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mengxiaozhi%2FTW_DID_Student","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mengxiaozhi%2FTW_DID_Student/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mengxiaozhi%2FTW_DID_Student/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mengxiaozhi%2FTW_DID_Student/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mengxiaozhi","download_url":"https://codeload.github.com/mengxiaozhi/TW_DID_Student/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mengxiaozhi%2FTW_DID_Student/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265703071,"owners_count":23813921,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["did","tw-did"],"created_at":"2025-04-12T03:41:39.361Z","updated_at":"2025-07-18T05:04:04.126Z","avatar_url":"https://github.com/mengxiaozhi.png","language":"Vue","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 📘TW_DID_Student 數位學生證\n\n本專案是一個基於 Vue 3 + Node.js 架構的全台大專院校通用**數位學生證**申請與驗證系統，整合 Email 驗證、數位憑證發行、錢包導入 QR Code 以及**匿名留言板**等功能。  \n本專案除了驗證學生身份的 email 外，完全不會儲存您的其他個人資料，所有資料都由您個人的數位皮夾自行託管。\n\n本專案基於「數位發展部」開發之「數位憑證皮夾」沙盒環境，僅供學習及參考使用，非正式用途。  \n希望這項技術未來能普及，「數位憑證皮夾」透過 DID 技術可實現個人資料的去中心化存儲與自主管理。\n\n---\n\n## 🚀 功能特色\n\n- ✅ **學生信箱驗證**（支援所有 `.edu.tw` 結尾與常見子網域）  \n- ✅ **自動識別學校中文名稱**（如 `@ntu.edu.tw` → 國立臺灣大學）  \n- ✅ **自動填入學號與學校名稱**  \n- ✅ **VC 數位學生證**（姓名、學號、學校）  \n- ✅ **QR Code 與深層連結** → 一鍵導入錢包  \n- ✅ **學生證驗證與身份比對流程**  \n- ✅ **新增：匿名留言板**  \n  - 使用 DID 驗證學校身分後，可匿名或實名發表意見  \n  - 可對貼文按讚、回覆  \n  - 搜尋貼文、標籤（`#標籤`）篩選、依時間或按讚數排序  \n\n---\n\n## 🧱 技術架構\n\n### 前端\n- **Vue 3（Composition API）**  \n- **Tailwind CSS**  \n- **Axios**\n\n### 後端\n- **Node.js + Express**  \n- **MySQL**（儲存學生驗證記錄、留言板資料）  \n- **Nodemailer**（寄送驗證信）  \n- **自訂 VC API**：發卡 / 授權 / 驗證\n\n---\n\n## 📦 安裝與啟動\n\n### 🔧 安裝依賴\n```bash\nnpm install\n```\n### ▶️ 啟動前端開發伺服器\n```bash\nnpm run dev\n```\n### ▶️啟動後端（假設你有 backend server）\n```bash\nnode server.js\n```\n## 📮 API 說明（簡要）\n\n### 1. 學生身分驗證\n\n- **POST** `/verify-email`  \n  傳入 `{ email }`  \n  驗證格式、寄出驗證信  \n  回傳：`{ success, message, school_name }`\n\n- **GET** `/check-verification`  \n  傳入 `email`  \n  查詢信箱是否已完成驗證  \n  回傳：`{ verified: true/false, student_id, school_name }`\n\n- **POST** `/vc-item-data`  \n  發行數位學生證（VC）\n\n- **GET** `/verify-qr` / `/verify-result`  \n  DID 驗證的 QR Code 與查詢結果\n\n### 2. 匿名留言板\n\n- **GET** `/board-with-replies`  \n  - 參數：`page`, `pageSize`, `search`, `sort`(可選)  \n  - 回傳：含主貼文、回覆、按讚數的完整列表\n\n- **POST** `/board-message`  \n  - 發表新的留言（需攜帶學校、內容、可選 author_name）\n\n- **POST** `/board-reply`  \n  - 對指定留言回覆\n\n- **POST** `/board-like`  \n  - 對留言按讚\n\n\u003e 內部亦可支援搜尋 (`search=xxx`) 與排序 (`sort=likes_desc` / `time_desc` / etc.)。\n\n---\n\n## 📄 數位學生證欄位格式\n\n| 欄位名稱 | 類型   | 英文代碼  | 規則說明                   |\n| -------- | ------ | --------- | -------------------------- |\n| 姓名     | BASIC  | name      | 中英文與 _ 組成            |\n| 學號     | CUSTOM | number    | 英文/數字組成              |\n| 學校     | CUSTOM | school_CN | 中文名稱，系統自動判別填入 |\n\n---\n\n## 👨‍💻 開發者資訊\n\n作者：Mengxiaozhi（劉訊志）  \n聯絡方式：me@xiaozhi.moe  \n\n---\n\n## 📢 貢獻與授權\n\n本專案採用 MIT 授權，歡迎開發者進行二次開發或分享。\n\n---\n\n## ⚠️ 用戶須知與免責聲明\n\n本平台「數位學生證」為學生自主開發之技術展示專案，目的在於探索分散式身份識別技術（DID）於教育領域的應用，並無任何學校或教育機構之官方授權或背書。  \n\n- 本系統所顯示之學校名稱係根據您提供之學術信箱網域自動推論，僅供技術驗證與識別用途，不具備任何法律效力。  \n- 本系統未與任何學校資料庫或資訊系統連接，亦不模擬或破解任何學校登入機制。  \n- 所產生之數位學生證為模擬性質，僅用於展示憑證技術格式與樣式，不得作為正式學生證使用。  \n- 本平台不蒐集、處理或儲存除信箱驗證必要資訊外的個人資料，所有資料僅用於即時驗證與憑證產生，不另作他用。  \n- 本平台所生成的學校名稱、憑證資訊，均為使用者自行提供，若造成任何誤解、冒用或第三方損害，本平台概不負責。  \n- 若您為教育機構代表，有合作意願或欲提出下架通知，請聯繫本站開發者：me@xiaozhi.moe  \n\n---\n\n## 關於作者想說的話\n\n我叫劉訊志，就讀於致理科技大學資訊管理系一年級。  \n\n在初期版本中，我曾使用學校的 logo 與名稱作為展示頁視覺，未經正式授權，這是我在設計判斷上的疏忽。我已於第一時間主動修正，並不斷調整以符合合規性。\n\n但在事件過程中，我也遭遇了大量無建設性的攻擊，例如：\n- 嘲諷此專案「毫無用處」\n- 質疑我「騙人」、「裝官方」\n- 否定我作為學生創作者的正當性\n\n你可以批評我的設計，但否定一個學生創作者的動機與人格，對於整個技術創作環境毫無幫助\n\n- 我尊重法律，所以我修正項目\n- 我堅持理念，所以我不刪文、不道歉","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmengxiaozhi%2Ftw_did_student","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmengxiaozhi%2Ftw_did_student","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmengxiaozhi%2Ftw_did_student/lists"}