1. 목적 :
==1. 한 사람이 점점 더 많은 일을 해야 하는 시대 속에서 우리는 운동을 해야 합니다.
==2. 하지만 운동계획을 세우는 것도 부족한 시간 속에 어느 정도의 노력이 필요합니다.
==3. 이 앱은 그 부분을 대신해주는 앱입니다.
2. 기능 :
==1. 원클릭으로 지금 있는 곳에서 산책 가능한 코스를 추천해 줍니다.
==2. 사용자들이 등록한 코스들의 중복도를 보여줘 서로의 경험이 크로스 검증에 사용된다.
3. 사용자 경험 :
==1. 걷기
====1. 핸드폰의 GPS 또는 위치를 켠다.
====2. 앱에서 코스 추천 버튼을 누른다.
====3. 사용자 기준 5~10Km 내의 명소와 랜드마크 추천
====4. 명소와 랜드마크 말고도 사용자들이 등록한 코스도 추천
======1. 랜드마크는 눈에 띄는 건물이나 구조물
======2. 명소는 사람들이 자주 찾고 방문할 만한 가치가 있는 장소.
====5. 코스를 누르면 코스 기록 버튼이 보인다.
====6. 코스 기록 버튼을 누르면 기록 정지 버튼으로 바뀐다.
====7. 기록 정지 버튼을 누르면 칼로리 소모량, 시간, 건강 피드백이 출력된다.
====8. 평가는 추후에 설문을 통해 세분화해야 됨.(가로등, 밝음, 도심 등등)
====9. 별점 5개, 평가 100자 내외로 입력하고 코스 등록
==2. 계단 오르기
====1. 핸드폰의 GPS 또는 위치 불필요.
====2. 앱에서 계단 오르기 시작 버튼을 누른다.
====3. 화면에 층별 계단 수 입력 칸과 총 몇 층을 올랐는지 입력하는 칸이 있다.
======1. 계단 수는 세계 평균으로 15개 기본 입력되어 있다.
====4. 기록 저장을 누르면 계단 수와 몇 층 칸을 체크하여 비어있다면 입력 알람이 출력된다.
====5. 기록 저장 후 칼로리 소모량, 건강 피드백, 내일은 2층 더 도전 목표 추천.
4. 어플 이름 :
==1. 워크플랜 (WalkPlan) – "걷기 + 계획"을 합친 직관적인 이름
==2. 스텝파인더 (StepFinder) – 내 주변 최적의 코스를 찾는 느낌
==3. 이지워크 (EasyWalk) – 쉽게 걷기 좋은 코스를 추천하는 의미
==4. 로드맵 (RoadMap) – 내 운동 루트를 설계해 주는 느낌
==5. 트레일링 (Trailing) – 산책길, 하이킹 코스를 찾는 느낌 강조
==6. 핏루트 (FitRoute) – "건강(Fit) + 길(Route)"을 합친 조합
==7. 어디갈까 (Where2Go) – 오늘 어디에서 걸을지 고민하는 사람들에게 직관적인 이름*
==8. 워크메이트 (WalkMate) – 함께 걷는 친구 같은 느낌
==9. 루트픽 (RoutePick) – 내가 선택할 수 있는 다양한 루트 제공*
==10. 무브나우 (MoveNow) – 바로 움직일 수 있도록 도와주는 의미*
진행 방법
개발 도구 및 기술 스택 정리
1. 프론트엔드 (모바일 앱)
항목
도구/기술
이유 및 설명
프레임워크
React Native
크로스 플랫폼(iOS & Android) 개발 가능
UI 라이브러리
React Native Paper / Tailwind CSS
깔끔하고 반응형 UI 구성
지도 API
Mapbox SDK / Google Maps SDK
경량화된 지도 렌더링 및 GPS 활용
상태 관리
Redux / Recoil
사용자 데이터 및 설정 관리
푸시 알림
Firebase Cloud Messaging (FCM)
무료 푸시 알림 서비스
2. 백엔드 (서버 및 데이터 관리)
항목
도구/기술
이유 및 설명
백엔드 프레임워크
Node.js (Express.js) / Firebase Functions
서버리스 아키텍처로 비용 절감 가능
데이터베이스
Firebase Realtime DB / PostgreSQL
JSON 기반 NoSQL (Firebase) 또는 구조화된 데이터 (PostgreSQL) 저장
인증 및 보안
Firebase Authentication / OAuth
소셜 로그인 및 간편 회원가입 지원
API 서버
AWS Lambda / Firebase Functions
서버리스 방식으로 자동 확장
파일 저장소
AWS S3 / Firebase Storage
경량 이미지, 지도 데이터 저장
3. 데이터 및 지도 처리
항목
도구/기술
이유 및 설명
지도 데이터
OpenStreetMap (OSM) / Mapbox Tiles
경량화된 도로 중심 지도 사용
GPS 데이터
Google Location API
실시간 위치 추적 및 코스 추천
경로 저장 및 최적화
Polyline Encoding (Google Maps)
GPS 경로 데이터 경량화
리뷰/평점 데이터
Firebase Realtime DB / PostgreSQL
사용자 리뷰 관리
데이터 캐싱
Redis / Local Storage
자주 사용하는 데이터 빠르게 제공
4. 개발 및 운영 도구
항목
도구/기술
이유 및 설명
코드 저장소
GitHub / GitLab
협업 및 버전 관리
CI/CD
GitHub Actions / Firebase Hosting
자동 배포 및 업데이트
앱 테스트
Jest / Detox
유닛 및 UI 테스트
앱 배포
Google Play Console / Apple App Store
앱 출시 및 업데이트 관리
모니터링 및 오류 추적
Firebase Crashlytics / Sentry
앱 크래시 및 오류 추적
5. 운영 및 최적화
항목
도구/기술
이유 및 설명
서버 호스팅
AWS / Firebase
확장성이 높고 비용 절감 가능
사용자 분석
Google Analytics / Firebase Analytics
사용자 행동 분석 및 피드백 반영
로드 밸런싱
AWS ALB / Cloudflare
트래픽 부하 분산
결론
모바일 앱: React Native + Mapbox / Google Maps SDK
백엔드: Node.js (Express.js) + Firebase Functions
데이터베이스: Firebase Realtime DB / PostgreSQL
지도 및 경로 관리: OSM + Google Location API
파일 및 이미지 저장: AWS S3 / Firebase Storage
CI/CD 및 배포: GitHub Actions + Firebase Hosting
결과와 배운 점
떠오른 아이디어만 생각했을 때는 별거없을 것이라 생각했습니다.
그런데 세상 모든 코스를 제가 만들어서 추천해줄 수 없습니다.
그래서 어떻게 해야되나 하다가 예전 배달의 민족의 초기 단계가 생각 났습니다.
지금이야 업체가 배달의 민족에 등록을 하지만 초기에는 배달의 민족 대표님이 발로 뛰며 음식점들을 등록했다고 들었습니다.
이 어플도 처음에는 몇몇 코스를 제가 직접 등록을 합니다.
그러면서 조금씩 생기는 사용자들의 코스를 중복도 체크를 해서 사람들이 많이 이용하는 코스를 추천해주면 알아서 추천 코스는 늘어날 것이고 평가로도 알 수 있게 해서 추천 코스가 알아서 증식되는 생태계가 만들어지지 않을까 생각합니다.
정보가 공유되어야 하기에 서버나 이런게 필요하지 않을까 생각되서 이것저것 알아보다 보니 생각보다 얼마 안 되는 데이터가 사용 인원이 늘어나면 비용이 많이 듭니다.
그래서 최적화에 대해서도 고민을 하게 되었고 서버 유지비는 어떻게 해야되지? 광고를 띄워야하나? 후원 계좌같은걸 열고 사용비용을 투명하게 공개하면 되려나? 사용 중에 핸드폰에 발열이나 이런건 괜찮나? 이런 고민들이 생겼는데 일단 다음주까지 프로토타입을 만들어보고 다시 정리해보도록 하겠습니다.
감사합니다.