# 技術設計參考資料、關鍵字
## 工具分類
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 %}