-
Node.js (v16以上)
# Node.jsをインストール # https://nodejs.org/ からLTS版をダウンロード
-
React Native CLI
npm install -g @react-native-community/cli
-
Java Development Kit (JDK)
# JDK 11をインストール # https://adoptium.net/ からダウンロード
-
Android Studio (Android開発用)
# https://developer.android.com/studio からダウンロード
-
Xcode (App Storeからインストール)
-
Xcode Command Line Tools
xcode-select --install
-
CocoaPods
sudo gem install cocoapods
-
Node.js (v16以上)
# Homebrewを使用 brew install node -
React Native CLI
npm install -g @react-native-community/cli
git clone <repository-url>
cd tk_b_2501cd frontend
npm installcd ios
pod install
cd ..cd backend
pip install -r requirements.txt# プロジェクトルートで実行
docker-compose up -dcd frontend
# Metro bundlerを起動
npm start
# 別のターミナルでiOSアプリを起動(Mac環境のみ)
npm run ioscd backend
uvicorn main:app --reload --host 0.0.0.0 --port 8000- API Base URL:
http://localhost:8000 - API Documentation:
http://localhost:8000/docs - Health Check:
http://localhost:8000/health
GET /- APIの状態確認GET /health- ヘルスチェックPOST /users/- ユーザー作成GET /users/- ユーザー一覧取得GET /users/{user_id}- 特定ユーザー取得
- PostgreSQL がDockerコンテナで起動
- ポート: 5432
- データベース名: mobileapp
- ユーザー: user
- パスワード: password
-
Metro bundlerが起動しない場合
npx react-native start --reset-cache
-
iOSシミュレーターが起動しない場合
# Xcodeでシミュレーターを手動起動 # または npx react-native run-ios --simulator="iPhone 14"
-
Pod installエラー
cd ios pod deintegrate pod install
-
データベース接続エラー
# Dockerコンテナの状態確認 docker-compose ps # ログ確認 docker-compose logs db
-
ポート競合エラー
# ポート8000が使用中の場合 uvicorn main:app --reload --host 0.0.0.0 --port 8001
-
機能開発
- バックエンドAPIを先に実装
- フロントエンドでAPIを呼び出し
- テストを実行
-
テスト実行
# バックエンドテスト cd backend pytest # フロントエンドテスト cd frontend npm test
-
デバッグ
- React Native: Chrome DevToolsまたはFlipper
- FastAPI: Swagger UI (
http://localhost:8000/docs)
- XcodeでArchiveを作成
- App Store Connectにアップロード
- 審査申請
- Dockerイメージをビルド
- クラウドサービス(AWS、GCP、Azure)にデプロイ
- データベースを本番環境に移行