[TIL][내일배움캠프]
[내일배움캠프][TIL] 24.02.23 (금) - 최종 프로젝트 1주차
kimlaurant
2024. 2. 23. 22:50
1. 최종 프로젝트 1주차
벌써 최종 프로젝트의 6주 중에서 1주차가 끝나가고 있다.
오늘은 다음주부터 본격적으로 진행할 개발 과정에 앞서서 최종적으로 무얼 해야할지 정비하는 시간을 가졌다.
산 데이터 수집
우선 우리가 지금 필요한 부분이 뭔지 추려봤고, 그 결과 두 가지가 나왔다.
- 산의 데이터(이미지, 해발고도, 추천 이유 등) 수집
- UI 디자인 수정
팀원을 둘로 나누어서 진행하기로 했고, 나는 거기서 산의 데이터 수집을 맡게 되었다.
그런데 산에 대한 정보는 API가 있는 게 아니냐고 할 수 있는데 우선은 JSON 파일을 찾기 힘든 것도 있는데, 해발고도는 그렇다쳐도 이미지랑 추천 이유 같은 경우에는 공공 데이터에서 제공해주지 않아서 직접 찾아야 했다.
이미지는
통합검색(목록) | 공유 마당 - 공공누리 (copyright.or.kr)
여기서 가져오고
추천 이유는 산림청에 있는 데이터와,
대한민국 구석구석 - 홈 (visitkorea.or.kr)
여기에 있는 설명을 혼합해서 사용했다.
코딩 컨벤션
이렇게 사전 준비를 마치고, 본격적으로 역할 분배에 들어갔다.
그 이전에 우선 코딩 컨벤션부터 진행하였다.
예시 | |
함수, 변수 이름 | 카멜케이스 (예시: smallCakeSnake ) |
클래스 이름 | 파스칼케이스 (예시: SmallCakeSnake ) |
xml id 이름 | tv (TextView) iv (ImageView) et (EditText) rv_ (RecyclerView) cl_ (Constraint Layout) ll_ (Linear Layout) |
string.xml | 페이지 이름+ 용도 (예시:home_name, mypage_nickname) → 주석 꼭 달아주기! 용도별로 묶어주기 |
브랜치명 | (기능별로 무조건 소문자) ui_mypage, feat_api, bugfix_notification |
깃허브 프로젝트 item명 | [UI] 지금 구현 할 이슈 제목 [FEAT] 기능 삭제 [BUG_FIX] 오류 수정 |
Conversation 작성 (pull request) | ## PR 체크리스트 다음 요구사항을 충족하는지 확인해주세요 - [ ] 커밋메세지 규칙을 따릅니다. ## PR 유형 어떤 변경사항이 있는지 모두 체크해 주세요 - [ ] 기능구현 - [ ] 버그픽스 - [ ] 리팩토링 - [ ] 문서 변경 - [ ] 레이아웃 ## 변경사항 작성 변경사항의 상세 정보를 작성해주세요. -기능 <!!!작성부분!!!> -설명 <!!!작성부분!!!> |
리사이클러뷰 아이템 레이아웃 이름 | item_adapter_name → binding.itemAdapterName |
drawable selector | apply_item_selected apply_ripple_effect |
커밋 메시지 | add : 새로운 파일 및 폴더 추가 feat : 새로운 기능 추가 fix : 버그 수정 refactor : 코드 리팩토링 layout : 레이아웃(.xml 파일) 작업 comment : 필요한 주석 추가 및 변경 style : 코드 포맷팅, 세미콜론 누락, 더미 데이터 작업, 코드 변경이 없는 경우 rename : 파일 혹은 폴더명을 수정하거나 옮기는 작업만 한 경우 remove : 파일 을 삭제하는 작업만 수행한 경우 |
dependency 추가 시 | 주석 달아주기 |
역할 분배
마지막으로, 다음주부터 진행할 개발의 역할을 분배하였다.
우선, 필수 구현 사항 등을 1차적으로 분배하였다.
- MainActivity + ChatGPT
- HomeFragment + multiviewtype
- Radio (전역 시도)
- 산 리스트 + MapFragment
- MyInfoFragment + DetailActivity (좋아요 기능, 날씨+Vworld API)
여기서 내가 맡은 역할은 무려 MyInfoFragment + DetailActivity다!
갑자기 나에게 부여된 막중한 임무! (물론 내가 선택하기는 했다)
아무래도 봐도봐도 매번 새로운 API를 한 번 써보고 싶은 마음도 있었고, 나머지에 비해 익숙한 부분이 많아서 택했다.