왕논의 연구실

[개발한 앱] 필잇! 본문

개발한 앱

[개발한 앱] 필잇!

ywangnon 2022. 3. 16. 16:37

앱스토어 링크

https://apps.apple.com/us/app/필잇/id1613948959

 

‎필잇!

‎약 알림을 받고 건강을 챙기세요. ​ 기록을 통해 약을 먹었는지 확인하세요. ​ Pill Eat을 통해 더욱 건강해지세요!​

apps.apple.com

앱 소개 사이트

https://ywangnon123.wixsite.com/pilleat

 

메인 | Pill Eat

Simulator Screen Shot - iPhone 11 - 2022-03-12 at 00.33.23

ywangnon123.wixsite.com

기획 의도

평소에 약을 먹으면서 내가 먹는 약에 대한 기록과 약 먹는 시간에 대한 알림을 받을 수 있는 간단한 앱을 만들고 싶었습니다.

목표

  • 최대한 노력해서 mvvm을 구현하는 것을 목표로 하였습니다.
  • 파일 관리하는 것에 신경쓰는 것을 목표로 하였습니다.
  • 기존에 만들었던 앱들보다 디자인적으로 끌어올리는 것을 목표로 하였습니다.
  • 기존에는 노트나 생각으로 끝나는 앱 제작 과정을 문서화해보는 것을 목표로 하였습니다.
  • 앱 관련 링크들을 좀 Git으로 적었는데, 따로 홈페이지를 만들어 좀 더 앱에 대한 어필을 할 수 있도록 하였습니다.

주요 기능

  • 오늘의 약 리스트 보여주기
  • 설정한 시간에 맞춰서 로컬 노티피케이션 울리기
  • 먹은 약의 알림 체크하기
  • 먹은 약의 기록을 달력으로 보여주기
  • 간단한 다크모드

후기

mvvm 구현

디자인패턴에 맞춰 구현하는 것은 전부터 신경쓰는 것이었습니다. MVC에 맞춰서 구현하는 것부터 시작해서 신경안쓰는듯 나름 맞춰서 작성하기 위해 노력했습니다. 그런데 패턴이라는 것이 어떤 정답의 형태가 있는 것이 아니다보니 제가 제대로 짜고 있는지 확인할 길이 없습니다. 인터넷에 돌아다니는 이론적인 이야기는 많이 읽어보았지만, 그래서 어떻게 짜는건데? 궁금증만 늘어날 뿐입니다. 그래서 github를 돌아다니며 코드를 보고 나름대로 프로그램을 만들면 어떻게든 돌아가긴하니 제대로 짠건지 스스로 의심이 듭니다. 그러다가 패스트캠퍼스 온라인 강의 중에서 기존 코드를 mvvm으로 변환하는 강의를 보았습니다. 그걸 보고서야 나름대로 '이게 아닐까'하고 작성해 볼 수 있게 되었습니다.

이렇게 패턴에 대해서 공부하는 이유는 코드 퀄리티를 높여 가독성을 높이기 위해서입니다. 처음에 회사에서 앱을 만들었을때는 mvc로 하려고 했습니다. 그런데 viewcontroller에서 코드로 view를 만들고 기능도 넣다보니, 파일 하나가 너무 커져버렸습니다. 나중에 프로젝트할때는 extension으로 파일을 분리도 했었습니다. 그래서 코드량 자체를 줄이기 위해서 패턴을 공부해서 역할에 따라 파일을 나누고 다른 사람들은 어떻게 코드량을 줄이는지에 관심을 가지게 되었습니다.

사실 완성시킨 지금도 제가 제대로 작성한지에 대해서는 의심이 드는 것은 사실입니다. 그러나 어설프게나마 전보다 코드가 정리되고 파일을 나름대로 깔끔하게 나뉜 것 같다는 사실만으로 조금은 만족스럽게 생각합니다.

 

앱의 디자인

이 프로젝트를 하면서 가장 신경썼던 부분입니다. 전의 앱들이 공부 & 기능 구현 테스트를 하는 목적이 있다보니 디자인은 가장 후순위가 되었습니다. 나름대로 디자인을 신경쓴 띡똑카운터도 디자인이 단순하다는 느낌을 지울 수 없습니다. 그래서 이번에는 작정하고 디자인을 우선으로해서 만들어보았습니다. 전 나름대로 만족스러운 것 같으면서도 아직도 부족하다는 느낌이 듭니다. 부족한듯하면서도 나쁘지않은 느낌이 드는 것이 전보다 발전한 것 같긴 합니다.

 

앱 개발과정 문서화

기존 앱들도 개발하기로 마음먹은 후 '우선 개발부터하고보자' 식으로 한 건 아닙니다. 그러나 그 과정에 있어서 머리로 생각만 해두거나 노트나 포스트잇에 끄적이는 것으로 끝냈었습니다. 그런데 이것들의 일부분이라도 문서화를 시켜서 체계화시키는 것이 좋겠다는 생각을 했습니다. 그래서 패스트캠퍼스에서 하는 강좌 중에 하나의 앱 만드는 과정을 훑어주는 강좌의 과정을 보고, 내 앱에 맞춰서 작성해보았습니다. 이 문서화라는 것이 참으로 시간이 걸리는 작업이다보니 빠르게 끝내고 싶어 좀이 쑤셨습니다. 머리로는 이만하면 되겠다 싶어도 그걸 표현하려고 하니 굉장히 어려운 일이 되었습니다. 이 과정을 통해 문서화시킨 것은 기획과 디자인입니다.

저는 기획 작업을 2~3일동안 조사하면서 작성하였고 너무 길어질 것 같아 앱 조사도 2,3개만 작성하였지만, 실제로 다운받고 조사한 것은 10개가 넘는 것 같습니다. 좀 더 능숙해져서 빠르게 작업할 수 있도록 노력해야할 것 같습니다.

디자인은 Figma를 이용하였습니다. 혼자서 처음부터 디자인한다는 것은 어려운지라 커뮤니티 기능으로 다른 사람의 작업물들을 참고하여 디자인하였습니다. 이렇게 디자인을 하고 나니, 머리속으로 디자인했다가 만들기 복잡해지면 점점 단순화시키는 것을 막을 수 있었습니다.

이 과정에 대한 것은 기획과 디자인 글에서 좀 더 다루겠습니다.

 

Git 관리

git 관리에 대해서 나름 신경쓰고는 있었지만, 체계적이지 못하다는 생각을 하였습니다. 그래서 다른 사람들은 어떻게 관리하나 찾아보았습니다. 커밋 메세지 컨벤션을 정해서 그에 맞춰서 작성한다는 것을 알게 되었고, 이번 프로젝트는 커밋 메세지에 좀 더 신경을 써서 작성하였습니다.

과거 현재

코드를 작성하다가 커밋을 까먹고 나중에 몰아서 커밋을 할 때도 있다보니, 커밋명도 길어지면서 숙제를 몰아하는 느낌이 들었습니다. 좀 더 익숙해지도록 노력해야겠습니다.

'개발한 앱' 카테고리의 다른 글

[개발한 앱] 띡똑 카운터  (0) 2022.03.16
[개발한 앱] 큐알 판독기!  (0) 2022.03.16
[개발한 앱] 점수판!  (0) 2022.03.16