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
30 changes: 0 additions & 30 deletions .dockerignore

This file was deleted.

1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,4 @@ node_modules
.wrangler
CLAUDE.local.md
.local
.dev.vars
18 changes: 10 additions & 8 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
```bash
# 開発サーバー起動(クライアント + サーバー個別)
npm run dev:client # Vite dev server → http://localhost:5173
npm run dev:server # tsx watch mode → http://localhost:3000
npm run dev:server # wrangler dev (Workers + ローカル D1) → http://localhost:3000
npm run dev:functions # Cloudflare Pages Functions ローカル実行

# Lint / Format
Expand All @@ -17,12 +17,14 @@ npm run fix # unsafe 修正も含む

# ビルド
cd client && npm run build # 本番ビルド
cd server && npm run build # サーバービルド
cd server && npm run build # サーバービルド (wrangler deploy --dry-run)

# データベース
docker compose up -d postgres # ローカル DB 起動
cd server && npx prisma migrate dev # マイグレーション実行
cd server && npx prisma generate # Prisma Client 再生成
# テスト (server、Workers ランタイム + ローカル D1)
cd server && npm test

# データベース (D1 + Drizzle)
cd server && npm run db:generate # schema.ts の変更からマイグレーションを生成
cd server && npm run db:migrate:local # ローカル D1 に適用
```

## アーキテクチャ
Expand All @@ -32,7 +34,7 @@ cd server && npx prisma generate # Prisma Client 再生成
```
common/ 共有 Zod スキーマと色ユーティリティ
client/ React 19 + Vite フロントエンド
server/ Hono + Prisma バックエンド
server/ Hono + Drizzle バックエンド (Cloudflare Workers + D1)
```

### 型安全な API クライアント
Expand All @@ -49,7 +51,7 @@ REST fetch ではなく `client.projects[":projectId"].$get(...)` 形式で呼

### 認証(browserId)

ユーザーアカウントなし。サーバーの `browserIdMiddleware` が、初回アクセス時に UUID を生成して署名付き Cookie として保存し、以降のリクエストでは Cookie から `browserId` を復元して `c.set("browserId", ...)` に格納する。Express から Hono への移行時に Cookie の署名形式が変わったため、ミドルウェアは両形式に対応している(`server/src/middleware/browserId.ts`)。
ユーザーアカウントなし。サーバーの `browserIdMiddleware` が、初回アクセス時に UUID を生成して署名付き Cookie として保存し、以降のリクエストでは Cookie から `browserId` を復元して `c.set("browserId", ...)` に格納する。署名鍵は `COOKIE_SECRET`。ローテーション中は `COOKIE_SECRET_PREVIOUS` の鍵でも検証し、現行の鍵で署名し直す(`server/src/middleware/browserId.ts`)。

### カレンダーの状態管理(CalendarMatrix)

Expand Down
34 changes: 0 additions & 34 deletions Dockerfile

This file was deleted.

18 changes: 3 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,31 +22,19 @@
npm ci
```

`server/.env.sample` をコピーして `server/.env` を作成
`server/.dev.vars.example` をコピーして `server/.dev.vars` を作成

`client/.env.local.sample` をコピーして `client/.env.local` を作成

開発用データベースの起動

```sh
docker compose up
```

スキーマの反映
ローカルの D1 にスキーマを反映

```sh
cd server
npx prisma migrate dev
npm run db:migrate:local
```

### 起動

開発用データベースの起動

```sh
docker compose up
```

サーバー側とクライアント側をそれぞれ起動

```sh
Expand Down
4 changes: 1 addition & 3 deletions client/build.sh
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
# TODO: common のみに依存するようにする
cd ..
npm ci
cd server
npm run build
cd ../client
cd client

if [[ "$CF_PAGES_BRANCH" == "main" ]]; then
npm run build
Expand Down
27 changes: 0 additions & 27 deletions fly.toml

This file was deleted.

Loading
Loading