iT邦幫忙

2026 iThome 鐵人賽

DAY 4
0

前面已經完成專案初始化以及 Google OAuth 的設定,接下來就可以開始建立後端開發環境。

今天會先完成資料庫與部署環境的配置,之後就能正式開始開發 API。

配置 Turso 資料庫

資料庫我最後選擇使用 Turso

一開始其實也考慮過 PostgreSQL,不過這個專案目前沒有複雜的關聯查詢,也沒有大量寫入的需求,SQLite 就已經足夠了。

既然如此,我更希望可以直接使用 SQLite 的開發方式,同時又不用自己管理資料庫,因此最後就選擇了 Turso。

另外,目前免費方案提供 100 個 Database 與 5 GB Storage,對這個專案來說已經很夠用了。

更多方案資訊可以參考 Turso Pricing

建立資料庫後,需要取得兩個資訊:

  • Database URL
  • Access Token

後面的 API 就會透過這兩個資訊連線到資料庫,因此最後會放到 .dev.vars

我平常習慣直接透過 CLI 建立資料庫,整個流程如下:

# macOS
brew install tursodatabase/tap/turso

# 註冊 / 登入
turso auth signup
turso auth login

# 建立資料庫
turso db create <DB_NAME>

# 取得連線資訊
turso db show <DB_NAME> --url
turso db tokens create <DB_NAME>

最後把資料庫資訊放到 .dev.vars

TURSO_DATABASE_URL=libsql://dbname-dbaccount.turso.io
TURSO_AUTH_TOKEN=

資料庫準備完成後,就可以開始配置 Cloudflare Workers。

配置 Cloudflare Workers

資料庫準備好之後,接著就是部署後端。

我最後選擇 Cloudflare Workers,主要原因是整個專案本來就使用 Hono,兩者整合得很好,不需要另外準備主機,也不用自己維護 Node.js Server,對 Side Project 來說很省事。

另外,Cloudflare 免費方案每天提供 10 萬次 Request,對目前的專案來說也很夠用了。

第一次使用時,只要安裝 Wrangler 並登入 Cloudflare 即可:

npm install -D wrangler

npx wrangler login

之後 Worker 的名稱、環境變數等設定都會放在 wrangler.toml 中管理。

平常開發最常用到的只有三個指令。

本地開發:

npx wrangler dev

部署:

npx wrangler deploy

查看線上 Log:

npx wrangler tail

基本上整個開發過程,大部分時間都只會用到這三個指令。

環境變數

和一般 Node.js 專案使用 .env 不同,Cloudflare Workers 本地開發使用的是 .dev.vars

目前專案使用到的環境變數如下:

ENVIRONMENT=development
TURSO_DATABASE_URL=libsql://<YOUR_URL>
TURSO_AUTH_TOKEN=xxxxxxxx
GOOGLE_CLIENT_ID=4xxxxxxxx.apps.googleusercontent.com
ACCESS_TOKEN_SECRET=xxxxxxxxx

執行 wrangler dev 時,Cloudflare Workers 會自動讀取 .dev.vars,因此本地開發不需要再額外設定。

正式部署時,則改用 Cloudflare Secret 儲存敏感資訊:

wrangler secret put KEY_NAME

另外,也別忘了將 apps/api/.dev.vars 加入 apps/api/.gitignore,避免不小心把 Token 或金鑰提交到 GitHub。

到這裡為止,後端開發環境就準備完成了,明天開始要實作定位與地圖顯示。


上一篇
Google 登入流程與 OAuth Client 設定
下一篇
實作定位功能與地圖顯示
系列文
30 天開發一款真正能每天使用的散步 App5
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言