Skip to content

🚀 プロジェクトリポジトリのセットアップと初期化 #5

Description

@Wanko-IT

📋 タスク概要

優先度:
ステータス: 保留中
依存関係: なし(最初のタスク)

🎯 説明

統合AIプラットフォーム「AI Hub」のプロジェクトリポジトリを初期化し、React 18、Next.js 14、Node.js 20、Python FastAPI、PostgreSQL、RedisベースのCI/CDパイプラインを構築します。

🏗️ 実装詳細

技術スタック

  • フロントエンド: React 18 + Next.js 14 + TypeScript + Tailwind CSS
  • バックエンド: Node.js 20 + Express.js + Python FastAPI
  • データベース: PostgreSQL + Redis
  • 認証: Firebase Authentication または Auth0
  • ホスティング: Vercel (フロントエンド) + Railway/Render (バックエンド)
  • ストレージ: AWS S3 または Cloudflare R2

プロジェクト構造

ai-hub/
├── frontend/                 # Next.js アプリケーション
│   ├── app/                 # App Router
│   ├── components/          # Reactコンポーネント
│   ├── lib/                 # ユーティリティ関数
│   ├── hooks/               # カスタムフック
│   └── styles/              # スタイル定義
├── backend/                 # Node.js + Express API
│   ├── src/
│   │   ├── routes/          # APIルート
│   │   ├── middleware/      # ミドルウェア
│   │   ├── models/          # データモデル
│   │   └── services/        # ビジネスロジック
│   └── prisma/              # データベーススキーマ
├── ai-service/              # Python FastAPI
│   ├── app/
│   │   ├── api/             # APIエンドポイント
│   │   ├── models/          # AIモデル
│   │   ├── services/        # AI処理サービス
│   │   └── utils/           # ユーティリティ
│   └── requirements.txt
├── shared/                  # 共通ライブラリ
└── docs/                    # ドキュメント

設定ファイル

// frontend/package.json
{
  "name": "ai-hub-frontend",
  "version": "0.1.0",
  "dependencies": {
    "next": "14.0.0",
    "react": "18.2.0",
    "typescript": "^5.0.0",
    "tailwindcss": "^3.3.0",
    "shadcn-ui": "latest",
    "framer-motion": "^10.0.0"
  }
}

// backend/package.json
{
  "name": "ai-hub-backend",
  "version": "0.1.0",
  "dependencies": {
    "express": "^4.18.0",
    "prisma": "^5.0.0",
    "@prisma/client": "^5.0.0",
    "cors": "^2.8.5",
    "helmet": "^7.0.0",
    "rate-limiter-flexible": "^2.4.0"
  }
}

CI/CDパイプライン

# .github/workflows/ci.yml
name: CI/CD Pipeline

on:
  push:
    branches: [main, develop]
  pull_request:
    branches: [main]

jobs:
  test-frontend:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: '20'
      - run: cd frontend && npm install
      - run: cd frontend && npm run test
      - run: cd frontend && npm run build

  test-backend:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: '20'
      - run: cd backend && npm install
      - run: cd backend && npm run test

  test-ai-service:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-python@v4
        with:
          python-version: '3.11'
      - run: cd ai-service && pip install -r requirements.txt
      - run: cd ai-service && pytest

🧪 テスト戦略

  1. フロントエンド

    • Jest + React Testing Library
    • Cypress E2Eテスト
    • Storybook コンポーネントテスト
  2. バックエンド

    • Jest ユニットテスト
    • Supertest 統合テスト
    • データベースモック
  3. AI Service

    • pytest ユニットテスト
    • AI モデル応答テスト

📚 完了条件

  • GitHub リポジトリ作成
  • プロジェクト構造初期化
  • package.json 設定完了
  • TypeScript 設定完了
  • Tailwind CSS 設定完了
  • ESLint/Prettier 設定完了
  • CI/CD パイプライン構築
  • 環境変数テンプレート作成
  • README.md 作成
  • 開発環境セットアップガイド作成

🔗 関連タスク

有効化するタスク:

  • 認証システムの設計と実装
  • ダッシュボードUIフレームワーク開発
  • OpenAI API統合
  • データベーススキーマ設計

📝 注意事項

  • セキュリティベストプラクティスの適用
  • 環境変数での機密情報管理
  • 適切なGitignoreファイル設定
  • ブランチ保護ルールの設定

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions