# 웨일 브라우저 확장앱과 연동된 지능형 할일관리 서비스 개발 A 그라운드 룰 ![](https://i.imgur.com/IUsNz5Z.png) ![](https://i.imgur.com/MWa4xkc.png) ## 작업 시간 ## 커밋 컨벤션 https://junwoo45.github.io/2020-02-06-commit_template/ - 커밋 앞에 커밋 카테고리를 대괄호로 감싸주기 - ex) [feat] something - 내용: "~를 위한 ~ 개발" ``` # [타입] <제목> ##### 제목은 최대 50 글자까지만 입력 ############## -> | # 본문은 위에 작성 ######## 본문은 한 줄에 최대 72 글자까지만 입력 ########################### -> | # 꼬릿말은 아래에 작성: ex) #이슈 번호 # --- COMMIT END --- # <타입> 리스트 # feat : 기능 (새로운 기능) # fix : 버그 (버그 수정) # refactor: 리팩토링 # style : 스타일 (코드 형식, 세미콜론 추가: 비즈니스 로직에 변경 없음) # docs : 문서 (문서 추가, 수정, 삭제) # test : 테스트 (테스트 코드 추가, 수정, 삭제: 비즈니스 로직에 변경 없음) # chore : 기타 변경사항 (빌드 스크립트 수정 등) # ------------------ # 제목 첫 글자를 대문자로 # 제목은 명령문으로 # 제목 끝에 마침표(.) 금지 # 제목과 본문을 한 줄 띄워 분리하기 # 본문은 "어떻게" 보다 "무엇을", "왜"를 설명한다. # 본문에 여러줄의 메시지를 작성할 땐 "-"로 구분 # ------------------ ``` ## PR 컨벤션 - PR 하나에 commit 하나만 보내는 것은 지양해야 한다. - CLIENT, SERVER, IOS 표기하기 - FIX인 경우에만 FIX를 추가 ``` [CLIENT #이슈번호 (FIX)] PR 제목 ## 구현의도 - 추상화 의도(재사용성, 인터페이스, etc...) - 함수 구분 기준 - 클래스 계층구조 - Class, Struct, Object의 사용 의도 ## 기능 흐름도, 클래스 다이어그램(선택사항) ## 사용된 기술 - 오픈소스 라이브러리 - 라이브러리를 왜 썼는가? ## 리뷰요청 & 논의사항 & 궁금한점 - A 부분은 더 깔끔한 방식이 있을까 궁금하다. - B 클래스명은 괜찮은 지 궁금하다. ``` ## 브랜치 관리 전략 - develop/server, develop/web, develop/ios 분리해서 관리하기 ![](https://i.imgur.com/NUzyMU3.png) ### Fork 후 작업 vs 그냥 작업 - 현업에 어떻게 하시는지 ## 코딩 컨벤션 ### WEB - BE 파일이름은 .으로 모델과 기능을 구문하여 사용 - ex) issue.controller.js - Class 대문자로 시작하는 `PascalCase` - 파일, 변수이름은 소문자로 시작하고 `camelCase` - 폴더 이름 `snake_case` - DB 테이블명, 어트리뷰트명 `snake_case` 사용 ``` - Prettier { "singleQuote": true, "tabWidth": 2, "trailingComma": "es5", "bracketSpacing": true, "printWidth": 100 } - ESLint airbnb style guide 사용 - 환경설정 파일에 규칙 추가로 커스텀 - early 리턴 권장 { if(){ return ...; } ... ... ... return ...; } - if 사용시 중괄호{} 필수 - 변수 및 함수명은 길어지더라도 구체적으로 작성 - 삼항 연산자 사용을 권장하나 코드가 과도하게 길어질 시 코드 분리 - 중첩 삼항 연산자는 지양 - 구조분해 할당 적극 활용 { const {a, b, c} = req.body } ``` Vue javascript MySQL, Redis, SQLite Express 테스트... JEST GitHub Action, Server 자동배포, ### IOS - https://github.com/StyleShare/swift-style-guide ## 질문사항 - 참고할 만한 프로젝트, 깃허브 todo 등... - 웨일브라우저API에서 어떤 정보를 받아올 수 있는지 궁금 - 웨일에 확장앱으로 최종적으로 등록하는 것인지... - ios 요구사항에 오픈소스 사용불가라고 하는데 swiftlint 도 사용하면 안될까요? - rxswift 와 mvvm 써보면 어떨까요 - 코디네이터 패턴 팀별 feature list ## 우리 그룹에서 목표하는 기능 - 시간별로 할일을 관리하고 피드백하는 앱 - 잡다한 다양한 정보들을 보여주는 할일 관리 앱 -