---
# System prepended metadata

title: DIY(IOTA-Form)v2 規劃文件
tags: [v1]

---

---
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 當作資料來源