Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 10 additions & 10 deletions docs/architecture.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,16 +8,16 @@ Cloudflare 上で動く Web アプリ (TanStack Start) と、メール送信用

## コンポーネント

| コンポーネント | 役割 | 状態 |
| -------------------------------- | ------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------- |
| Workers (`apps/web`) | 画面、タスク API、認証 | 実装済み → [Web アプリ仕様](web-app.md) |
| Workers (`apps/reminder-worker`) | cron で起動してリマインドを Queues に積み、リマインドと共有の通知のメールを送る | 実装済み。送信の設定は [#8](https://github.com/tknkaa/todo-app/issues/8) → [ワーカー仕様](worker.md) |
| D1 | ユーザー、セッション、タスク (本文、順番を含む)、添付のメタデータ、共有と招待の保存 | 実装済み → [テーブル定義](database.md) |
| Cron Triggers | リマインド Worker を 15 分ごとに起動 | 実装済み |
| Queues | メールの送信キュー (リマインド用の `kanban-reminders` と、共有の通知用の `kanban-notifications`) | 実装済み |
| Resend | リマインドと共有の通知のメールの送信 | コードあり。API キーとドメインの設定は未了 |
| R2 | タスクのファイル添付 | 実装済み (`FILES`) → [Web アプリ仕様](web-app.md) |
| Durable Objects | 共有したタスクの変更をリアルタイムに通知 (WebSocket) | 実装済み (`COLLABORATION`) → [Web アプリ仕様](web-app.md) |
| コンポーネント | 役割 | 状態 |
| -------------------------------- | ------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------- |
| Workers (`apps/web`) | 画面、タスク API、認証 | 実装済み → [Web アプリ仕様](web-app.md) |
| Workers (`apps/reminder-worker`) | cron で起動してリマインドを Queues に積み、リマインドと共有の通知のメールを送る | 実装済み。送信の設定は [#8](https://github.com/ut-code/kanban/issues/8) → [ワーカー仕様](worker.md) |
| D1 | ユーザー、セッション、タスク (本文、順番を含む)、添付のメタデータ、共有と招待の保存 | 実装済み → [テーブル定義](database.md) |
| Cron Triggers | リマインド Worker を 15 分ごとに起動 | 実装済み |
| Queues | メールの送信キュー (リマインド用の `kanban-reminders` と、共有の通知用の `kanban-notifications`) | 実装済み |
| Resend | リマインドと共有の通知のメールの送信 | コードあり。API キーとドメインの設定は未了 |
| R2 | タスクのファイル添付 | 実装済み (`FILES`) → [Web アプリ仕様](web-app.md) |
| Durable Objects | 共有したタスクの変更をリアルタイムに通知 (WebSocket) | 実装済み (`COLLABORATION`) → [Web アプリ仕様](web-app.md) |

## リポジトリ構成

Expand Down
6 changes: 3 additions & 3 deletions docs/deploy.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

Cloudflare にデプロイする手順。**ここに書いたことのうち、リソースの作成、シークレットの設定、ダッシュボードの設定は、Cloudflare のアカウントが要るので、まだ実際には試していない。** 確認できているのは、Wrangler の設定が正しく読めること (`pnpm check:deploy`、CI でも実行する) まで。

[#3](https://github.com/tknkaa/todo-app/issues/3) で扱う。
[#3](https://github.com/ut-code/kanban/issues/3) で扱う。

## 名前

Expand Down Expand Up @@ -70,7 +70,7 @@ pnpm db:migrate:preview # プレビュー
| `RESEND_API_KEY` | reminder-worker | Resend の API キー。詳しくは [ワーカー仕様](worker.md) |
| `REMINDER_FROM` | reminder-worker (`vars`) | 送信元アドレス。独自ドメインの検証が要る |
| `APP_URL` | reminder-worker (`vars`) | メールのリンクの先 (本番の公開 URL) |
| `GOOGLE_CLIENT_ID` / `GOOGLE_CLIENT_SECRET` | web | Google でログインするとき ([#2](https://github.com/tknkaa/todo-app/issues/2)) |
| `GOOGLE_CLIENT_ID` / `GOOGLE_CLIENT_SECRET` | web | Google でログインするとき ([#2](https://github.com/ut-code/kanban/issues/2)) |

```sh
cd apps/web
Expand All @@ -92,7 +92,7 @@ pnpm deploy:preview # プレビューの Web (Worker を作るため、最初

## 5. Cloudflare 側で、自動のデプロイとプレビューを設定する (Workers Builds)

ダッシュボードの Workers & Pages で、Worker ごとに、リポジトリ (`tknkaa/todo-app`) を接続する。Worker の名前は、設定ファイルの `name` と同じにする。
ダッシュボードの Workers & Pages で、Worker ごとに、リポジトリ (`ut-code/kanban`) を接続する。Worker の名前は、設定ファイルの `name` と同じにする。

**`kanban-web`** (本番とプレビューを兼ねる):

Expand Down
2 changes: 1 addition & 1 deletion docs/web-app.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@

### 予定

- Google OAuth ([#2](https://github.com/tknkaa/todo-app/issues/2))
- Google OAuth ([#2](https://github.com/ut-code/kanban/issues/2))
- メールアドレスの確認とパスワードリセットは、現時点では扱わない。

## タスク
Expand Down
2 changes: 1 addition & 1 deletion docs/worker.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ cron と Queues の設定は `wrangler.jsonc` (`triggers.crons`、`queues`)。`k

## 未了

メールを実際に送れる状態にするには、アカウントやドメインの作業が要る。コードの側は済んでいる。リソースの作り方とシークレットの設定は [デプロイとプレビュー](deploy.md) にある。[#8](https://github.com/tknkaa/todo-app/issues/8) で扱う。
メールを実際に送れる状態にするには、アカウントやドメインの作業が要る。コードの側は済んでいる。リソースの作り方とシークレットの設定は [デプロイとプレビュー](deploy.md) にある。[#8](https://github.com/ut-code/kanban/issues/8) で扱う。

- Resend のアカウントで API キーを作り、`RESEND_API_KEY` を設定する
- 送信元のドメインを Resend で検証し、`REMINDER_FROM` を変える
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"name": "todo-app",
"name": "kanban",
"private": true,
"scripts": {
"dev": "pnpm --filter @todo/web dev",
Expand Down
Loading