# ARAY
## 2024/08/27 進度 (8/29更新)
嘗試轉換 awesome-g0v-project owner to ARAY User
1. 將 ARAY AWS 的 DynamoDB 的 Schema 下載下來
2. 透過 JS 抓出 Type 為 User 的 schema
3. 只保留 schema 中 kind 為 NON_NULL 的欄位
4. 將 schema 的 field name 轉換成 json key
5. 將 Owner json 的 value 套入上述的 json中
+ Awesome g0v project Owner
```json
{
"source": "manual",
"name": "jhuang",
"github_id": "chunyenHuang",
"slack_id": "@John Huang",
"email": ""
}
```
+ Aray Schema 對應的 JSON
```json
{
"username": uuidv1 or v4, // 也可以用名字(jhuang)或名字加uuid (jhuang_{{uuid}}) 比較好對資料
"status": "active",
"name": "jhuang",
"email": "",
"selfIntroduction": "",
"location": "",
"timeZone": "",
"slackId": "@John Huang",
"slackIdUrl": "",
"githubId": "chunyenHuang", // 這個欄位可以加一下 只需要改一下grpahql schema "githubId: String"
"urlWebsite": "",
"urlGithub": "",
"urlLinkedIn": "",
"urlFacebook": "",
"urlTwitter": "",
"urlInstagram": "",
"totalCompletedHours": "",
"totalCompletedTasks": "",
"createdAt": "2024-08-27T16:08:57.623Z", // ISO timestamp
"createdBy": "awesome-g0v", // 資料來源
"updatedAt": "2024-08-27T16:08:57.623Z", // ISO timestamp
"updatedBy": "awesome-g0v"
}
/** 最後只保留 schema 中註記 kind 為 NON_NULL 的欄位 */
{
"username": "jhuang_a6f2db03-77a0-4dfd-a9fc-4e243c41d1da",
"status": "active",
"name": "jhuang",
"email": "",
"createdAt": "2024-08-28T17:12:58.057Z",
"createdBy": "awesome-g0v",
"updatedAt": "2024-08-28T17:12:58.057Z",
"updatedBy": "awesome-g0v",
"slackId": "@John Huang",
"githubId": "chunyenHuang"
}
```
最後,把轉好的 json 檔案放到 `https://github.com/g0v/aray/tree/develop/data/scripts`
最後會使用 script 將 json 轉進 DynamoDB 中
## 2024/08/18 討論
ARAY 初衷:
由於目前 g0v 提案資料還是透過人工在每次大松時才新增 google sheet上的資料,相同提案、提案人容易出現不同時期新增的資料會有不同敘述或有大小寫不同的,在查找提案歷史資料或相關資源具有一定的複雜度
設計ARAY是為了提升 g0v 各提案資料查詢的維護性及方便性,
開放給提案者跟參與者能自行維護資料,也提升提案與提案人的資料關聯與歷史資料查找的方便性
期望的目標是能夠將 goole sheet 的使用轉移至ARAY上,讓提案資料格式一致,提升資料使用跟查找上的方便性,減少人為維護的疏失
+ ARAY 短中長目標
+ 短期目標: 將 Awesome g0v project 既有 CSV 資料對應 ARAY GraphQL Schema 轉換成 JSON,轉換 JSON 完再透過 script 轉進 ARAY DynamoDB
+ ARAY 中長期目標
+ 修復使用者權限功能
+ 依循初衷持續完善網站功能
## 資料轉換對應表
|Awesome g0v project| ARAY Table|
|--|--|
owners.csv| User|
projects.csv| Project|
ARAY User Table 資料對應(8/29更新)
|Schema欄位|資料來源/參考 [Owner CSV](https://github.com/chunyenHuang/awesome-g0v-projects/blob/master/data/owners.csv)|備註
|--|--|--|
username|`Awesome-g0v-project.oweners.name_{{uuid v4}}`|先暫定 name_uuid 方便未來改用 aws cognito 時回填aws cognito id 回來
name|`Awesome-g0v-project.oweners.name`
slackId|`Awesome-g0v-project.oweners.slack_id`
githubId|`Awesome-g0v-project.oweners.github_id`
createdAt|ISO timestamp|建立 json 當下的 datetime轉 ISO格式
createdBy|"awesome-g0v"|從 awesome-g0v 來的資料固定寫死
updatedAt|ISO timestamp|建立 json 當下的 datetime轉 ISO格式
updatedBy|"awesome-g0v"|從 awesome-g0v 來的資料固定寫死
ARAY Event Table 資料對應
|Schema欄位|資料來源/參考|
|--|--|
name|g0v database.[大松提案列表](https://docs.google.com/spreadsheets/d/1C9-g1pvkfqBJbfkjPB0gvfBbBxVlWYJj6tTVwaI5_x8/edit?gid=1563040282#gid=1563040282&fvid=1102076775).event name
### Owner 整併對應表
|名稱|相似名稱|相關提案|備註
|---|---|---|---|
MrOrz (Johnson)|MrOrz|
mrorz|MrOrz|
bestian|Bestian|
克羅依 / ddio|ddio|
克羅依 / ddio|克羅依|
(有誰可以幫我廣告 XD 沒人的話就刪掉吧 =w=)|unkown|公民運動後勤表單、SOP|會先替換成 unknow
ETblue ipa|ETBlue|g0v基礎建設- 首頁2.0
etblue|ETBlue|憲動盟野生官網 野生部落格
eddie|Eddie|信差 - 社運鄉民出來走
eli|Eli|n/a
fi|Fi|市議員在幹嘛
hc|HC|政治獻金開放
irvin|Irvin|CC0 中文句庫 - 統計工具 Common Voice 語音庫<br>Mozilla Common Voice 語音資料庫收集<br>新的 Firefox 出 4 週了,沒有人來更新 moztw.org 跟 release notes 啊~,<br>來 slack #rand0m 聊天 Common Voice 來錄音 & 整理 #rand0m 文字語料<br>Firefox release notes 翻譯 / 摩茲工寮 2020 營運報告 / CC0 語料庫<br>
isabel Hou|Isabel|g0v宣言台語版、英語版、多國語言版<br>憲餅互動小鋪<br>憲餅廚房<br>Slack 歡迎訊息與 Channel 完補計畫 🙋<br>g0v 首頁社群治理頁面<br>九週年:g0v 時間軸以及 10 週年相關
jinwen|JinWen|疫情解封指引
Joy|Joyhsu|國會調查兵團開放公督盟數據API<br>ivod下載器UI改寫|無法判斷是不是同一人
kirby|Kirby|選區視覺化
kirstenliu|Kirsten|小蜜蜂戰鬥隊覆蓋率地圖視覺化
Ly|LY|summer of ?<br>立法院 ivod下載網
mglee|Mg Lee|十週年生日趴
liz|Liz|n/a|
lulu|Lulu|珊瑚體檢十年數據怎麼看
Macpaul/Mindos|Macpaul|逆滲透 - 開放資料研究社
Michael_LI|Michael LI|全民除黴計畫 APP4AM(新聞啄木鳥APP)&其他專案<br>八仙塵爆 新聞分析(80天)<br>假新聞的主題:籌辦演講會/大松來玩桌遊《抓誑新聞》<br>影片逐字稿自動化 & 整理系統<br>文本分析器(用魚骨圖討論事情)<br>新聞後面.觀眾留言的存檔(爬蟲機器人)<br>服貿專題網<br>沒有人在乎的「假新聞受害者」 - X 媒體計劃<br>這個社會的新聞樣貌:以八仙塵爆意外為起點<br>連續錄影數十台新聞頻道,監督選舉假資訊傳播/紅色媒體,資訊戰,假新聞
Michael_LI(新聞松 x 媒觀)|Michael LI|「新聞分析指標」以及「轉檔工具」
Michael_LI(VT System 開發團隊 )|Michael LI|影片聲音文字圖片整理系統--政府與民眾社會對話還原裝置
mindos|Mindos|國土管理局報告
Muyueh |Muyueh|
muyueh|Muyueh|展覽松<br>菜價<br>食用油測試<br>AI 製圖坑
nicky|Nicky 謝|「程序正義」之幸福提案 議題集中共享媒體網站
peggy|Peggy|「假的!」-- 護病比資料查詢
Ronny|Ronny Wang|
ronnywang|Ronny Wang|Dev-Env<br>斧頭幫大挑戰<br>台灣法院判決書可分享網址產生器<br>台灣內閣變化<br>地址轉經緯度<br>