README
OK Train Board は、電車の発車時刻、種別、行先などを美しいUIで表示するWebアプリケーションです。駅の発車標のような見た目で、リアルタイムな列車情報を確認できます。
src/
├── app/ # Next.js App Router
│ ├── globals.css # グローバルスタイル
│ ├── layout.tsx # ルートレイアウト
│ ├── page.tsx # メインページ
│ └── welcome/ # ウェルカムページ
├── components/ # Reactコンポーネント
│ ├── Train/ # 列車関連コンポーネント
│ │ ├── TrainBoard.tsx # メインボードコンポーネント
│ │ ├── TrainBoardHeader.tsx # ヘッダー部分
│ │ ├── TrainBoardControls.tsx # 更新コントロール
│ │ ├── TrainBoardGridHeader.tsx # グリッドヘッダー
│ │ ├── TrainBoardFooter.tsx # フッター部分
│ │ ├── TrainList.tsx # 列車リスト
│ │ ├── TrainRow.tsx # 個別の列車行
│ │ ├── TrainTypeBadge.tsx # 列車種別バッジ
│ │ ├── TrainStatus.tsx # 列車ステータス
│ │ └── useTrainSorter.ts # 列車ソート用カスタムフック
│ └── UI/ # 汎用UIコンポーネント
│ └── CircleLoader.tsx # サークルローダー
└── types/ # TypeScript型定義
└── api.ts # API関連の型定義
このプロジェクトでは、Single Responsibility Principle(単一責任の原則) に基づいてコンポーネントを細かく分割しています:
# リポジトリのクローン
git clone <repository-url>
cd ok-train-board
# 依存関係のインストール
pnpm install
pnpm dev
ブラウザで http://localhost:3000 を開いてアプリケーションを確認してください。
# プロダクションビルド
pnpm build
# プロダクションサーバーの起動
pnpm start
pnpm lint