実験的で気軽に取り組める React 学習プロジェクト
すぐに始めたい方は以下のコマンドを実行してください:
# 1. 依存関係のインストール
npm install
# 2. バックエンドサーバーの起動(別ターミナル)
npm run dev:backend
# 3. フロントエンドサーバーの起動(お好みで)
npm run dev:simple # React基本版
npm run dev:simple-example # React完成例
npm run dev:vanilla # Vanilla JS版
npm run dev:vanilla-example # Vanilla JS完成例ブラウザで http://localhost:3000 にアクセスしてください。
このプロジェクトは、ソーシャルネットワーク(掲示板)アプリケーションを通じて、JavaScript と React の基本的な開発手法を学ぶためのハンズオン教材です。
- 📝 投稿の作成・表示・削除
- 👍 いいね機能
- 💬 コメント機能(モーダル)
- 📄 ページネーション
- 📱 レスポンシブデザイン
- 🌙 ダークモード対応
- 技術スタック: Node.js 22 + Hono.js + SQLite
- API仕様: RESTful API
- ポート: http://localhost:9999
- データベース: SQLite(
backend/database.sqlite) - 機能: 投稿CRUD、いいね機能、コメント機能
react-handson/
├── README.md # このファイル
├── CLAUDE.md # プロジェクト詳細情報
├── package.json # ワークスペース設定
├── .tool-versions # Node.js 22バージョン固定
├── slides/ # ハンズオン用スライド
│ └── web-development-evolution.md
├── setup-environment/ # 開発環境構築ガイド
│ └── README.md
├── backend/ # バックエンドAPI(Hono.js + SQLite)
│ ├── src/
│ ├── package.json
│ └── database.sqlite
├── vanilla-js/ # Vanilla JS ハンズオン用
│ ├── src/
│ ├── package.json
│ └── README.md # 詳細な実装ガイド
├── vanilla-js-example/ # Vanilla JS 完成例
│ ├── src/
│ └── package.json
├── react-simple/ # React 基本ハンズオン用
│ ├── src/
│ ├── package.json
│ └── README.md # 詳細な実装ガイド
├── react-simple-example/ # React 基本完成例
│ ├── src/
│ └── package.json
├── react-powerful/ # React 19 ハンズオン用
│ ├── src/
│ ├── package.json
│ └── README.md # 詳細な実装ガイド
└── react-powerful-example/ # React 19 実験版(不安定)
├── src/
└── package.json
- Git がインストールされていること
- Node.js 22 がインストールされていること
- npm または yarn がインストールされていること
- VSCode (推奨)
-
Git for Windows をダウンロード
- https://git-scm.com/download/win
- インストーラーを実行してデフォルト設定でインストール
-
確認方法
git --version
-
Homebrew を使用(推奨)
# Homebrew のインストール(未インストールの場合) /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" # Git のインストール brew install git
-
または Xcode Command Line Tools
xcode-select --install
-
確認方法
git --version
# 1. リポジトリをクローン
git clone https://github.com/WataruNishimura/react-handson.git
cd react-handson
# 2. Node.js 22 を使用(mise使用の場合)
mise install
# 3. 依存関係をインストール
npm install
# 4. バックエンドサーバーを起動
npm run dev:backend# バックエンド
npm run dev:backend # APIサーバー起動
# フロントエンド(ハンズオン用)
npm run dev:vanilla # Vanilla JS版
npm run dev:simple # React基本版
# フロントエンド(完成例)
npm run dev:vanilla-example # Vanilla JS完成例
npm run dev:simple-example # React完成例
# React 19 (個別実行が必要)
cd react-powerful && npm run dev # React 19 ハンズオン用
cd react-powerful-example && npm run dev # React 19 完成例各プロジェクトは以下の段階で進めます:
- Step 1-6: ダミーデータを使用した基本機能実装
- Step 7-9: スタイリングとUX向上
- Step 10+: API連携への移行
- 基本機能の実装: ダミーデータで動作確認
- UX向上: スタイリングとエラーハンドリング
- API連携: 実際のサーバーとの通信
- 状態管理: アプリケーション状態の適切な管理
- コンポーネント設計: 再利用可能なコンポーネント作成
- エラーハンドリング: 適切なエラー処理とユーザーフィードバック
- VSCode を起動
Ctrl + Shift +(バッククォート)またはView > Terminal- 以下のコマンドを実行:
# プロジェクトルートに移動
cd react-handson
# 依存関係をインストール
npm install
# バックエンドサーバーを起動(新しいターミナル)
npm run dev:backend
# フロントエンドサーバーを起動(新しいターミナル)
npm run dev:simpleCtrl + Shift +で新しいターミナルを作成- バックエンドとフロントエンドを同時に起動するため、2つのターミナルが必要です
あなたの目標に合わせて選んでください:
setup-environment/ から始めてください
- Node.js 22 のインストール
- mise によるバージョン管理
- Vite プロジェクトの作成
- 基本的なコマンドライン操作
react-simple/ から始めてください
- React Hooks (useState, useEffect)
- コンポーネント設計
- Props とイベントハンドリング
- 状態管理の基本
- 完成例: react-simple-example/
react-powerful/ から始めてください
- React Server Components
- useOptimistic による楽観的更新
- Server Actions
⚠️ 注意: 非常に不安定です- 実験的な機能のため、エラーが発生する可能性があります
- 完成例: react-powerful-example/
vanilla-js/ から始めてください
- DOM操作とイベント処理
- モジュール化とコンポーネント設計
- 状態管理パターン
- 完成例: vanilla-js-example/
ハンズオンを完了したら、以下にチャレンジしてみてください:
- TypeScript版の実装
- 状態管理ライブラリの導入(Redux、Zustand)
- テストの追加(Jest、React Testing Library)
- PWA対応
- WebSocketを使用したリアルタイム機能
このプロジェクトは実験的な取り組みです。改善提案や問題報告をお待ちしています。
Happy Coding! 🎉
「(ゆる)」は experimental の意味で、実験的で気軽に取り組める内容を目指しています。