모두의 킥보드앱 회고

김윤홍·2024년 7월 29일
0

모두의 킥보드 앱 설명

Github링크

모두의 킥보드는 자신이 이용하는 전동 킥보드를 사용하지 않을 때 돈을 받고 남들에게 공유를 하는 어플이다.

협업을 위한 Github룰

merge 시점 : push 두개 있을때 merge
commit Rules : “ commit후 → Pull requests → 슬랙에 공유하기 ”
메서드 두 개마다 commit
작동이 되도록 수정이 됐다, 지웠다, 고쳤다 commit

시연영상

https://youtu.be/1p5YJsrDeAM

아이디어

프로젝트로 kakaoMap API를 사용해서 공유킥보드 앱을 만들자고 하였고 여기서 추가적인 아이디로 수익 창출을 생각했다.

요즘은 개인이 전동 킥보드를 가지고 있는 경우가 있는데 사용하지 않을 때는 공유를 해보자 라는 아이디어로 시작하게 되었다.

어플 설명

회원가입

사용 컴포넌트

UIButton, UIStackView, UITextField

설명

coreData에 회원정보를 저장하고 로그인 하는 화면입
니다.

비밀번호의 일치 여부를 판단하고 회원의 모든 정보를 CoreData에 create를 하는 역할을 담당합니다.

앱 실행시 userDefaults에 값이 있다면 자동으로 홈 화면으로 넘어갑니다.

지도 API

사용 컴포넌트

Kakao Map API, Kakao API, CoreData, CoreLocation

설명

카카오맵 API와 CoreLocation을 사용하여 지도 구현
등록한 킥보드가 지도에 마커로 표시됩니다.

마커 클릭 시 사용자가 등록한 킥보드 대여 모달창이 활성화되며, 킥보드 정보 확인 및 대여와 반납하기가 가능합니다.

킥보드 등록

사용 컴포넌트

PhotosUI, CoreData, Alamofire, Kakao API

설명

카카오 API와 CoreLocation으로 상세 주소를 표시해 주고, 입력된 정보와 현재 위치 좌표를 Coredata에 저장하는 역할을 담당합니다.

저장된 정보는 마이페이지에서 확인할 수 있습니다.

마이페이지

사용 컴포넌트

UICollectionView, UITableView, CoreData, UIButton

설명

마이 페이지는 UIButton으로 구현해서 저장된 사용자 정보를 보여줍니다

CoreData에 저장된 킥보드 이용/등록 내용을 UItableView와 UICollectionview로 정리하여 직관적으로 확인이 가능합니다

하단에 로그아웃 버튼 추가하여 미사용 시 로그아웃이 가능합니다

프로젝트 중 일어난 문제

  1. Git 원격저장소에 API키를 실수로 올리고 PR 했던 경우

API키가 커밋으로 올라가서 커밋내용을 지워줘야 했었다. revert와 reset차이가 헷갈렸고 팀원끼리 의견을 공유했고 revert는 커밋을 지우지않고 그전의 커밋으로 가지만 reset은 커밋을 삭제후 이동한다는 개념을 공부하고 reset을 사용해서 api가 올라간 커밋을 지우고 push를 해주었다.

또한 기존에 merge하던 방식은 git tree가 깔끔하지 않았고, 변경점을 파악하기가 어려워 merge방식을 rebase를 활용하기로 바꾸었다.

  1. 로그아웃 버튼 클릭시 앱이 실행중지 되는 경우.

로그아웃 버튼을 누르면 앱이죽는 경우가 있었다. 그전의 커밋내용을 바탕으로 수정된 부분인 mapKit에서 memoryLeak이 발생하고 있었고 deinit을 통해 memoryLeak을 해결해 주었따

KPT 회고

Keep
1. rebase를 활용한 merge방식은 git tree를 보기가 깔끔하고 git log별로 커밋메시지를 파악할 수 있어 merge방식을 rebase를 활용한점은 좋았던것 같다.
2. git push시점 merge시점등을 지정해서 보다 효과적인 협업을 한것 같다.

Problem
파일에 중복되는 부분을 추상화 시키는 부분에서 소통이 부족했던것 같다.
또한 초반에 많은 기능을 구현하려고 하는 욕심이 있어서 시간내에 하기에는 부족했던것 같다.

Try
git hub에서 issue탭 부분과 칸반보드 jira등을 활용을 해보면 좋았을 것 같다.

0개의 댓글

관련 채용 정보