Skip to content

[Init] 폴더구조 세팅#9

Merged
jeonghoon11 merged 3 commits intodevelopfrom
init/directory-architecture/#8
Nov 16, 2025
Merged

[Init] 폴더구조 세팅#9
jeonghoon11 merged 3 commits intodevelopfrom
init/directory-architecture/#8

Conversation

@jeonghoon11
Copy link
Member

@jeonghoon11 jeonghoon11 commented Nov 16, 2025

🔍 관련 이슈 (Related Issues)

📝 변경 사항 요약 (Summary)

  • FSD(Feature-Sliced Design) 아키텍처 기반 폴더 구조 설정
  • pages, widgets, shared 레이어 구성
  • 각 레이어별 세그먼트 구조(components, hooks, utils, types, constants 등) 적용

🎯 작업 내용 상세 (Details)

티켓베이 클라이언트팀은 도메인 단위로 관심사를 분리하기 위해 FSD 아키텍처를 선택했어요.
기능별로 코드를 분리하여 서로 다른 도메인을 동시에 개발해도 충돌 가능성을 낮추기 위함이에요.

구조

src/
├── app/              # 애플리케이션 초기화
├── pages/            # 페이지 레이어
   ├── home/
   ├── select-ticket/
   └── ticket-detail/
├── widgets/          # 위젯 레이어
   ├── home/
   ├── select-ticket/
   └── ticket-detail/
└── shared/           # 공유 레이어
    ├── apis/
    ├── components/
    ├── constants/
    ├── hooks/
    ├── router/
    ├── styles/
    ├── types/
    └── utils/

크게 봤을때 주요 레이어에 대해 설명해드릴게요.

pages는 라우팅 단위의 페이지 컴포넌트에요. 여기에는 로직과 관련된 코드가 들어가는것이 아닌 widgets에서 컴포넌트 단위로 개발을 한 뒤 조합하여 구성해요.
widgets는 도메인별로 독립적인 UI 블록을 개발하는 컴포넌트 모임이에요.
shared는 프로젝트 전반에서 공유되는 공통 컴포넌트, 유틸리티, 타입, API등을 관리해요.

추가로 이슈 탬플릿이 작동하지 않는 이슈가 있었어요.
ISSUE_TEMPLATE 폴더를 만들고 안에 넣어야 작동을 하는 간단한 작업이어서 이번 PR에서 수정했어요.

@jeonghoon11 jeonghoon11 self-assigned this Nov 16, 2025
@jeonghoon11 jeonghoon11 linked an issue Nov 16, 2025 that may be closed by this pull request
Copy link
Collaborator

@Sohyunnnn Sohyunnnn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

수고 많으셨습니다 👍👍👍

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

pr탬플릿이 두개로 보이는 게 맞을까요 ? 맞다면 하나 삭제 부탁드립니다!

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

먼저 캐치해주셔서 감사해요!
깃에서 파일명이나 폴더명을 대소문자 변경해도 변경점이 안잡혀서 대소문자 구분하는 명령어를 썼더니 저의 작업공간에서는 하나인데 PR에는 두개로 올라와있네요..
다음 PR 작성하시는분이 하나 제거하셔야될것 같아요 🥹

@u-zzn
Copy link
Member

u-zzn commented Nov 16, 2025

폴더구조 초기세팅 하시느라 수고 많으셨습니다 👀👍
FSD 아키텍처 특성에 맞게 서비스 잘 구현해보도록 하겠습니다 :)

다만 widgets 역할이 넓어 보여서 FSD 기본 구조인 entities/features/widgets 중 어떤 범위까지 widgets가 담당할지 저희끼리 본격적인 개발 전에 이야기 나눠보면 좋을 것 같습니다 🙂

Copy link
Member Author

@jeonghoon11 jeonghoon11 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

다만 widgets 역할이 넓어 보여서 FSD 기본 구조인 entities/features/widgets 중 어떤 범위까지 widgets가 담당할지 저희끼리 본격적인 개발 전에 이야기 나눠보면 좋을 것 같습니다 🙂

이전 프로젝트를 진행할 때 widgets 하나만으로도 충분하다고 느꼈어서 entities/features가 필요 없을것 같다고 판단해서 빼고 구성해봤어요! 한번 이야기 나눠보면 좋을 내용일것 같네요!!

@jeonghoon11 jeonghoon11 merged commit 0da8883 into develop Nov 16, 2025
1 check passed
@jeonghoon11 jeonghoon11 deleted the init/directory-architecture/#8 branch November 16, 2025 09:20
@jeonghoon11 jeonghoon11 added 🦊 정훈 🎉 init 프로젝트 세팅 labels Nov 16, 2025
@jeonghoon11
Copy link
Member Author

jeonghoon11 commented Nov 17, 2025

다만 widgets 역할이 넓어 보여서 FSD 기본 구조인 entities/features/widgets 중 어떤 범위까지 widgets가 담당할지 저희끼리 본격적인 개발 전에 이야기 나눠보면 좋을 것 같습니다 🙂

이전 프로젝트를 진행할 때 widgets 하나만으로도 충분하다고 느꼈어서 entities/features가 필요 없을것 같다고 판단해서 빼고 구성해봤어요! 한번 이야기 나눠보면 좋을 내용일것 같네요!!

유진님 말씀대로 도메인 단위 개발과 관심사 분리를 위해 entities 폴더는 만드는게 좋아보이네요! 감사해요!!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🎉 init 프로젝트 세팅 🦊 정훈

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Init] 폴더구조 초기세팅

3 participants