com.yourcompany.ecommerce/
├── common/                      // 공통 컴포넌트
│   ├── config/                  // 애플리케이션 설정
│   │   ├── SecurityConfig.java
│   │   ├── SwaggerConfig.java
│   │   └── WebMvcConfig.java
│   ├── exception/               // 예외 처리
│   │   ├── GlobalExceptionHandler.java  // ControllerAdvice
│   │   ├── BusinessException.java
│   │   ├── ResourceNotFoundException.java
│   │   └── ErrorResponse.java
│   ├── infrastructure/          // 인프라스트럭처 관련 기능
│   │   ├── storage/             // 저장소 관련 기능
│   │   │   ├── config/          // 저장소 설정
│   │   │   │   └── S3Config.java
│   │   │   ├── dto/             // 저장소 관련 DTO
│   │   │   │   └── FileUploadResultDTO.java
│   │   │   ├── S3Service.java   // S3 서비스 인터페이스
│   │   │   └── impl/
│   │   │       └── S3ServiceImpl.java  // S3 서비스 구현체
│   │   ├── messaging/           // 메시징 관련 (필요시)
│   │   └── cache/               // 캐싱 관련 (필요시)
│   ├── util/                    // 유틸리티 클래스
│   │   ├── DateUtils.java
│   │   └── StringUtils.java
│   └── security/                // 보안 관련
│       ├── JwtTokenProvider.java
│       └── UserDetailsServiceImpl.java
│
├── user/                        // 회원 도메인
│   ├── controller/              // 컨트롤러 계층
│   │   └── UserController.java
│   ├── service/                 // 서비스 계층
│   │   ├── UserService.java
│   │   └── impl/
│   │       └── UserServiceImpl.java
│   ├── repository/              // 리포지토리 계층
│   │   └── UserRepository.java
│   └── model/                   // 모델
│       ├── entity/              // 엔티티
│       │   ├── User.java
│       │   └── Address.java
│       └── dto/                 // DTO
│           ├── request/
│           │   ├── UserCreateDTO.java
│           │   └── UserUpdateDTO.java
│           └── response/
│               └── UserResponseDTO.java


  • No labels