--- title: DIY(IOTA-Form)v2 規劃文件 tags: v1 --- # DIY(IOTA-Form)v2 規劃文件 Table of Content [ToC] # 先備知識 ## MongoDB Collection: fio fio = app = S.M.A.R.T. Contract ## MongoDB Collection: alpha_admin 使用者帳號資料 ## MongoDB Collection: fio_xxx_manage_timeline xxx 為 fio_id 管理每一筆資料公開與否,與其 resume_hash # UX/UI ## app-dashboard ![](https://i.imgur.com/OE07EAR.png) ## public timeline ![](https://i.imgur.com/L1pmkGU.png) ## Timeline Designer ![](https://i.imgur.com/eikQX8l.png) ## Blockchain Setting ![](https://i.imgur.com/CTLY7dL.png) # public timeline 簡易流程 資料庫中找符合 resume_hash 的每筆資料 (每一筆資料都該有一個 resume_hash,以便外部連進來時可透過此 resume_hash 查詢資料) 過濾掉被隱藏的資料 顯示在畫面上 # 資料庫規劃 - timeline designer ``` fio_xxx_manage_resume: [{ "_id" : int, "obj_id" : ID, "hide_for_publish": boolean true/false, "resume_hash": (string), }] ``` - 每一個 user 都可以決定自己要的 title / subtitle ``` fio_xxx_manage_title: { "_id" : int, "username" : "micky@fio.one", "title" : "I am Micky", "sub_title" : "I love coding", "date" : ISODate("2021-07-23T11:21:39.636+08:00") } ``` # 加入 resume_hash 時間 - get /ezblock/dashboar 時將 hash 與資料加入到 fio_xxx_manage_resume # 判斷欄位是否上鏈 - 必須查看 fio_xxx_iota_log 裡面的 msg 與全部欄位比對後才能得知是否欄位有上鏈 - 或是直接將 fio_xxx_iota_log 裡面的 msg 當作資料來源