<aside> 📍 프로젝트의 전반적인 구조 및 src 폴더 하위 구조, 컴포넌트 파일의 위치, 네이밍 규칙, 관련 스타일 및 테스트 파일의 규칙, 스타일 파일의 위치, 네이밍 규칙, CSS 전처리기 사용 여부, 유틸리티와 서비스 파일 등(필요 시 추가 혹은 제외 해주세요)의 위치와 네이밍 규칙을 정의해보세요.

</aside>

프로젝트 전반적인 구조

src 폴더 하위 구조

컴포넌트 구조 (공통 컴포넌트 및 일반 컴포넌트)

스타일 파일 구조

유틸리티 및 서비스 파일 구조

커스텀 훅 파일 구조

파일 구조

image.png

src/
├── app/
│   ├── layout.tsx                # 전체 앱 공통 레이아웃 (ThemeProvider 등)
│   ├── page.tsx                  # 1. 랜딩 Page → "/"
│   │
│   ├── auth/                     # 인증 관련 라우트
│   │   ├── user/
│   │   │   ├── login/page.tsx    # 2. 일반유저 로그인
│   │   │   └── signup/page.tsx   # 3. 일반유저 회원가입
│   │   └── mover/
│   │       ├── login/page.tsx    # 13. 기사님 로그인
│   │       └── signup/page.tsx   # 12. 기사님 회원가입
│   │
│   ├── customer/                 # 일반 유저 전용 영역
│   │   ├── layout.tsx            # 로그인 + role === "CUSTOMER" 검사
│   │   ├── profile/
│   │   │   ├── register/page.tsx # 4. 프로필 등록
│   │   │   └── edit/page.tsx     # 5. 프로필 수정
│   │   ├── request/
│   │   │   └── new/page.tsx      # 6. 견적 요청
│   │   ├── moverlist/
│   │   │   ├── page.tsx          # 7. 기사님 찾기
│   │   │   └── [moverId]/page.tsx# 7-1. 기사님 상세 정보
│   │   ├── estimate/
│   │   │   ├── page.tsx              # 8. 내 견적 관리
│   │   │   └── [estimateId]/page.tsx # 8-1. 받은 견적 상세
│   │   ├── wishlist/page.tsx         # 9. 찜한 기사님
│   │   └── reviews/page.tsx          # 10. 이사 리뷰
│   │
│   └── mover/                    # 기사님 전용 영역
│       ├── layout.tsx            # 로그인 + role === "MOVER" 검사
│       ├── profile/
│       │   ├── register/page.tsx # 14. 프로필 등록
│       │   └── edit/page.tsx     # (선택) 프로필 수정
│       ├── requests/page.tsx     # 15. 받은 요청
│       ├── estimate/page.tsx     # 16. 내 견적 관리
│       ├── dashboard/page.tsx    # 17. 마이 페이지
│       └── reviews/page.tsx      # 18. 받은 리뷰
│
├── components/
│   ├── shared/                   # 공통 UI 컴포넌트
│   ├── auth/   
│   ├── customer/              
│   │   ├── profile/
│   │   ├── request/
│   │   ├── moverlist/
│   │   ├── estimate/
│   │   ├── wishlist/
│   │   └── reviews/
│   └── mover/                   
│       ├── profile/
│       ├── request/
│       ├── movers/
│       ├── estimate/
│       ├── wishlist/
│       └── reviews/
│
├── hooks/                        # 커스텀 훅
│   ├── auth/
│   ├── customer/               
│   │   ├── profile/
│   │   ├── request/
│   │   ├── moverlist/
│   │   ├── estimate/
│   │   ├── wishlist/
│   │   └── reviews/
│   └── mover/                   
│       ├── profile/
│       ├── request/
│       ├── movers/
│       ├── estimate/
│       ├── wishlist/
│       └── reviews/
│
├── api/                          # API client
│   ├── axiosclient/
│   ├── auth/ 
│   ├── customer/ 
│   └── mover/                       
├── store/                        # zustand/recoil 상태 관리
├── schema/  
├── utils/                           
├── types/                        # 타입 정의 모음
└── tests/                        # 테스트 코드