[회고] CYC(Check Your Commit)

김명현·2024년 4월 30일
0
post-thumbnail

1. 기획


테킷 iOS 앱스쿨 과정 중 소규모 프로젝트로 어떤게 좋을까 고민중 1일 1커밋을 독려하는 앱을 만들기로 했습니다. 앱의 구성은 1일 1커밋 챌린지를 할 수 있게 날짜를 설정하고 어느정도 진행 되었는지 보여줄 프로그레스 바, Github API를 받아와 흔히 말하는 잔디를 보여주는 뷰, 할 일을 메모해두고 완료했는지 여부를 보여주는 TodoList 정도로 기획했습니다.


2. 프로젝트 진행


2-1. 기능분배

기능분배는 흔히하는 기능 당 1명씩 작업을 하는 방식으로 진행하였습니다. 노션에 기능 명세서를 작성하고 작업을하고 순차적으로 진행하였습니다.

2-2. 문제점

  • SwiftData

제가 담당한 기능은 TodoList와 Setting UI를 담당하였습니다. 우선 TodoList의 CRUD를 사용해보지 않은 SwiftData로 구현하는것이였는데, 조금 막막하였지만 CoreData는 사용해본적이 있어 그 경험을 기반으로 구현하였습니다.


1. @Model 키워드로 SwiftData 모델임을 선언합니다.(스키마 생성)

2. 데이터를 저장하고 불러올 컨테이너를 설정합니다.

3. View에서 Swift Data를 사용하려면 @Query를 사용하여 데이터를 가져오면 됩니다.


  • TodoList UI

TodoList 미리보기를 볼 수 있는 뷰를 만들었는데 최대 3개의 할 일을 볼 수 있는 뷰 입니다. 그런데 3개를 작성하고 1개씩 삭제할 때 마다 높이가 자꾸 변경되었습니다.
해결 방법으로 조건문으로 1개 일때의 높이와 2개일때의 높이와 3개일때의 높이를 각각 다르게 지정해줬습니다.

3. 프로젝트 그 후


3-1. 아쉬운 점

  • 부족했던 시간
    프로젝트에 파이어베이스를 연동하여 서버 사용도 해보고싶었고, 조금 더 프로젝트를 체계적으로 관리하고 진행해보고싶었는데 소규모 프로젝트로 일주일이라는 시간밖에 주어지지않아 기획,디자인,개발까지 하려하니 도저히 무리였기 때문에 그 점이 아쉬웠습니다.

  • 비효율적인 코드
    언제나 그렇듯 돌아보고나면 코드는 개판이다. 시간이 지난 지금이 그때보다 조금은 더 성장했다는 반증이겠지만 아키텍쳐의 이해가 너무 떨어진 상태로 코드를 작성한게 한 눈에 보입니다. 이 후 리펙토링을 통해 다시 작성할 예정입니다.

3-2. 느낀점

작은 프로젝트였지만 나에게는 팀원들과 함께한 첫 프로젝트였다.
깃허브 조차 사용할 줄 몰랐던 나에게는 UI 하나 만드는것, CRUD 하나하나 완성해 나가는것, Git Convention을 정해서 팀원들과 작업하는것 모든게 작은 성과였다. 다음에는 조금 더 체계적으로 많은 경험을 해봤으면 좋겠다 생각들었습니다.

profile
iOS개발자

0개의 댓글