[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를 한 번 써보고 싶은 마음도 있었고, 나머지에 비해 익숙한 부분이 많아서 택했다.