프로젝트 소개
- 자신이 설정한 목표를 사진을 통해 인증하고, 1대1로 매칭된 다른 사용자로부터 달성 과정에 대한 피드백과 평가를 받을 수 있는 목표 관리 애플리케이션입니다.
- 사진 기반의 인증과 금액 결제에 대한 아이디어는 챌린저스 앱으로부터 영감을 받아 기획하게 되었습니다.
- 자세한 내용은 GitHub 저장소의 README를 통해 확인하실 수 있습니다.
GitHub Repository
GitHub - devJungwonLee/Sell-the-Passion: 2020년 봄학기 캡스톤디자인2 팀 프로젝트
기획 동기
기존의 목표 달성 앱 챌린저스를 사용하면서 결제, 환급의 구조만으로는 강력한 동기부여가 되지 못한다는 걸 느끼게 되었습니다. 환급을 위해 허위 인증을 하는 경우가 있을 수 있다고 판단하였고, 진정한 동기부여는 다른 사람의 관리와 피드백을 통해 이루어진다고 생각하였습니다. 따라서 사용자 간의 매칭 과정을 통해 서로가 다른 누군가의 목표를 관리해주는 구조의 애플리케이션을 기획하게 되었습니다.
기술적 도전
- 매일 특정한 시간에 목표 설정을 완료한 사용자들에게 각각 자신의 목표를 관리해줄 사람과 자신이 관리해야하는 사람을 매칭해야 했고, 카테고리와 목표 기간이 같은 사용자 풀 안에서 사이클이 형성되는 방식으로 매칭 알고리즘을 구현했습니다. 그리고 그러한 백엔드 로직을 Firebase의 Cloud Functions을 이용하여 배포하고, 지정된 시간에 해당 함수를 실행하고자 하였습니다.
- 간편한 회원가입 및 로그인을 위해 구글 계정으로 로그인하기를 적용하였고 Firebase Authentication 과정을 거쳐 Firebase의 Realtime Database에서 사용자를 관리할 수 있도록 하였습니다.
고민한 내용
- 목표 관리 화면에서 목표 기간 동안의 인증 사진을 주차 별로 스크롤이 가능한 리스트로 구성하고자 하였고, scrollDirection이 vertical인 ListView 위젯 안에 scrollDirection이 horizontal인 ListView를 중첩하여 배치함으로써 상하좌우 모두 다 스크롤이 가능한 화면을 구성할 수 있었습니다.
새롭게 배우게 된 것
- Dart 언어의 기초 문법을 학습하여 크로스 플랫폼 앱 프레임워크인 Flutter로 애플리케이션을 개발하는 방법을 배우게 되었습니다.