src/
├── api/
│   ├── __init__.py
│   ├── routes/                  # FastAPI 라우트 정의
│   │   ├── collection_routes.py # 콜렉션 관련 엔드포인트
│   │   ├── user_routes.py       # 사용자 관련 엔드포인트
│   │   └── sync_routes.py       # 동기화 관련 엔드포인트
│   └── schemas/                 # Pydantic을 통한 요청/응답 스키마 정의
│       ├── collection_schema.py
│       ├── user_schema.py
│       └── sync_schema.py
├── application/
│   ├── __init__.py
│   ├── services/                # 각 유스케이스에 따른 서비스 정의
│   │   ├── collection_service.py
│   │   ├── user_service.py
│   │   └── sync_service.py
│   └── commands/                # 요청이나 명령을 처리하는 핸들러들 (CQRS 패턴을 사용할 경우)
│       ├── create_collection.py
│       ├── retrieve_user_info.py
│       └── sync_data.py
├── domain/
│   ├── __init__.py
│   ├── models/                  # 도메인 모델(엔티티, VO)
│   │   ├── collection.py        # 단일, 복합 콜렉션에 관한 도메인 모델
│   │   ├── user.py              # 사용자 도메인 모델
│   │   └── sync.py              # 동기화 관련 도메인 모델
│   ├── services/                # 순수 도메인 서비스 (비즈니스 규칙)
│   │   ├── collection_service.py
│   │   ├── user_service.py
│   │   └── sync_service.py
│   └── exceptions/              # 도메인과 관련된 예외 처리
│       ├── invalid_identifier_exception.py
│       └── collection_not_found_exception.py
├── infrastructure/
│   ├── __init__.py
│   ├── persistence/             # 데이터베이스 관련 처리
│   │   ├── collection_repository.py
│   │   ├── user_repository.py
│   │   └── sync_repository.py
│   ├── external_apis/           # 외부 API 호출
│   │   ├── cms_api.py
│   │   └── agent_api.py
│   └── config/                  # 환경 설정 및 의존성 관리
│       ├── database.py          # MongoDB 연결 설정
│       └── app_settings.py
├── core/                        # 공통 유틸리티 및 설정
│   ├── __init__.py
│   ├── utils/                   # 유틸리티 함수
│   │   ├── logger.py            # 로깅 기능
│   │   └── time_utils.py        # 시간 관련 유틸
│   └── config.py                # 전역 설정 파일
└── shared_kernel/               # 도메인 간에 공유되는 핵심 개념
    ├── __init__.py
    ├── events.py                # 도메인 이벤트 처리 (CQRS, 이벤트 소싱 시)
    ├── value_objects.py         # VO (밸류 오브젝트)
    └── exceptions.py            # 공통 예외 처리