✨최고 운영 책임자 COO 겸 팀장 김석주
✨최고 지식경영 책임자 CKO 신수영
✨최고 기술 책임자 CTO 오원주
✨최고 관리 책임자 CAO 황민호
화려하고 멋진 기술이 아닌 핵심 기능을 커뮤니케이션을 잘 하면서 완성하는 것을 목표로 한다.
언어 | TypeScript |
---|---|
라이브러리 | React |
상태관리 | Redux-toolkit, Tanstackquery |
번들러 | Vite |
스타일링 | css, styled components, tailwind UI |
협업 툴 | Notion, Slack, Discord, Github |
API | axios |
코드 포맷팅 | eslint, prettier, airbnb Rule |
Commit 규칙 | https://www.notion.so/1bb7b196eadb467bbd249b6a97f23cdf?pvs=4#881d2369358e4b3184b0612b0bd15ed1 |
브랜치 전략 | Git Flow |
노드 버전 | node (20.10.0 LTS), npm(10.2.3) |
라우터 | react-router |
배포 툴 | Vercel, Gabia(도메인) |
규칙 | 설명 | 비고 |
---|---|---|
풀네임을 사용하도록 한다. | btnX buttonO | |
함수 표현식 사용 | 변수 혹은 타입 | |
export const func = () => {} |
컴포넌트, 페이지 const func = () ⇒ {} export func | | | src경로는 @를 사용합니다. | tsconfig.json, vite.config.ts 설정 필요 | | | 함수 네이밍 규칙_세부항목 | prop -> onChangeHandler func -> handleChange
init, props 같은 약속된 축약어 허용 | 5어절 이상이면 PR시 의논 | | eslint, prettier 설정 | airbnb 기반 설정, 필요한 경우 airbnb 기반에 추가로 설정 | | | css 단위는 rem으로 통일한다. | | px | | 주석여부 | 필요할 경우 함수 혹은 변수 정의 상단에 기입하기
main 브랜치에 병합시 모든 주석 제거 dev, feature브랜치에는 주석 유지 | | | 상수 관리 | constants 폴더에서 index.ts 파일로 관리한다. | | | 스타일 상수 관리 | styles 폴더에 theme.ts 파일을 정의해서 사용한다. | | | 컴포넌트 export 방식 | 한 디렉토리 폴더에 있는 컴포넌트는 index.ts 파일에서 export 하도록 한다. | | | type 선언 방식 | | |
상수 | 전체 대문자 + 스네이크 케이스 | TOTAL_USER = 3000 |
---|---|---|
변수 | 카멜케이스 | |
함수 | 카멜케이스, 동사를 처음에 작성 | getValue, onChange … |
타입 | T + 파스칼 케이스 | type TPost = { … } |
인터페이스 | I + 파스칼 케이스 | interface ISomeInterface { … } |
유니언 타입을 사용해야하는 경우에만 타입을 사용하고 이외는 Interface를 지향한다. | ||
api | 원주님 케이스 _(대문자) | 간★지 ex) _GET |