Next.js + FastAPI を使ったGitHubリポジトリ検索アプリ OpenAPI + Orval によるAPIクライアント自動生成を実装
- Frontend: Next.js (TypeScript)
- Backend: FastAPI (Python)
- API Client: Orval
GitHub のリポジトリをキーワード・ユーザー/組織・リポジトリ名・言語・日付で検索できる Web アプリケーションです。Next.js (TypeScript) と FastAPI (Python) を使用しています。
- フリーテキスト検索(AND / OR / NOT をサポート)
- ページネーション(50件 / ページ)
- ソート(Star / Fork / Watch)と昇順/降順切替
- 日付フィルタ(作成日 / 更新日)
- 結果カードにスター数・フォーク数・Watch 数を表示
- Frontend: Next.js (TypeScript), Tailwind CSS
- Backend: FastAPI, requests, pydantic
- API client: Orval (OpenAPI → TypeScript)
cd frontend
npm install
npm run devcd backend
poetry install
poetry run uvicorn src.main:app --reloadcd frontend
npx orval
npx prettier --write .
npx eslint . --ext .ts,.tsx --fix
npm run lintcd backend
poetry run black .
poetry run ruff format .
poetry run ruff check --fix .
