/JOIN

kotlin, firebase로 개발한 사용자 걷기 운동 SNS APP. 사용자 실시간 위치를 기반으로 걸은 경로, 거리, 속도를 측정 및 기록하여 업로드하고 공유할 수 있다.

Primary LanguageKotlin

JOIN

발표자료

d884f33d-ac92-4093-bf50-30c3f12a9da0 pdf-0001 d884f33d-ac92-4093-bf50-30c3f12a9da0 pdf-0002 d884f33d-ac92-4093-bf50-30c3f12a9da0 pdf-0003 d884f33d-ac92-4093-bf50-30c3f12a9da0 pdf-0004 d884f33d-ac92-4093-bf50-30c3f12a9da0 pdf-0005 d884f33d-ac92-4093-bf50-30c3f12a9da0 pdf-0006 d884f33d-ac92-4093-bf50-30c3f12a9da0 pdf-0007 d884f33d-ac92-4093-bf50-30c3f12a9da0 pdf-0008 d884f33d-ac92-4093-bf50-30c3f12a9da0 pdf-0009 d884f33d-ac92-4093-bf50-30c3f12a9da0 pdf-0010 d884f33d-ac92-4093-bf50-30c3f12a9da0 pdf-0011 d884f33d-ac92-4093-bf50-30c3f12a9da0 pdf-0012 d884f33d-ac92-4093-bf50-30c3f12a9da0 pdf-0013 d884f33d-ac92-4093-bf50-30c3f12a9da0 pdf-0014 d884f33d-ac92-4093-bf50-30c3f12a9da0 pdf-0015 d884f33d-ac92-4093-bf50-30c3f12a9da0 pdf-0016


JOIN 이란

  • 실버분들이 서로 걸으면서 운동하며 저장한 지도 사진을 공유하는 어플

      1. 자신이 걸으면서 시간, 평균속도, 거리, 걸음 수를 측정할 수 있다.
      1. 저장된 지도상의 출발지와 목적지등을 팔로워들과 공유, 소통할 수 있다.

1.시작화면

  • 앱 실행시 짧은 로딩화면과 함께 로그인 화면이 출력된다.


2.로그인

  • 회원가입이 가능하며 회원가입한 이메일과 비밀번호로 로그인 된다.
  • 한 번 로그인이 된 상황에서는 앱을 재 시작할 때마다 자동 로그인이 된다.

3.레코딩

  • 시작지점에서 레코딩 할 수 있으며, 정지, 재 시작 기능이 있다.
  • 걸어가면서 자신이 걸은 경로를 볼 수 있으며, 총 걸은 시간, 평균 속도, 총 거리, 그리고 걸음 수를 확인 할 수 있다.

4. 업로드

  • 레코딩 한 기록을 타임라인에 올릴 수 있다.
  • 기록일지의 제목과 내용을 함께 올릴 수 있다.


4.타임라인

  • 내가 팔로우 한 사람들과 자신의 기록일지(거리, 최고 고도)를 볼 수 있다.
  • 타임라인의 내용을 클릭 시, 상세정보(거리, 이동시간, 평균속도, 걸음 수)를 확인 할 수 있다.

5.팔로우 추가

  • 계정 설정란에 들어가서 친구(팔로우) 찾기를 클릭 후, 아이디를 검색하여 친구를 추가 할 수 있다.


6.메달 시스템

  • 회원의 운동의 동기목적을 주기 위한 메달 시스템
    • 누적일 수를 기록하여 메달을 수여

Skill

  • Language : Kotlin
  • OS : Android
  • Database : Firebase
  • Library : Google Maps Platform

Reference


개발일지

1주차 (7.11 ~ 7.12)

  • 7월 11~12일 아이디어 토론.
  • 운동(걷기)를 도와주는 어플을 실버분들께 적용하기로 생각함.
  • Join이라는 어플 이름 제작.


2주차 (7.15 ~ 7.19)

JOIN어플에 필요한 기능에 대하여 공부하기로 결정.

심영민 : SNS의 기능을 공부.

  • Firebase 연동 ,Content DTO 구현
  • 로그인 페이지
  • 사진 업로드
  • 내비게이션 뷰
  • 리사이클러
  • 프래그먼트 액티비티

박진서 : 구글맵 기능을 공부

  • 구글 맵 API키로 구글맵 기능
  • 위치정보 퍼미션확인 기능
  • 카메라 위치, 선 긋기 설정
  • 내 위치, 특정 위치 표시

공통 : 깃헙(GitHub)에 대한 공부 및 이용 시작


3주차 (7.22 ~ 7.26)

심영민 : SNS의 기능 추가

  • 폰에 있는 갤러리 사진을 이용해 프로필 이미지 추가
  • 친구찾기 기능(파이어 베이스에 연동된 다른 아이디 검색)
  • 팔로잉/팔로워 수 확인 기능
  • 활동기록 탭 추가

박진서 : 맵 기능에 레코딩 기능 추가

  • 버튼리스너를 통해 맵 액티비티 변환
  • 위치(위도,경도)를 이동 시 선 긋기 설정
  • 위치가 바뀔때마다 위도,경도를 Realm데이터에 저장
  • 총 이동경로를 Realm데이터에서 받아 맵 지도에 표시 -> 후에 불필요하다 느껴 사용 X
  • 그동안의 맵 기능을 바탕으로 액티비티간 데이터 전송-> 프래그먼트간 데이터 전송으로 새 프로젝트 구현 시작

공통 : 공부한 것을 바탕으로 Merge시작


4주차 (7.29~ 8.2)

심영민 :

  • 지도 업로드 기능과 파이어베이스 연동(DTO) 구현
  • 지도 타이머 쓰레드 기능 조정
  • 지도 스냅샷 기능(Google static map의 URI를 이용) -> 어플에 이용

박진서 :

  • 레코드 디테일(총 시간, 평균 속도, 거리) xml 및 기능 구현
  • 프래그먼트 간 애니메이션 기능
  • 지도 스냅샷 기능(스크린샷 메소드를 이용) -> 사용 X

공통 :

  • 그동안 서로간의 기능들을 Merge함 - > GitHub을 이용
  • 맵기능에 초점 , 지도 스냅샷 기능, 출발지&목적지 마커 추가

5주차 (8.5~ 8.9)

  • 심화교육(Tensorflow를 이용한 딥 러닝 교육)으로 인해 특별한 기능 구현 x


6주차 (8.12 ~ 8.16)

심영민 :

  • 파이어베이스 연동하여 만보기 변수 추가 및 수정
  • 메달시스템 기능 추가
  • UI 수정

박진서 :

  • 만보기 기능 추가 및 xml 수정
  • MD파일 이용 파일 정리 및 발표 자료 준비

공통 :

  • 아이디어 회의 및 기능 추가, 수정.

최종 결과물(8월 마무리)

디자인 수정 및 기타 보상 컨텐츠 추가