민스씨의 일취일장
Flutter | Android | 몸무게 기록 앱 - 기획 본문
Flutter로 Android용 몸무게 기록 앱을 개발하는 과정 중 기획과정에 대한 글이다.
Flutter 몸무게 기록 앱 - 기획
동기
- 공식적 동기
오랜 시간 가족들이 가지고 있는 습관이 있다. 바로 아침마다 몸무게를 측정하고 기록하는 것이다. ydmins는 카카오 개인톡방에, 다른 가족들은 달력이나, 별도로 만든 1년짜리 A4 용지에 기록을 한다. 이 습관은 다이어트 습관을 유지하는데 큰 도움을 주었다. 하지만 현재의 방식은 다이어트 습관을 유지하는 데 도움을 준 것 외에, 큰 효용가치가 없다. 왜냐하면 일단 기록은 했지만 데이터를 되돌아 보는 경우가 거의 없어, 기록으로써의 가치를 크게 느끼지 못하고 있다. 또 이전에 기록해 둔 노트 혹은 종이가 어디있는지 기억도 잘 안난다. (버리진 않았지만) 좋은 습관을 가지고 있고, 기록을 꾸준히 하고 있으므로 이 습관과 기록의 가치를 높이기 위해 앱이 있으면 좋겠다는 생각이 들었다. (아주 오래전부터)
- 계획 부체
이 습관을 유지한지도 어느덧 10년이 다되어 가는데, '몸무게 기록 앱 하나 만들어야 겠다'고 생각한게 이 습관을 유지한 것만큼 오래되었다. 하지만 머릿속 계획은 무한정 그저 머물 뿐이었다. 하지만 더 이상 이런 막연한 아이디어를 머릿속에 두지 않고, 만들어 내서 쓸만한지 아닌지 결판을 내고 싶어졌다.
UI
앱을 만들 때, UI를 계획해 두고 하면 개발을 좀 더 수월하게 할 수 있다. 하지만 이번 프로젝트를 위해서 Figma 사용법을 배우는데 시간을 쓰고 싶지 않아, chatGPT와 Gemini를 이용해서 만든 UI 대충의 이미지를 약간의 포토샵 작업을 해서 UI를 만들어 보았다.
- ebook 느낌
일단 eink 기반의 디스플레이 느낌을 주고 싶었다. 체중계에서 측정한 데이터를 비슷한 느낌의 프로그램에 옮겨적는 느낌을 살리고 싶었기 때문이다.
- MVP에 집중
큰 그림보다, 일단 핵심 기능을 갖춘 MVP를 빠르게 만드는 것에 집중하려고 한다. 핵심 기능은 1) 몸무게를 간단하게 입력하고 2) 달력으로 기록을 확인할 수 있고 3) 간단한 통계를 보여주도록 하는 것이다. Settings 페이지에서 Export Data가 그려져 있는데, 이 기능은 첫 MVP에는 포함시키지 않을 것이다.
Technical Design
- Flutter
주력으로 사용중인 Flutter를 이용할 것이다.
- Android
첫 MVP 앱은 안드로이드 배포를 목표를 할 것이다.
- Firebase vs. Superbase
서버리스 서비스로 구축할 계획이고, 데이터베이스는 Firebase를 사용할 가능성이 높다. 이유는 어느정도의 트래픽까지는 무료로 사용할 수 있고, NoSQL DB로는 Firebase가 친숙하기 때문이다. 추가로 요즘 인기가 많은 Superbase도 구현 중에 추가적인 자료를 알아 보면서 고려해 본 뒤, 사용 여부를 다시 판단할 수도 있다. 하지만 Firebase로 갈 확률이 90% 이상으로 높아 보인다.
- etc
그 외 특별히 필요하다면 달력 관련 기능과 통계 관련 일 것 같은데. 일단 구현해보면서 적절한 것을 찾는 방식을 취해 빠르게 개발 착수 및 속도감을 가지려고 한다.
대략적 계획 완료
간단한 앱이니 만큼, 이정도면 작업을 시작하는데 문제 없을 정도의 계획인 것 같다. 이제 구현을 시작해 보려고 한다.