要件定義から設計・実装・インフラ構築・デプロイまでの全工程を1名で23.5時間(2.9人日)で遂行しており、 限られた工数内での判断が一貫している。Next.js 16 + React 19という最新フレームワーク上で、 Server Componentsを活用したISRキャッシュ戦略、OpenWeatherMap One Call API 3.0への段階的移行、 SVGマップによるインタラクティブな地理データ可視化を実現している。 Docker + Cloud Run + Workload Identity FederationによるCI/CDパイプラインも構築済みであり、 フロントエンド専門プロジェクトとしては高い完成度を持つ。
| カテゴリ | 設定 |
|---|---|
| ベース (Primary) | oklch(0.45 0.18 250) -- 深い青 |
| マップ (Sea/Land) | Sea: oklch(0.35 0.22 265) / Land: oklch(0.75 0.14 115) |
| 天気状態 (5種) | Sunny / Cloudy / Rainy / Snowy / Stormy |
| 気温 (6段階) | Hot(35+) → Warm → Mild → Cool → Cold → Freezing(-5) |
| ボーダー半径 | 6スケール (sm ~ 4xl) + base: 0.625rem |
| カテゴリ | 文書数 |
|---|---|
| プロジェクト概要 | 1 |
| 詳細設計(表示内容・デザイン・設計方針・ページ構成・ライブラリ・共通機能) | 6 |
| 地理データ仕様(地区・都道府県・都市) | 1 |
| TODOリスト | 1 |
| 機能 | 文書群 |
|---|---|
| 全国・地区ページ | 計画, 実装ログ, 改善, ライセンス |
| 都市天気ページ | 計画(9フェーズ), 実装ログ, 改善 |
| デプロイ | 手順書, WIF解説HTML |
| 共通・初期設計 | ISR解説HTML, PWA手順, フォルダ設計 |
2.9人日(23.5時間)という限られた工数の中で、Next.js 16 + React 19の最新技術スタック上に、 SVGインタラクティブマップ、One Call API 3.0、JSTタイムゾーン完全対応、グラスモーフィズムUI、 ISRキャッシュ戦略、Docker + Cloud Run + WIFによるCI/CDパイプラインまでを構築した。 Server/Client Component分離、bulletproof-react準拠の設計、OKLCHデザイントークン体系など、 フロントエンド領域のベストプラクティスが高い精度で実践されている。 150以上の都市データ管理、4階層の地理情報表示、サイネージ最適化UIという ドメイン固有の要件に対しても、適切な技術判断が行われている。
Next.js 16 + React 19
Tailwind CSS 4 (OKLCH)
One Call API 3.0
bulletproof-react
Server/Client分離
ISRキャッシュ戦略
2.9人日で完遂
23,085行のコード
Cloud Run本番運用
SVGマップ可視化
4階層天気情報
サイネージ最適化
| 基本情報 | |
|---|---|
| プロジェクト名 | Otenki(お天気) |
| 種別 | デジタルサイネージ向け天気情報サイト |
| 開発体制 | 1名(フルスタック) |
| 開発者 | shota_h / 林翔太 |
| 総開発時間 | 23.5h(2.9人日) |
| コード行数 | 23,085行 (total) |
| ファイル数 | 139 |
| ページ階層 | 4(全国 / 地区 / 都道府県 / 都市) |
| 登録都市数 | 150+(47都道府県 × 6代表都市 等) |
| 技術スタック | |
|---|---|
| フレームワーク | Next.js 16, React 19, TypeScript 5 |
| スタイリング | Tailwind CSS 4 (OKLCH), shadcn/ui |
| アニメーション | Framer Motion |
| API | OpenWeatherMap (v2.5 + One Call 3.0) |
| 地図 | geolonia/japanese-prefectures SVG |
| クラウド | Google Cloud Platform |
| CI/CD | GitHub Actions + WIF |
| デプロイ | Cloud Run (Docker) |
| パッケージ管理 | pnpm |
| テスト | Vitest, Playwright, Husky |