Skip to content
SanginJeong edited this page Aug 14, 2025 · 25 revisions

1️⃣ 팀 규칙 (Ground Rule)

  1. 월~토 오전 9시 짧게 데일리 스크럼을 진행한다.
  2. 스크럼 이후 오늘 할 일들을 issue 생성한다. (생성 시 assignees 본인체크, Rolling-Project 체크)
image
  1. 오후 4시부터 코어타임 2시간을 가진다.
  2. 회의시간이 아닌 프로젝트 관련 대화는 디스코드 프로젝트 스레드에서 한다.
  3. 스레드를 확인한 사람은 👀 표시한다.
  4. 본인이 작업하고 있는 칸반보드는 상시 업데이트한다.
image

2️⃣ Git Branch 전략

브랜치

브랜치는 main, develop, feature

  • main : 최종 코드 및 배포브랜치
  • develop : 기능 개발 통합 브랜치 (feature 브랜치에서 개발 완료된 기능을 병합)
  • feature : 개별 기능 개발 브랜치 (작업 단위별로 생성 후 완료 시 develop에 병합)
image

작업 시작 시

git pull origin develop
git checkout -b feature/A
--- 작업 및 커밋 ---
git push origin feature/A

featureA -> develop  PR 날리기

PR 규칙 및 리뷰

PR 규칙

  • PR 컨벤션에 맞게 작성한다.

RuleSet Branch

develop PR Rules

  • Restrict deletions
  • Require a pull request before merging (Required Approve : 2)
  • Dismiss stale pull request approvals when new commits are pushed
  • Block force pushes

main, develop push rules

  • Restrict deletions
  • Require a pull request before merging
  • Block force pushes PR 컨벤션
  • PR 제목은 [issue번호] + issue 제목 으로 기입한다.
  • 리뷰어를 설정한다.

🔀 PR 내용 요약
어떤 작업을 했는지 간단하게 설명

✅ 작업 내용 상세
기능 설명
어떤 이슈를 해결했는지
변경 사항이 사용자에게 어떻게 보이는지

📷 스크린샷 (UI 변경 시)
📌 참고 사항
리뷰 시 유의할 점, 남겨둔 TODO 등

🤝 관련 이슈
관련된 issue 번호 또는 작업 흐름
image

리뷰

  • PR시 반드시 리뷰어 2명을 설정하고 스레드에 태그한다.
  • 리뷰어가 도저히 시간이 안나면 양해를 구하고 리뷰어 교체를 요청한다
  • 두명의 리뷰어 모두 리뷰를 approve 하면 마지막 리뷰어가 merge한다.
  • PR 승인 이후 새로운 커밋이 해당 PR에 추가되면 이전 승인 무효화처리한다.

3️⃣ 컨벤션

네이밍 컨벤션

변수

  • camelCase

불린형 변수일 때

  • is~
  • has~

상수

  • SNAKE_CASE

함수

  • 동사 + 목적어 형태의 camelCase
  • 함수는 모두 화살표 함수로 통일한다. (this를 써야하는 상황 예외)

함수 예시

핸들러 관련 함수

  • handleClick + ~
  • handleChange + ~

폼 관련 함수

  • submit + ~

state 상태 변경 함수

  • set + ~

api 관련 함수

  • get + ~
  • post + ~
  • put/patch + ~
  • delete + ~

컴포넌트

컴포넌트는 화살표 함수로 통일한다.

const Component = () => {
  return <><>
};

export default Component;

폴더명

  • 일반폴더 : kebab-case (components, pages, utils, hooks, store)
  • 컴포넌트,페이지폴더 : PascalCase

파일명

일반 js파일

  • camelCase

예시

api관련: get + ~ .js

hooks관련: use + ~.js

컴포넌트 jsx

  • PascalCase

예시

HomePage.jsx

상수파일(constant)

``

이미지

aseets 폴더에 저장해서 불러온다

  • camelCase

예시

  • icName
  • bgName
  • imgName

커밋 컨벤션

깃모지 사용

태그 설명
✨ Feat 새로운 기능 추가
🐛 Fix 버그 수정
📝 Docs 문서 내용 변경
🔥 Remove 파일이나 폴더 삭제
🚚 Rename 파일 및 폴더 이름 변경, 구조 이동
🎨 Style 포맷팅, 세미콜론 누락 등 코드 동작에 영향 없는 변경
♻️ Refactor 코드 리팩토링
📦️ Chore 빌드 수정, 패키지 설정 등 운영 코드 변경이 없는 작업

코드 컨벤션

ESLint, Prettier

prettier 설정

  "singleQuote": "false",
  "semi": "true",
  "useTabs": "false",
  "tabWidth": 2,
  "trailingComma": "all",
  "printWidth": 120,
  "arrowParens": "avoid",
  "endOfLine": "auto"
  "bracketSpacing": true,
  "jsxSingleQuote": false,
  "proseWrap": "preserve",

4️⃣ 기술 스택

  • TailwindCss
  • React
  • React-Router
  • axios