1. 개요
본 프로젝트는 목표를 정해 실천하고 이를 기록하는 모바일 앱입니다. 이러한 모토는 사용자 뿐만 아니라 개발자인 저에게도 적용되는 의미있는 내용이었습니다.
React Native에 대한 이해를 높이기 위해서 본 프로젝트를 개발하기로 결심했고, 매일 수업이 끝나고 난 뒤에 남는 자투리 시간들을 이용해 개발을 하는 것을 목표로 하였습니다.
이를 통해 Frontend 역량을 꾸준히 향상시켜 나갔고, 이 과정에서 느끼고 배운 내용들을 프로젝트에 적용하였습니다.
본 프로젝트는 개인적인 성장에 대한 열망에서 시작되었지만, 단순히 목표 관리를 넘어 사용자가 지속적으로 동기부여 받을 수 있는 환경을 만드는 것에 중점을 두었습니다.
목표 설정부터 일일 기록, 진행 상황 추적 및 공유까지의 모든 과정을 직관적이고 사용하기 편한 인터페이스로 구현하려 노력했습니다.
2. 시스템 구성
React Native에 대한 역량을 키우기 위해 본 프로젝트를 기획하였기 때문에, React Native 기반으로 개발하였습니다.
추가로 클라이언트 상태 관리를 위하여 Recoil을 도입하였습니다. 당시 React Native의 개발사인 Meta가 Recoil 또한 관리하였기 때문에 사용에 있어서 더욱 잘 맞을 것이라고 생각하였습니다.
Grops.는 아래와 같은 화면들로 구성되어 있습니다.
| 화면명 | 역할 |
|---|---|
| 메인 화면 | 주변 사용자 추천 및 사용자의 목표 항목 피드 형태로 노출 |
| 탐색 화면 | 다른 사용자의 목표 및 달성 과정 노출 |
| 프로필 화면 | 사용자의 목표 기록 및 설정 관리 |
| 저장 화면 | 저장 해놓은 목표들 노출 |
3. 프로젝트 회고
당시 Frontend 개발 역량을 키우기 위해 시작하였고, Backend에 대한 지식이 없어 프로젝트를 Frontend 부분만 개발했던 것에 아쉬움이 많이 남은 프로젝트입니다.
그래도 사용자 친화적이고 새로운 UI/UX를 도입하기 위해 많이 노력하고, Recoil 등 기존에 미숙했던 라이브러리를 적극 사용했습니다.
완벽한 프로덕트가 되진 못했지만, 저의 성장에 있어서 유의미한 프로젝트였습니다.
