- CEO : Chief Executive Officer
- PM : Project Manager
- FM : Frontend Manager
- BM : Backend Manager
( 네디플 사용자 제공 이미지 업로드 요망 )
- 사용자에게 네일아트 이미지를 제공하는 서비스
( Figma 업데이트 사진 업로드 요망 )
Project Architecture 작성 요망.
Homebrew가 설치되어 있지 않다면, 터미널을 열고 다음 명령어를 실행하여 Homebrew를 설치
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"brew install openjdk@17- Java 경로 확인
/usr/libexec/java_home -V- Intel mac: Homebrew는 /opt/homebrew에 설치
- Silicon mac: Homebrew는 /usr/local에 설치
ex)/opt/homebrew/opt/openjdk@17/libexec/openjdk.jdk/Contents/Home
- 쉘 프로파일 열기
- bash를 사용하는 경우:
nano ~/.bash_profile - zsh를 사용하는 경우 (macOS 기본 쉘):
nano ~/.zshrc
- 쉘 프로파일 내용 추가 jdk 경로와 일치하도록 설정
- bash를 사용하는 경우
export JAVA_HOME=/opt/homebrew/opt/openjdk@17/libexec/openjdk.jdk/Contents/Home export PATH=$JAVA_HOME/bin:$PATH
- zsh를 사용하는 경우
export JAVA_HOME=/usr/local/opt/openjdk@17/libexec/openjdk.jdk/Contents/Home export PATH=$JAVA_HOME/bin:$PATH
-
변경 사항 적용
source ~/.bash_profile
또는
source ~/.zshrc
java --version- Gradle 설치:
brew install gradle - Gradle 빌드:
./gradlew build - 서버실행:
./gradlew bootRun
서버가 성공적으로 시작되면, ‘http://localhost:8080'에서 접근 가능
- 일간 회의 진행 및 code review시에 사용.
- 회의 기록 기재를 위해 사용.
- 요청 사항이 생길 시에 사용.
- 민감하지 않은 자료 공유시에 사용.
- Error 발생시 팀별로 대응하기 위해 사용.
- 팀원간 긴급한 연락이 필요할 경우 사용.
- 팀원간 보안이 필요한 자료 이동의 경우 사용.
- 팀원에게 알릴 공지사항 전달 시 사용.
- 화면정의서를 공유하기 위해 사용. (화면정의서 sheet)
- 기능정의서를 공유하기 위해 사용. (기능정의서 sheet)
- 프론트엔드 팀원간의 진행상황 공유를 위해 사용 (프론트엔드 sheet)
- 프론트엔드 팀원과 백엔드 팀원간의 api 명세서 공유를 위해 사용. (API 명세서 sheet)
- 백엔드 팀원간의 진행상황 공유를 위해 사용 (백엔드 sheet)
- ERD 다이어그램 공유를 위해 사용 (ERD sheet)
- 테이블 명세서 공유를 위해 사용 (테이블명세서 sheet)
- 전체적인 타임테이블을 관리하기 위해 사용.
- issue를 생성하고 contributer를 할당하고 reviewer를 등록하기 위해 사용.
- Milestone 생성 (기한 기입 필수)
- Projects 에서 Draft 생성 후 issue화 (issue number 등록 및 issue milestone 연동)
- milestone 과 관련된 브랜치 생성 후 작업
- 작업 완료 후 issue 종료
- milestone 내의 모든 issue 종료 후 관련된 브랜치 develop merge
- main / develop 브랜치 기본 생성
- 브랜치명은 feature-기능명 으로 제작
- 브랜치명은 영어(소문자)만 허용
- main으로 PR 하는 것은 개발이 완료된 상황에만 PR
- 개발 중에는 devolop branch에만 PR
- PR 전 최소 1인 이상 승인 필수
- 적절한 커밋 접두사 작성 (영문 소문자)
- 커밋 메시지 내용 작성 (한글로 작성하되 간결하게)
- 내용 뒤에 이슈 (#이슈 번호)와 같이 작성하여 이슈 연결
접두사 설명 feat : 새로운 기능, 페이지, 모달, 고정 요소 구현 add : 에셋 파일 추가 (svg 파일, png 파일 등 public 에 추가된 에셋이 있을 때 사용) fix : 버그, 에러 수정 docs : 프로젝트 내 문서 추가 및 수정 spreadSheet : 스프레드 시트 추가 및 수정 style : CSS 수정 및 포맷팅 변경 refactor : 코드 리팩토링 test : 테스트 deploy : 배포 conf : 빌드, 환경 설정, config 파일 수정 시, 프레임 구축 시 chore : 기타 작업, yarn 패키지 추가 설치, 팀원 간 협의 점 획일 화 필요 시
- 제목은 '[Feat] 홈 페이지 구현'과 같이 작성합니다.
- [FEAT] : 새로운 기능, 페이지, 모달, 고정 요소 구현
- [ADD] : 에셋 파일 추가 (svg 파일, png 파일 등 public 에 추가된 에셋이 있을 때 사용)
- [FIX] : 버그, 에러 수정
- [DOCS] : 프로젝트 내 문서 추가 및 수정
- [SPREADSHEET] : 스프레드 시트 추가 및 수정
- [STYLE] : CSS 수정 및 포맷팅 변경
- [REFACTOR] : 코드 리팩토링
- [TEST] : 테스트 관련
- [DEPLOY] : 배포 관련
- [CONF] : 빌드, 환경 설정, config 파일 수정 시, 프레임 구축 시
- [CHORE] : 기타 작업, yarn 패키지 추가 설치, 팀원 간 협의 점 획일 화 필요 시
BE
- 패키지명 전체 소문자
- 클래스명, 인터페이스명 CamelCase
- 클래스 이름 명사 사용
- 상수명 SNAKE_CASE
- Controller, Service, Dto, Repository, mapper 앞에 접미사로 통일(ex. MemberController)
- service 계층 메서드명 create, update, find, delete로 CRUD 통일(ex. createMember)
- Test 클래스는 접미사로 Test 사용(ex. memberFindTest)
FE
- Event handler 사용 (ex. handle ~)
- export방식 (ex. export default ~)
- 화살표 함수 사용
- 반응형 웹 개발 지향
- Discord 활용
- 정기 회의 ( 주간, 일간 )
- 주간 회의 매주 월요일 10시에 진행하는걸로 대체 하고 만약 월요일이 공휴일 일 경우 익일로 대체.
- 일간 회의 매일 오전 10시 (필수), 오후 16시 진행 (선택).
- 일간 회의 (오전 10시) - 어제까지 무엇을 했고, 금일 무엇을 계획하고 있으며, 할 예정인지 복기하는 시간.
- 일간 회의 (오후 16시) - 금일 오전 10시부터 진행한 사항에대해 복기를 하고, 16시 이후부터 진행할 사항 복기하는 시간.
- 각 팀의 팀장에게 우선 보고하고, 상의 후 1:1 Direct 방식으로 해당 문제와 관련된 사람과 Small Error handling.
- 1:1 Direct 방식으로 해결이 되지 않을 시, Error로 판단 후, Issue를 먼저 생성하고 팀:팀 방식으로 해결.
1:1 Direct 방식으로 해결하는 문제 => Small Error 팀:팀 방식으로 해결하는 문제 => Error (사건화하여 issue 생성.)