個人で制作・公開しているWebアプリケーションの一覧サイトです。ブログを持たない1ページ構成で、作品カードから公開アプリとGitHubリポジトリへ移動できます。
- 作品をカード形式で一覧表示
- ダッシュボード・ツール・ゲーム・実験のカテゴリで絞り込み
- PC(3列/2列)・スマートフォン(1列)のレスポンシブレイアウト
- GitHub Pages向け静的サイト、各作品の登録はJSON編集のみ
| 環境 | ブランチ | URL |
|---|---|---|
| 本番 | main |
https://naoiw.github.io/ |
| 開発プレビュー | develop |
https://naoiw.github.io/develop/ |
本番と開発プレビューは、1つのGitHub Pagesサイト(github-pages環境)の別々のパスで公開します。開発版へのpush後、検証成功を条件に両方をビルドして再デプロイします。
- TypeScript / React 19 / Next.js 16 — 画面・静的サイト生成
- CSS — レスポンシブデザイン
- Node.js 22 / pnpm 9 — 開発・テスト・ビルド
- GitHub Actions / GitHub Pages — 検証・デプロイ
corepack enable
pnpm install --frozen-lockfile
pnpm dev # ローカル開発
pnpm test # 作品データの検証
pnpm build # 静的ファイルを out/ に生成pnpm dev で起動した開発サーバーのURLをブラウザで開きます。out/ は生成物でGit管理しません。
- 通常の変更は
developブランチで行い、mainは本番公開用とします。 developへのpushはテストとプレビュー用ビルドを実行し、成功するとmain側のデプロイワークフローが起動します。- デプロイ時には
mainをルート/、検証済みのdevelopを/develop/に配置し、1つのGitHub Pagesサイトとして公開します。 - 本番反映は
develop→mainのPull Request で行います。PRでは検証のみ実行し、デプロイしません。 - マージ後も
developは残し、mainと同期して使います。
app/page.tsx— 1ページのトップ画面app/components/project-gallery.tsx— カテゴリ切り替えと一覧app/components/project-card.tsx— 作品カードの表示app/projects.json— 掲載作品のデータapp/projects.ts— 作品データの型とカテゴリ定義app/site-config.ts— 共通サイトURLと開発プレビューのパスapp/global.css— 共通・レスポンシブスタイルtests/— 作品データのバリデーション.github/workflows/—develop検証と本番・プレビュー統合デプロイdocs/— 仕様・開発・デプロイの詳細
本リポジトリのソースコードは MIT License で公開しています。