하루를 자동으로 기록하고 공유하는 위치 기반 소셜 다이어리 📝
-
플레이스토어 비공개테스트 URL : https://play.google.com/store/apps/details?id=potatocake.katecam.everymoment
-
kakaotechcampus.mentor@gmail.com를 테스터 계정으로 추가하였습니다!
이 계정으로 테스트를 진행해주시기를 바랍니다 😊
바쁜 일상 속에서 하루를 되짚으며 일기를 꾸준히 쓰는 것은 쉽지 않은 일입니다.
Every Moment는 위치 데이터를 기반으로 사용자의 하루를 자동으로 기록하고 친구들과 공유할 수 있는 소셜 다이어리 서비스입니다.
- 📍 위치 기반 자동 기록: 15분 이상 머문 장소 자동 감지 및 일기로 기록
- 🤝 소셜 다이어리: 친구들과 일기 공유 및 소통
- 🔍 스마트 검색: 다양한 필터링 옵션으로 원하는 일기 빠른 검색
- 🔔 실시간 알림: 친구와의 상호작용(좋아요, 댓글, 친구 요청 등)과 새로운 장소 감지를 실시간으로 알림
default.mp4
| 홈화면- 자동 일기 기록1 |
홈화면- 자동 일기 기록2 |
홈화면- 수동 일기 기록 |
홈화면- 일기 편집 · 읽기 |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
| 15분동안 머문 장소를 자동으로 기록 |
알림을 통해 사용자에게 일기 상기시키고 간단한 이모지로 감정표현 |
사용자 수기 일기 작성 | 초안 일기를 바탕으로 사진 · 카테고리 · 상세일기 추가가능 |
홈화면의 편집 버튼을 통해 해당 일기의 장소명을 가장 가까운 장소 외 다른 후보 장소로 변경할 수 있습니다.홈화면의 북마크 버튼을 사용해 특별히 보관할 수 있으며,홈화면의 공유 버튼을 통해 친구와 공유하거나삭제 버튼으로 쉽게 삭제할 수 있습니다.우측 하단 버튼을 통해 사용자는 수기로 일기를 추가할 수 있습니다.- 특정 일기를 클릭하면 상세 보기 화면으로 이동하며, 편집 화면에서 사진, 카테고리, 일기 내용을 추가할 수 있습니다.
| 로그인화면 | 온보딩화면 | 검색화면- 다양한 검색 필터링 |
피드화면- 친구와의 일기 공유 |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
| ① 카카오로그인 ② 비회원로그인 |
처음 설치한 사용자들을 위한 가이드 화면 |
다양한 검색 조건으로 손쉬운 일기 찾기 |
원하는 일기를 공유하여 친구와 소통 |
- 로그인 화면: 카카오 로그인과 비회원 로그인을 통해 간편하게 접근할 수 있습니다.
- 온보딩 화면: 처음 설치한 사용자에게 안내하는 가이드 화면입니다.
- 검색 화면 - 다양한 검색 필터링: 다양한 검색 조건(날짜, 북마크여부, 카테고리별, 이모지별)을 통해 원하는 일기를 빠르고 손쉽게 찾을 수 있습니다.
- 피드 화면 - 친구와의 일기 공유: 원하는 일기를 공유하여 친구들과 소통하고 댓글로 상호작용할 수 있습니다.
- MVVM 패턴 적용
project-root ├── ... ├── REPOSITORY # 데이터 처리 및 비즈니스 로직 계층, API 상호작용 └── presentation ├── ... ├── VIEW # Activity와 Fragment 클래스 └── VIEWMODEL # UI 관련 데이터를 관리하는 ViewModel 클래스 - Hilt 적용
- 기능 테스트 부분 적용
- 자동 일기 기록
- Google Places API를 통해 GPS 좌표를 전달해 장소명을 도출
- 백그라운 상태에서 GPS 위치추적을 위해
android.permission.ACCESS_BACKGROUND_LOCATION권한추가 - 백그라운드 위치 토글 동작에서의 지연 · 오류를 최소화하는 데 기여하기 위한 설정추가
Priority.PRIORITY_BALANCED_POWER_ACCURACY # 정확도를 어느 정도 확보하면서도, 배터리 소모를 최적화해 토글 동작에서의 지연을 방지 setMinUpdateIntervalMillis(LOCATION_UPDATE_INTERVAL) # 앱이 위치 업데이트 요청을 너무 자주 하지 않도록 제어 setMaxUpdateDelayMillis(LOCATION_UPDATE_INTERVAL): # 위치 업데이트가 일정 시간 이상 지연되지 않도록 보장 setWaitForAccurateLocation(false): # 정확한 위치를 기다리지 않고, 가능한 범위 내에서 가장 빠르게 받을 수 있는 위치 업데이트를 허용 - 불필요한 서버 전송 예방을 위해
isFirstLocationUpdateAfterChange플래그 추가 - GPS 오차범위로 인한 장소명 매칭 에러를 해결하기 위해 팝업메뉴에 장소명 후보지 나열하여 사용자가 편집할 수 있도록 함
- FCM을 통해 새로운 장소 기록 시, 사용자에게 알림을 보내어 현재 감정상태를 이모지로 손쉽게 표현할 수 있음
- 2024.09 ~ 2024.11 (3개월)
-
API 서버: http://13.125.156.74:8080
-
API 문서: Swagger UI | 노션 문서
저희 팀은 백엔드 2명, 안드로이드 3명으로 구성되어 있습니다.
| 최준형 | 전혜지 | 이아림 | 윤채원 | 권새일 |
Backend |
Backend |
Android |
Android |
Android |









