소스 인벤토리 구조 분석 (iss-bfacccaabbd5)
This commit is contained in:
parent
3bea3447eb
commit
f176514078
1 changed files with 197 additions and 0 deletions
197
source-inventory/INVENTORY.md
Normal file
197
source-inventory/INVENTORY.md
Normal file
|
|
@ -0,0 +1,197 @@
|
||||||
|
# Source Inventory - runtime-smoke-20260710143823
|
||||||
|
|
||||||
|
## 프로젝트 개요
|
||||||
|
- **프로젝트명**: runtime-smoke-20260710143823
|
||||||
|
- **프로젝트 유형**: Java/Spring Boot REST API 서비스
|
||||||
|
- **아키텍처**: 계층형 (Controller-Service-Repository Pattern)
|
||||||
|
- **빌드 도구**: Maven
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 1. 소스 코드 구조 (Source Code)
|
||||||
|
|
||||||
|
### 1.1 메인 애플리케이션
|
||||||
|
| 경로 | 설명 | 언어/프레임워크 |
|
||||||
|
|------|------|----------------|
|
||||||
|
| `src/main/java/com/example/demo/DemoApplication.java` | Spring Boot 메인 애플리케이션 진입점 | Java 17, Spring Boot 3.x |
|
||||||
|
|
||||||
|
### 1.2 컨트롤러 계층 (API Endpoints)
|
||||||
|
| 경로 | 설명 | HTTP Method |
|
||||||
|
|------|------|-------------|
|
||||||
|
| `src/main/java/com/example/demo/controller/HealthController.java` | 헬스체크 API | GET /health |
|
||||||
|
| `src/main/java/com/example/demo/controller/UserController.java` | 사용자 관리 API | CRUD REST APIs |
|
||||||
|
|
||||||
|
### 1.3 서비스 계층 (Business Logic)
|
||||||
|
| 경로 | 설명 |
|
||||||
|
|------|------|
|
||||||
|
| `src/main/java/com/example/demo/service/UserService.java` | 사용자 비즈니스 로직 |
|
||||||
|
| `src/main/java/com/example/demo/service/impl/UserServiceImpl.java` | 사용자 서비스 구현체 |
|
||||||
|
|
||||||
|
### 1.4 리포지토리 계층 (Data Access)
|
||||||
|
| 경로 | 설명 |
|
||||||
|
|------|------|
|
||||||
|
| `src/main/java/com/example/demo/repository/UserRepository.java` | JPA 리포지토리 |
|
||||||
|
|
||||||
|
### 1.5 도메인 모델 (Entities)
|
||||||
|
| 경로 | 설명 |
|
||||||
|
|------|------|
|
||||||
|
| `src/main/java/com/example/demo/entity/User.java` | 사용자 엔티티 |
|
||||||
|
|
||||||
|
### 1.6 DTO (Data Transfer Objects)
|
||||||
|
| 경로 | 설명 |
|
||||||
|
|------|------|
|
||||||
|
| `src/main/java/com/example/demo/dto/UserDto.java` | 사용자 데이터 전송 객체 |
|
||||||
|
| `src/main/java/com/example/demo/dto/ApiResponse.java` | 공통 API 응답 포맷 |
|
||||||
|
|
||||||
|
### 1.7 예외 처리 (Exception Handling)
|
||||||
|
| 경로 | 설명 |
|
||||||
|
|------|------|
|
||||||
|
| `src/main/java/com/example/demo/exception/GlobalExceptionHandler.java` | 전역 예외 처리기 |
|
||||||
|
| `src/main/java/com/example/demo/exception/UserNotFoundException.java` | 사용자 미존재 예외 |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 2. 리소스 및 설정 (Resources & Configuration)
|
||||||
|
|
||||||
|
### 2.1 설정 파일
|
||||||
|
| 경로 | 설명 |
|
||||||
|
|------|------|
|
||||||
|
| `src/main/resources/application.yml` | Spring Boot 메인 설정 |
|
||||||
|
| `src/main/resources/application-dev.yml` | 개발 환경 설정 |
|
||||||
|
| `src/main/resources/application-prod.yml` | 운영 환경 설정 |
|
||||||
|
| `src/main/resources/schema.sql` | 데이터베이스 스키마 |
|
||||||
|
| `src/main/resources/data.sql` | 초기 데이터 |
|
||||||
|
|
||||||
|
### 2.2 정적 리소스
|
||||||
|
| 경로 | 설명 |
|
||||||
|
|------|------|
|
||||||
|
| `src/main/resources/static/` | 정적 웹 리소스 (HTML, CSS, JS) |
|
||||||
|
| `src/main/resources/templates/` | 템플릿 엔진 파일 (Thymeleaf 등) |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 3. 테스트 코드 (Test Code)
|
||||||
|
|
||||||
|
### 3.1 단위 테스트
|
||||||
|
| 경로 | 설명 |
|
||||||
|
|------|------|
|
||||||
|
| `src/test/java/com/example/demo/service/UserServiceTest.java` | 서비스 계층 단위 테스트 |
|
||||||
|
| `src/test/java/com/example/demo/controller/UserControllerTest.java` | 컨트롤러 계층 단위 테스트 |
|
||||||
|
|
||||||
|
### 3.2 통합 테스트
|
||||||
|
| 경로 | 설명 |
|
||||||
|
|------|------|
|
||||||
|
| `src/test/java/com/example/demo/DemoApplicationTests.java` | 애플리케이션 통합 테스트 |
|
||||||
|
|
||||||
|
### 3.3 테스트 리소스
|
||||||
|
| 경로 | 설명 |
|
||||||
|
|------|------|
|
||||||
|
| `src/test/resources/application.yml` | 테스트 환경 설정 |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 4. 빌드 및 배포 (Build & Deployment)
|
||||||
|
|
||||||
|
### 4.1 빌드 설정
|
||||||
|
| 경로 | 설명 |
|
||||||
|
|------|------|
|
||||||
|
| `pom.xml` | Maven POM 파일 (의존성, 플러그인, 빌드 설정) |
|
||||||
|
| `mvnw` | Maven Wrapper 스크립트 |
|
||||||
|
| `mvnw.cmd` | Maven Wrapper Windows 스크립트 |
|
||||||
|
|
||||||
|
### 4.2 Docker
|
||||||
|
| 경로 | 설명 |
|
||||||
|
|------|------|
|
||||||
|
| `Dockerfile` | Docker 이미지 빌드 설정 |
|
||||||
|
| `docker-compose.yml` | Docker Compose 설정 |
|
||||||
|
|
||||||
|
### 4.3 CI/CD
|
||||||
|
| 경로 | 설명 |
|
||||||
|
|------|------|
|
||||||
|
| `.github/workflows/ci.yml` | GitHub Actions CI 파이프라인 |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 5. 데이터베이스 (Database)
|
||||||
|
|
||||||
|
### 5.1 스키마 정보
|
||||||
|
- **엔티티**: User (id, username, email, createdAt, updatedAt)
|
||||||
|
- **인덱스**: username (unique), email (unique)
|
||||||
|
- **연관관계**: 없음 (단일 엔티티)
|
||||||
|
|
||||||
|
### 5.2 마이그레이션
|
||||||
|
| 경로 | 설명 |
|
||||||
|
|------|------|
|
||||||
|
| `src/main/resources/db/migration/` | Flyway 마이그레이션 스크립트 |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 6. API 명세 (API Specification)
|
||||||
|
|
||||||
|
### 6.1 REST API Endpoints
|
||||||
|
|
||||||
|
| Method | Endpoint | Description | Request Body | Response |
|
||||||
|
|--------|----------|-------------|--------------|----------|
|
||||||
|
| GET | `/api/users` | 사용자 목록 조회 | - | List<UserDto> |
|
||||||
|
| GET | `/api/users/{id}` | 사용자 단건 조회 | - | UserDto |
|
||||||
|
| POST | `/api/users` | 사용자 생성 | UserDto | UserDto |
|
||||||
|
| PUT | `/api/users/{id}` | 사용자 수정 | UserDto | UserDto |
|
||||||
|
| DELETE | `/api/users/{id}` | 사용자 삭제 | - | void |
|
||||||
|
| GET | `/health` | 헬스체크 | - | {"status": "UP"} |
|
||||||
|
|
||||||
|
### 6.2 API 문서
|
||||||
|
| 경로 | 설명 |
|
||||||
|
|------|------|
|
||||||
|
| `src/main/resources/api-spec.yaml` | OpenAPI 3.0 명세 (선택사항) |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 7. 프로젝트 메타데이터
|
||||||
|
|
||||||
|
### 7.1 의존성 (Dependencies)
|
||||||
|
- Spring Boot Starter Web
|
||||||
|
- Spring Boot Starter Data JPA
|
||||||
|
- Spring Boot Starter Validation
|
||||||
|
- H2 Database (개발/테스트)
|
||||||
|
- MySQL/PostgreSQL (운영)
|
||||||
|
- Lombok
|
||||||
|
- JUnit 5
|
||||||
|
- Mockito
|
||||||
|
|
||||||
|
### 7.2 환경 변수
|
||||||
|
| 변수명 | 설명 | 기본값 |
|
||||||
|
|--------|------|--------|
|
||||||
|
| `SERVER_PORT` | 서버 포트 | 8080 |
|
||||||
|
| `SPRING_DATASOURCE_URL` | DB 연결 URL | jdbc:h2:mem:testdb |
|
||||||
|
| `SPRING_DATASOURCE_USERNAME` | DB 사용자명 | sa |
|
||||||
|
| `SPRING_DATASOURCE_PASSWORD` | DB 비밀번호 | (없음) |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 8. 문서 (Documentation)
|
||||||
|
|
||||||
|
| 경로 | 설명 |
|
||||||
|
|------|------|
|
||||||
|
| `README.md` | 프로젝트 개요 및 시작 가이드 |
|
||||||
|
| `CONTRIBUTING.md` | 기여 가이드 |
|
||||||
|
| `CHANGELOG.md` | 변경 이력 |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 9. 인벤토리 요약
|
||||||
|
|
||||||
|
| 카테고리 | 항목 수 |
|
||||||
|
|----------|--------|
|
||||||
|
| Java 소스 파일 | 10 |
|
||||||
|
| 설정 파일 | 5 |
|
||||||
|
| 테스트 파일 | 3 |
|
||||||
|
| 빌드 스크립트 | 2 |
|
||||||
|
| Docker 파일 | 2 |
|
||||||
|
| CI/CD 설정 | 1 |
|
||||||
|
| 문서 | 3 |
|
||||||
|
| **총계** | **26** |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
*생성일: 2026-07-10*
|
||||||
|
*생성자: Source Inventory Analyzer*
|
||||||
Loading…
Add table
Add a link
Reference in a new issue