--- tags: project08 --- Week1 Day1 === # code convention - 폴더 - 다같이 상의 후 생성 - 케밥케이스 - 파일명 - 컴포넌트(파스칼케이스) 제외 카멜케이스 소문자 - 함수명 - 동사로 시작, 카멜케이스 # Github 사용 규칙 - branch 규칙 - fork된 repo에서는 비교적 자유롭게 - PR 날리는 branch는 중요 - remote origin - master: 배포용 - dev: 개발 - feature: 필요시 생성 - hotfix: 에러 수정 - merge 기준 - PR -> 코드리뷰 -> 전원 approve -> merge - zoom 에서 상황공유, 많은 commit -> 큰 단위의 코드리뷰가 필요없음(코어타임 이후에 일을 제외하고) - 작은 comment 라도 남긴 후 approve - 짝 프로그래밍 기준 - 도구 - live share, sandbox - 오전 스크럼에 하루 작업량 및 세부 작업을 정함 - 로직적으로 까다로운 부분 - 협업 포인트가 많은 부분 - 공통 컴포넌트, model 작업 - Project - issue 생성 - 최대한 작게 나누되 - 체크박스 형식의 세부사항으로 표기 - 프로젝트는 작업상황 공유형식으로 사용(엄격한 필요는 x) - Milestone - 주차별 - 월요일에 주에 할 일 정리 - commit 규칙 - ex. [feat] [#109] 컴포넌트 리팩토링 - 다다음줄 세부내용 - 말머리 - feat: 새로운 기능 추가 - refactor: 코드 리팩토링 - fix: 버그 수정 - test: 테스트 코드 작성 - docs: 문서 - chore: 환경설정 파일 - style: 코드 형식, 정렬, 린트 등의 변경 - PR 규칙 - PR 보내는 사람 이름 혹은 캠퍼번호(짝 프로그래밍에 대한) -> github 기능 assignees 표기 - FE, BE 표기-> label 사용 - 제목: 요약 - 내용 - 세부내용 나열 - commit에 자세한 내용 포함되게 # 미팅방법 - 오프라인 공간 활용(?) - 추후논의 ------- # 프로젝트 권장사항 정리 - 타입스크립트 사용하기! 긍정적!! - 단순 클론? 추가적인 기능? (https://mapstyle.withgoogle.com) - CRA 사용 - mapbox sdk 어느 정도 사용? - 주 사용자? 사용 목적? - 블로그 스마트 에디터 내 커스텀 디자인 - 정리된 요구사항에 대한 대략적인 중요도? - redux?! # 기술 스펙 정리 - 언어: Typescript - 프레임워크: 리액트 - 패키지: redux, module-alias, emotion js, prettier, tslint, (mapbox) # 요구사항 정리 - Map 스타일 편집기 - density - Roads - Landmarks - Labels - theme - import(by JSON) - export(by JSON), API Key 발급? - search - 현재 위치 - 전체화면으로 확장 - 화면 드래그를 이용한 위치이동 - 지도 확대 축소 (+/- | 마우스휠) - 지도 더블 클릭/스크롤시 지도 확대/축소 - More Options - Element Type - Geometry - Labels - Stylers - Visibility - Color - Weight - Saturation - Lightness - 변경이 된 항목에 가운데점으로 변경사항 표시 - undo 기능(스타일 적용 뒤로가기) - reset 기능 - compare 기능 - 추가 기능(브레인스토밍) - 반응형 # Week1 계획 ## Day1 - mapbox sdk - 데이터가 주어졌을때 활용하는 방법에 대한 큰 틀 공부해오기 - google styled map 스터디? - 무엇이 들어있는지 유심히 살펴보기 - component 종류 - 속성옵션 종류 - 최적화 방식? - Typescript - react 와의 연동방식 + 아마 웹팩공부도 필요..? - redux ## Day2 - 사용할 패키지 첫번째 안 확정 - 환경설정 후 첫 커밋 - 요구사항 구체화 하기 > feature list? ## Day3 - Day2 스크럼 후 결정 ## Day4 - Day2 스크럼 후 결정 --- ## 프로젝트 소개 - 신재경 네이버지도 총괄 멘토님 - 이현수 멘토님 - 임병철 멘토님 - ![](https://i.imgur.com/QbEnTzj.jpg) - 리액트만 잘하자, React + Redux - 프로젝트 완성도 보다 리액트를 제대로 알아가는 것 중요 - 코드리뷰 적극 요청 - 오픈소스 최대한 배제 - 같은 구조를 한 사람이 전담하는 것은 지양 - 페어 프로그래밍(2인1조, 3인1조) 권장 - 팀플레이, 협업 - 현재 N사에서도 개발 중인 프로젝트 - 기존 스타일 또는 특정 스타일 선택 - API 기반 편집? - 구글 StyledMap 클론 - + Compare - 기존 스타일 vs. 변경 스타일 - 화면 분리, 크기 조정 - + Export 기능도 중요 - History는 안해도 됨 - 싱글톤이냐 멀티 쓰레드냐 고민해볼 것 - 데이터: 별도로 제공 예정(네이버 지도와 연동) - 외부 공개 시 데이터는 크롤링 - 현재 기능 보다 더 많은 기능 구현해야함 - Preview 기능에 따른 성능 문제도 고민 - MVP 기준 디자인, 리팩토링 - 본인이 가장 자신있어 하는 코드 100줄을 가져보자 - 주 사용자? 사용 목적? - 블로그 스마트 에디터 내 커스텀 디자인