REST API プロジェクト構成
フォルダ構成入門
整理されたAPIプロジェクト構成はClaude Codeがコードベースを効率的にナビゲートし、適切な場所に変更を適用するのに役立ちます。このパターンはルート、コントローラー、サービス、データアクセス層を分離し、ビジネスロジックとHTTP処理がどこにあるかをClaudeが理解できるようにします。この構成に従えばCLAUDE.mdの指示もより正確になります -- 「新しいサービスを追加して」と言えば、Claudeは正確にどこにファイルを作成すべきか分かります。
APIRESTNode.jsExpressバックエンドフォルダ構成
パターンコード
my-api/
├── src/
│ ├── routes/ # HTTP route definitions
│ │ ├── users.ts # /api/users endpoints
│ │ ├── products.ts # /api/products endpoints
│ │ └── index.ts # Route aggregator
│ ├── controllers/ # Request/response handling
│ │ ├── userController.ts
│ │ └── productController.ts
│ ├── services/ # Business logic (no HTTP awareness)
│ │ ├── userService.ts
│ │ └── productService.ts
│ ├── repositories/ # Database queries (Prisma/Drizzle)
│ │ ├── userRepo.ts
│ │ └── productRepo.ts
│ ├── middleware/ # Auth, validation, error handling
│ │ ├── auth.ts
│ │ ├── validate.ts
│ │ └── errorHandler.ts
│ ├── utils/ # Shared helpers
│ │ ├── logger.ts
│ │ └── constants.ts
│ ├── types/ # TypeScript type definitions
│ │ └── index.ts
│ └── app.ts # Express/Fastify app setup
├── tests/
│ ├── unit/ # Mirror src/ structure
│ │ └── services/
│ └── integration/ # API endpoint tests
│ └── users.test.ts
├── prisma/
│ └── schema.prisma # Database schema
├── CLAUDE.md # Project rules for Claude Code
├── .env.example
├── package.json
└── tsconfig.json
# CLAUDE.md excerpt for this structure:
# - Routes only handle HTTP (req/res). No business logic.
# - Services contain all business logic. No HTTP awareness.
# - Repositories handle all database queries via Prisma.
# - Tests mirror src/ structure. Co-located unit tests OK.
# - New feature = route + controller + service + repo + test.
このパターンをプロジェクト設定にコピーして適用してください。
実行プレビュー
REST API プロジェクト構成
REST API プロジェクト構成について
Claude Codeパターンは、複雑な開発シナリオに対応するための実証済みアーキテクチャ設計とワークフロー構造です。REST API プロジェクト構成は入門レベルのフォルダ構成パターンで、プロジェクトに合わせて応用できるテスト済みの再現可能なアプローチを提供し、より効率的で一貫した成果を実現します。