# 技術設計參考資料、關鍵字 ## 工具分類 1. no code - 解決的問題:如何在沒有工程師的情況下,快速建立以資料為核心的應用程式,方便多人、跨環境,建制一套協作編輯資料的邏輯 - 工具們: Airtable, Ragic, Google SheetApp, Bubble 6. no code - - - 特色:通用,但無法建立特定領域邏輯的 no code - 工具們: google spreadsheet 2. viz - 解決的問題:如何在盡量減少工程師手工的情況下,將資料以合適的方式呈現出來 - 工具們: BI tools, Redash 5. human-to-machine translator - 解決的問題:如何產生讓人類容易編輯,但機器依然可用的資料平台 - 工具們: headless CMS / Strapi / Directus 7. machine-to-human translator - 解決的問題:如何產生讓機器容易編修,但人類依然可瀏覽的資料平台 - 工具們: Datasette, Sheethub, 研究資料寄存所(depositar) / ckan 8. ETL/ELT/data bridge - 解決的問題:如何讓分散在各處的資料,有個統一個同步、管理的方式 - 工具們: OpenFn, Zapier 8. 無法歸類 - colab ## 對話紀錄 出處:這篇[臉書貼文](https://www.facebook.com/ddioibb/posts/pfbid02XQp4s9i7knqVtKK3WcptqjLvPV8H8V8rew8WHxpby6BbUpnF3Zq9hs1dWPKdGjZFl?__cft__[0]=AZXzn9FF3NgYka-yvujE8jycIsnMYSkB6lp-y1Fsi6w5aCzSUYRUABunESru5culiSdqGdl0KalXTu4Na7Ik_RLRjRaprL5FcrxLQZBLRpWeeXijyTDl-Gb8xt9PV_kieTQF4Wd00Exe9jJTFp2fuAIaZE46A_XglP-qhgcgylVI-Q&__tn__=%2CO%2CP-R) 1. Google spreadsheet + Apps Script > [name=A] > 1. 有沒有考慮全部都寫 google sheets app script 就沒有同步到其他網站或數位服務的問題了 (拖走 > 1. apps script 有 UrlFetchApp 可以往外打 request 啊 ... 爬回來存到 sheets 裡 > 1. Apps Script 可以弄成 web app 接收來自外部的 HTTP request 也有 time-driven trigger (最頻繁可以一個小時一次), 能做的事情超級多的 ... 而且綁在文件上, 跑在 Google 平台上, 不用自己架機器 ... 這真的是值得好好考慮的優點<br> > > [name=B] > 1. 我之前用 spreadsheet + python,不過資料量大或是流量大都容易 gg 就是了 2. AWZ, Airtable Webflow Zapier - [The AWZ no-code stack for your projects ](https://modernmakerseng.substack.com/p/the-awz-no-code-stack-for-your-projects) > [name=C] > 這篇的公司也是在做no-code的叫 [bubble](https://bubble.io/) > > 呈現上還可以直接出gridview > 可以當作更貼近斧頭幫的google sheet > 而且每個欄位都相當於已經api化<br> > > [name=D] > Airtable給NPO半價的方案不無小補哩!對我們這種不會寫code寫script的組織入手挺方便,只是資料一多時也會有base超過5萬筆的限制而苦惱 3. Headless CMS > [name=C] > 也看看 headless CMS > 諸如 Strapi Directus 這種 > 這樣你伐木做完基礎建設他們也可以從後台開欄位設關聯建立資料 > 我前陣子有串directus 有開源可以自己host > 好處是給了夥伴一個堪用有彈性的 admin pannel > 廣義來說Poga提供的用dataview應該是彈性最高的 > 但headless CMS相當與給更豐富的後台UI > 好像是要看需要給夥伴操作到什麼程度 > 但也不衝突 可以一起整合 4. no code > [name=E] > 1. Google 的 no-code solution: https://about.appsheet.com/home/ - 特色: - 一秒把資料的修改,轉成 Mobile App ,不用寫 code - 內建 bot for trigger, condition, etc.. - 角色: 方便、強調互動的資料編輯器 5. Ragic > [name=F] > 雖然不是開源,但我覺得 ragic 其實挺適合的。 https://www.ragic.com/intl/zh-TW/home - 特色: - airtable alternative ,中文化完整 - 付費方案便宜一點點 - 範本疑似多一些? - - 角色: 方便、強調互動的資料編輯器 6. Sheethub > [name=G] > 當初做 https://sheethub.com/ 就是有點想幫大家解決這種需求,不過可惜一直沒資源繼續 XD - 特色: - linked data, full API support 7. Datasette > [name=H] > https://datasette.io/ 這個似乎沒有 version control 不過應該其他都有了,在上面再疊一層? - 特色: - a web UI wrapper for SQLite file, 可以直接和 filesystem 一起發佈~ - 搭上 cloudrun ,基本上不用錢 - 也支援 heroku 等其他平台,有指令可以直接發佈(via dockerfile) - designed for read-only DB - allow realtime table join, filter, faceting, from web UI - auto faceting, better stats. bases on `sqlite-utils exctract` (?) - 完全 API 化 (to check) - [The Baked Data architectural pattern](https://simonwillison.net/2021/Jul/28/baked-data/) - by the same author, Simon Willison - custom template, can be fully customized 8. Redash & Colab > [name=I] > https://redash.io/help/data-sources/querying/google-sheets 窮人的BI?不過Google Sheet用Colab生notebook輸出到Github page比較符合靜態檔案跟版本控制的需求 - 特色: `one way data flow` `viz` Other keywords: 9. OpenFn > [name=J] > Found this open source service for NGOs > https://github.com/OpenFn/Lightning - 特色: - ETL tools, rich set of adaptors - UI for managing task log & history data catalog, data governance, and dbt. ## Google App Script 小筆記 1. 可以共用,[by library](https://stackoverflow.com/questions/57125599/how-to-share-same-app-script-between-multiple-different-spreadsheets-in-google) - 仍然需要一點點手工,像是複製貼上 script ID, function wrapper - 不知道能不能寫個 app script 做這件事 XDD ,像是「請幫我把這個 spreadsheet 加上 xx 客製化功能」 2. 程式的權限 == 執行者的權限(?) 3. [試算表入門](https://developers.google.com/apps-script/guides/sheets) 4. [觸發條件](https://developers.google.com/apps-script/guides/triggers/installable),建立觸發的人,必須擁有文件的編輯權限 {%hackmd tKdhOf2LT56c9TpnCFCK9Q %}