🧑‍🤝‍🧑팀원 소개

최고 운영 책임자 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

📌브랜치 네이밍