![]() |
![]() |
![]() |
|---|---|---|
| 강민서 | 이상민 | 장문경 |
git clone https://github.com/URISIK/FRONTEND.git
pnpm install
pnpm run dev각 태그를 이용하여 어떤 내용이 변경되었는지를 나타내는 규칙입니다.
[FEAT]: 새로운 기능 추가[DESIGN]: 디자인 수정[REFACTOR]: 리팩토링[BUGFIX]: 버그 에러 수정[MODIFY]: 코드 수정[STYLE]: 코드 포맷[CHORE]: 빌드 수정, 패키지 매니저 설정[RENAME]: 파일 혹은 폴더명 수정[REMOVE]: 파일 혹은 폴더 삭제[MERGE]: Pull 과정 중 현재 commit과 병합이 일어난 경우[BUILD]: 새로운 라이브러리 혹은 패키지 추가[DOCS]: 문서 작성
브랜치 이름을 지정할 때의 규칙입니다.
- 영어로 통일, 케밥 케이스로 작성
- 작성 형식 : 브랜치 유형/브랜치명/#이슈번호
- 작성 예시
- feature/login-page/#12
- docs/README.md/#25
코드에서 이름을 지정할 때의 케이스 규칙입니다.
PascalCase: 컴포넌트 함수, 클래스, 타입, 인터페이스, 컴포넌트 파일camelCase: 변수, 일반함수UPPER_CASE: 상수kebab-case: 파일,폴더 (컴포넌트 파일만 예외로 PascalCase로 설정)
-
api 폴더 내 interface:
응답-타입명+Response / 매개변수: 타입명+Params
-
함수: HTTP 메서드 종류+함수명
- react가 포함된 import가 가장 최상단에 위치하게 합니다.
- 알파벳을 기준으로 오름차순으로 정렬됩니다.
- 그룹사이에 최소 한 줄 이상의 줄 바꿈을 강제합니다.
컴포넌트: 하단에 default export
const ProductList = () => {
return <div>상품 리스트</div>;
};
export default ProductList;유틸 함수: 각 함수를 named export
export const fetchItems = () => {
/* ... */
};
export const updateUser = () => {
/* ... */
};- SPA 환경에서 효율적인 클라이언트 사이드 라우팅 구현
- Protected Route 등을 활용한 인증 기반 접근 제어 가능
- 선언형 애니메이션 라이브러리
- 부드러운 인터랙션 및 페이지 전환 효과 구현
- UX 향상을 위한 자연스러운 모션 처리
- 터치 기반 슬라이드 UI 구현에 최적화
- 모바일 친화적인 인터랙션 지원
- 온보딩 / 홈페이지 등에 사용
- 로딩 상태를 직관적으로 표현하기 위한 경량 로딩 컴포넌트
- 사용자 액션에 대한 즉각적인 피드백 제공
- 전역 에러 처리 및 성공/실패 알림 구현에 적합
- 전역 상태 관리 라이브러리
- 서버 상태(Server State) 관리에 특화
- 캐싱, 재요청, 무한 스크롤, 로딩/에러 상태 자동 관리
- API 통신 로직과 UI 로직 분리 가능
- HTTP 요청/응답 인터셉터를 통한 토큰 처리 및 전역 에러 핸들링 가능
- REST API 통신에 적합
- 불변성을 유지하면서 직관적인 상태 업데이트 가능
- 복잡한 객체 상태 관리 시 가독성 향상
- API 요청/응답 데이터의 런타임 유효성 검증
- 타입 안정성과 실제 데이터 검증을 동시에 보장
- 가볍고 직관적인 날짜 라이브러리
- 날짜 포맷팅 및 연산 처리에 사용
- 캘린더 UI 구현에 최적화
- 범위 선택(range) 기능 지원
- 무한 스크롤 구현
- 성능을 고려한 Lazy Loading 처리 가능
- SVG 파일을 React 컴포넌트처럼 사용 가능
- 아이콘 재사용성 및 스타일링 편의성 향상


