本ガイドは、GitHub Copilot ハンズオンワークショップに参加される方向けの事前準備手順書です。 ハンズオン当日までに、以下の手順に従って環境構築を完了させてください。
事前に以下のソフトウェアをインストールしてください:
| ソフトウェア | バージョン | 用途 | ダウンロード先 |
|---|---|---|---|
| Visual Studio Code | 最新版 | 開発エディタ | https://code.visualstudio.com/ |
| GitHub Copilot 拡張機能 | 最新版 | AI コーディング支援 | VS Code の拡張機能から「GitHub Copilot」を検索してインストール |
| Git | 2.0 以上 | バージョン管理 | https://git-scm.com/ |
| Python | 3.11 以上 | バックエンド実行環境 | https://www.python.org/ |
| Node.js | 20.x 以上 | フロントエンド実行環境 | https://nodejs.org/ |
| npm | 10.x 以上 | パッケージマネージャ | Node.js に同梱 |
| ソフトウェア | バージョン | 用途 | ダウンロード先 |
|---|---|---|---|
| Docker Desktop | 最新版 | コンテナ実行環境 | https://www.docker.com/products/docker-desktop |
注意: Mac M1/M2 をご使用の場合は、Docker の設定で
platform: linux/amd64を有効にする必要があります(手順内で説明します)。
ターミナル(macOS/Linux)またはコマンドプロンプト(Windows)で以下のコマンドを実行して、各ソフトウェアが正しくインストールされているか確認してください:
# Git のバージョン確認
git --version
# Python のバージョン確認
python --version
# または
python3 --version
# Node.js のバージョン確認
node --version
# npm のバージョン確認
npm --version
# Docker のバージョン確認 (Docker を使用する場合)
docker --version
docker-compose --version期待される出力例:
git version 2.39.0
Python 3.11.5
v22.21.1
10.5.0
Docker version 24.0.0, build abc1234
docker-compose version 1.29.2, build 5becea4c
本アプリケーションは、GitHub Copilot ハンズオン用のサンプルプロジェクトとして開発された、チケット管理とナレッジベースを統合したサポートプラットフォームアプリケーションです。
-
チケット管理システム
- サポートチケットの作成・追跡・管理
- ステータス管理: 新規 → 対応中 → 顧客待ち → 解決済み → 完了
- 優先度設定: 低・中・高・緊急
- コメント機能(公開・内部メモ)
-
ナレッジベース
- Markdown 対応の記事作成・公開
- カテゴリ・タグによる分類
- 検索・フィルタリング機能
- 閲覧数トラッキング
-
ロールベースアクセス制御
- 管理者: システム全体の管理権限
- オペレーター: チケット対応、記事作成
- 利用者: チケット作成、記事閲覧
環境構築後、以下のアカウントでログインできます:
| 役割 | メールアドレス | パスワード |
|---|---|---|
| 管理者 | admin@example.com | testpass123 |
| オペレーター | operator@example.com | testpass123 |
| 利用者 | user@example.com | testpass123 |
┌─────────────────┐ HTTP API (Port 3000) ┌──────────────────┐
│ Frontend │ ────────────────────────────→ │ Backend │
│ (Next.js) │ ←──────────────────────────── │ (FastAPI) │
│ Port: 3000 │ JSON Response │ Port: 8000 │
└─────────────────┘ └──────────────────┘
│
↓
┌──────────────────┐
│ SQLite DB │
│ (helpdesk.db) │
└──────────────────┘
バックエンドは ローカル環境 または Docker のどちらかで構築できます。 どちらか一方を選択して実施してください。
git clone https://github.com/marumaru1019/PoC-GitHubCopilotApp2-Backend.git
cd PoC-GitHubCopilotApp2-Backendcp .env.example .envmacOS / Linux の場合:
python3 -m venv .venv
source .venv/bin/activateWindows の場合:
python -m venv .venv
.venv\Scripts\activateプロンプトの先頭に
(.venv)と表示されれば、仮想環境が有効化されています。
pip install -r requirements.txt期待される出力:
Successfully installed fastapi-0.115.0 uvicorn-0.30.1 sqlalchemy-2.0.35 ...
alembic upgrade head期待される出力:
INFO [alembic.runtime.migration] Running upgrade -> a6a51f800395, initial migration
python seed.py期待される出力:
Seeding database...
Created users, teams, categories, tags, and SLA settings successfully!
python -m uvicorn app.main:app --reload期待される出力:
INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
INFO: Started reloader process [12345] using WatchFiles
INFO: Started server process [12346]
INFO: Waiting for application startup.
INFO: Application startup complete.
ブラウザで以下の URL にアクセスして、Swagger UI が表示されることを確認してください:
http://localhost:8000/docs
Swagger UI 上で以下の手順を実施:
POST /api/auth/loginエンドポイントを展開- 「Try it out」ボタンをクリック
- Request body に以下を入力:
{ "email": "admin@example.com", "password": "testpass123" } - 「Execute」ボタンをクリック
期待される結果:
- Response code:
200 - Response body:
access_tokenが含まれる JSON
✅ ステータスコード 200 が返ってきたら成功です!
重要: フロントエンドのセットアップで使用するため、バックエンドサーバーは 起動したまま にしておいてください。
git clone https://github.com/marumaru1019/PoC-GitHubCopilotApp2-Backend.git
cd PoC-GitHubCopilotApp2-Backendcp .env.example .envMac M1/M2 チップをご使用の場合は、docker-compose.yml を編集します:
# エディタで docker-compose.yml を開く
code docker-compose.yml以下の行のコメントアウトを 解除 してください:
services:
backend:
build:
context: .
dockerfile: Dockerfile
platform: linux/amd64 # ← この行のコメントアウトを外すdocker-compose up --build期待される出力:
Creating network "poc-githubcopilotapp2-backend_helpdesk-network" with driver "bridge"
Building backend
...
Successfully built abc123def456
Successfully tagged poc-githubcopilotapp2-backend_backend:latest
Creating helpdesk-backend ... done
Attaching to helpdesk-backend
helpdesk-backend | INFO: Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)
新しいターミナルウィンドウを開いて、以下のコマンドを実行:
cd PoC-GitHubCopilotApp2-Backend
docker-compose exec backend alembic upgrade headdocker-compose exec backend python seed.pyブラウザで以下の URL にアクセス:
http://localhost:8000/docs
ローカル環境のセットアップの「9. ログイン API のテスト」と同じ手順で実施してください。
✅ ステータスコード 200 が返ってきたら成功です!
重要: Docker コンテナは 起動したまま にしておいてください。
バックエンドが起動していることを確認してから、フロントエンドのセットアップを開始してください。
新しいターミナルウィンドウを開いて、以下のコマンドを実行:
git clone https://github.com/marumaru1019/PoC-GitHubCopilotApp2-Frontend.git
cd PoC-GitHubCopilotApp2-Frontendnpm install期待される出力:
added 500 packages, and audited 501 packages in 30s
found 0 vulnerabilities
インストールには数分かかる場合があります。
npm run dev期待される出力:
▲ Next.js 15.5.6
- Local: http://localhost:3000
- Network: http://192.168.1.10:3000
✓ Starting...
✓ Ready in 2.5s
ブラウザで以下の URL にアクセス:
http://localhost:3000
ログイン画面が表示されることを確認してください。
以下の情報でログインを試してください:
- メールアドレス:
admin@example.com - パスワード:
testpass123
✅ ログイン後、ダッシュボード画面が表示されたら成功です!
新しいターミナルウィンドウを開いて、以下のコマンドを実行:
cd PoC-GitHubCopilotApp2-Frontend
npm run test期待される出力例:
✓ app/tickets/[id]/__tests__/page.test.tsx (2)
✓ app/tickets/new/__tests__/page.test.tsx (3)
Test Files 2 passed (2)
Tests 5 passed (5)
テストの成功・失敗に関わらず、実行できれば問題ありません。
E2E テストを実行するために、Playwright ブラウザをインストールします:
npx playwright install期待される出力:
Downloading Chromium 123.0.6312.4 (playwright build v1234)
...
✔ Success! Playwright browsers are installed.
npm run test:e2e期待される出力例:
Running 5 tests using 1 worker
✓ [chromium] › e2e/ticket-flow.spec.ts:3:5 › Ticket workflow › should create a new ticket (5s)
...
5 passed (30s)
テストの成功・失敗に関わらず、実行できれば問題ありません。
すべてのセットアップが完了したら、以下の動作確認を実施してください。
- バックエンドが
http://localhost:8000で起動している - バックエンドの API ドキュメント (
http://localhost:8000/docs) にアクセスできる - ログイン API でステータスコード 200 が返ってくる
- フロントエンドが
http://localhost:3000で起動している - ブラウザでログイン画面が表示される
- テストアカウント (
admin@example.com/testpass123) でログインできる - 単体テスト (
npm run test) が実行できる - E2E テスト (
npm run test:e2e) が実行できる
すべての手順が完了したら、環境構築は完了です。