フロントエンドのコードは frontend/ ディレクトリ以下に配置されています。pnpm のワークスペース機能を利用して管理しています。
バックエンドは backend/ に Scala で配置しています。試験的な HTTP サーバーがあり、フロントエンドとは未連携です。
graph TD
Dev[DEV] -->|make build| FE[frontend/ - Vike + React + TS]
FE --> Dist[frontend/dist/client]
Dist -->|GitHub Actionsでデプロイ| Pages[GitHub Pages]
Dev -.->|未連携| BE[backend/ - ZIO + zio-http]
frontend/
├─ package.json
├─ vite.config.ts
├─ resources/ (sitemap・robots・cat assets)
├─ src/
│ ├─ pages/ (Vike ルーティング)
│ │ ├─ +Layout.tsx
│ │ ├─ +Head.tsx
│ │ ├─ +config.ts
│ │ ├─ index/
│ │ ├─ articles/
│ │ ├─ projects/
│ │ │ ├─ +Page.tsx
│ │ │ └─ @id/ (+Page.tsx, +onBeforePrerenderStart.ts など)
│ │ ├─ schedules/
│ │ └─ electricity/
│ ├─ components/ (project/headertags/articles など UI)
│ ├─ data/
│ ├─ assets/
│ ├─ domains/
│ ├─ hooks/
│ ├─ utils/
│ └─ types/
└─ tests/ (Vitest/Playwright)
└─ e2e/