[센디] 이사모아 앱 업데이트

주식회사 센디로 이직하고 처음으로 처리한 작업, 이사모아 앱 리뉴얼…

현재 우리회사는 센디를 주력으로 사업을 진행하고 있으나, 회사 온보딩겸 기존에 있던 제품인 이사모아를 리뉴얼 하는 업무를 받았음

기존 버전

문제점

  1. 디자인 리소스가 없음
  2. 아키텍처가 명확하지 않음
  3. API 문서가 없음

내가 입사하기 전까지 명확한 iOS 개발자가 없었던거 같음. 안드로이드 버전을 기준으로 마이그레이션 하면서 작성한 느낌.

안드로이드 개발자 또는 학생 인턴이 기능 구현을 해서 뷰 마다 코드가 다름 어떤 부분은 안드로이드 코드를 그대로 복사한 듯한 느낌이 들기도 하고 어떤부분은 미묘한 VIP를 따르는 것 같으면서도 어딘가는 MVC이다.

다행히 Objective-C와 Swift의 혼종은 아닌듯 하나 메인터넌스가 매우 오랫동안되지 않아 엄청 구버전의 라이브러리들을 사용하고 있는 듯했다.

앱 리뉴얼

입사 후 몇 주간은 기존 코드 리딩 및 부분 개선을 진행했고 이후에 iOS 디자인 리소스가 나와서 넘겨 받았다.

디자인을 넘겨 받고 기존 프로젝트의 코드 리딩을 한 결과 점진적 기능 개선은 매우 매우 험난한 길을 갈 것 같아서 그냥 새로 만들기로 했다.

개선사항

  1. MVVM 아키텍처로 변경
  2. GitHub Action을 사용하여 CI / CD 환경 구성
  3. 유닛테스트 작성
  4. 레거시 라이브러리 제거

아키텍처 변경은 80% 정도 진행했으며 추후 개선점이 보여서 리팩토링이 필요한 상황이다.

CI / CD 환경구성은 기존에도 잘 쓰고 있어서 간단하게 설정 할 수 있었음.

테스트 코드 작성은 적극적으로 진행하지 않아서 현재 커버리지가 한 자릿수이다. 개선이 필요함…

레거시 라이브러리는 성공적으로 모두 제거했다.

일정이 부족하여 몇 가지 기능은 빠진채로 출시하게 되었는데 센디 iOS 버전이 마무리 되는대로 작업할 예정이다.

이사할 때 한 번쯤은 써보시길 바란다. -끝-

https://apps.apple.com/us/app/%EC%9D%B4%EC%82%AC%EB%AA%A8%EC%95%84-%EC%9D%B4%EC%82%AC%EB%B9%84%EC%9A%A9%EA%B3%84%EC%82%B0%EA%B9%8C%EC%A7%80-1%EB%B6%84/id1136075052