Skip to content

Conversation

@yummjin
Copy link
Member

@yummjin yummjin commented Jan 26, 2026

Summary

관련 있는 Issue를 태그해주세요. (e.g. closed, fixed, resolved, related, #100)

#224

Tasks

  • QA에서 발생한 오류를 수정하기 위해 Query Key Factory를 도입하고 revalidation을 체계적으로 수행하도록 변경했습니다.
  • UI를 일부 수정하였습니다.

To Reviewer

  • admin과 client의 작업 분리를 명확하게 하기 위해 src/adminsrc/client 로 나누고 아래에 각각 FSD를 적용했어요. 두 영역 모두에서 사용되는 기능의 경우 shared 에 남겨두었지만 아직 한 영역에서만 사용되는 기능이 남아있을 수 있어요. 점진적으로 리팩토링 할 예정입니다.
  • admin 프로젝트의 경우 shared에 너무 많은 기능이 들어있었고, 사용처를 파악한 뒤 사용되는 도메인 아래로 기능 로직을 옮겨두었습니다.
  • hook 디렉토리 사용 대신, model 디렉토리에 hook 과 type 선언을 같이 하도록 depth 를 평탄화하였습니다. (hook 의 경우 naming 으로 파일 역할 파악이 가능하기 때문입니다)
  • 자세한 내용은 트리 형식으로 파일 구조 아래에 적어두었습니다. 확인해 보시고 질문 있으시면 연락주세요.
apps/graduate/
├── 📂 routes/                      # TanStack Router 라우트 정의
├── 📂 shared/                      # 공통 코드 (전역적으로 사용)
│   ├── 📂 api/                     # API 클라이언트 (axios 인스턴스)
│   ├── 📂 config/                  # 설정 (날짜, 색상, 페이지네이션 등)
│   ├── 📂 constants/               # 상수 (엔드포인트, 라우트, 키 등)
│   ├── 📂 types/                   # 공통 타입 정의
│   ├── 📂 utils/                   # 유틸리티 함수
│   │   ├── token.ts                # 토큰 관리
│   │   ├── logout.ts               # 로그아웃
│   │   └── ...
│   ├── 📂 queries/                 # Query Key Factory
│   │   ├── notice.ts               # 공지사항 쿼리 키
│   │   ├── schedule.ts             # 일정 쿼리 키
│   │   ├── user.ts                 # 사용자 쿼리 키
│   │   └── student.ts              # 학생 쿼리 키
│   ├── 📂 hooks/                   # 공통 커스텀 훅 (점진적 삭제 예정)
│   ├── 📂 stores/                  # 전역 상태 (Zustand)
│   │   └── authStore.ts            # 인증 상태
│   ├── 📂 layouts/                 # 레이아웃 컴포넌트
│   │   ├── AdminLayout.tsx         # 관리자 레이아웃
│   │   └── ClientLayout.tsx        # 학생 레이아웃
│   └── 📂 ui/                      # 공통 UI 컴포넌트
│       ├── Button/
│       ├── Header/
│       ├── ...
│
├── 📂 client/                      # 학생(클라이언트) 전용 코드
│   └── 📂 widgets/                 # 복잡한 컴포넌트 (여러 feature 조합)
│       └── Header/                 # 학생용 헤더
│
└── 📂 admin/                       # 관리자 전용 코드
    ├── 📂 features/                # 기능별 모듈
    │   └── studentDetail/          # 학생 상세 정보
    │       ├── api/
    │       ├── model/
    │       ├── hooks/
    │       └── types/
    │
    ├── 📂 pages/                   # 페이지별 모듈
    │   ├── all/                    # 전체 학생 관리
    │   │   ├── ui/
    │   │   ├── model/
    │   │   ├── constants/
    │   │   ├── utils/
    │   │   └── types/
    │   ├── notice/                 # 공지사항 관리
    │   ├── schedule/               # 일정 관리
    │   ├── thesis/                 # 논문 관리
    │   ├── certification/          # 자격증 관리
    │   └── filePreview/            # 파일 미리보기
    │
    ├── 📂 entities/                # 도메인 엔티티
    │   ├── admin-schedule/         # 일정 엔티티
    │   ├── graduation-users/       # 졸업생 엔티티
    │   └── graduation-approval/    # 졸업 승인 엔티티
    │
    ├── 📂 widgets/                 # 복잡한 컴포넌트
    │   ├── sidebar/                # 관리자 사이드바
    │   ├── Table/                  # 테이블 위젯
    │   └── StudentAddModal/        # 학생 추가 모달
    │
    └── 📂 shared/                  # 관리자 전용 공통 코드
        ├── ui/                     # 관리자 전용 UI 컴포넌트
        │   ├── DataTable/          # 데이터 테이블
        │   ├── Toolbar/            # 툴바
        │   ├── TextEditor/         # 텍스트 에디터
        │   └── Container/
        ├── styles/                 # 관리자 전용 스타일
        ├── hooks/                  # 관리자 전용 훅
        └── types/                  # 관리자 전용 타입

@yummjin yummjin self-assigned this Jan 26, 2026
@yummjin yummjin requested a review from a team as a code owner January 26, 2026 07:24
@yummjin yummjin added the enhancement New feature or request label Jan 26, 2026
@vercel
Copy link

vercel bot commented Jan 26, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Review Updated (UTC)
aics-admin Ready Ready Preview, Comment Jan 26, 2026 7:24am
aics-client Ready Ready Preview, Comment Jan 26, 2026 7:24am

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jan 26, 2026

Important

Review skipped

Auto reviews are disabled on this repository.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

@seoJing seoJing left a comment

Choose a reason for hiding this comment

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

작업 수고 하셨습니다!

@seoJing seoJing merged commit 0eca5f2 into develop Jan 26, 2026
7 checks passed
@seoJing seoJing deleted the design/224 branch January 26, 2026 11:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants