🐾 따따(Ttatta): 따라가다
어디서든 기록 가능한 위치 기반 추억 기록 서비스
사진과 위치로 "나만의 추억과 발자취를 기록할 수 있는 서비스" 이며,
다른 사람의 시선을 신경 쓰지 않고 간편하게 하루하루를 남길 수 있는 경험을 제공합니다.
| 조윤식 | 정재훈 | 나현주 | 홍지현 |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
| @CHOYUNSIG | @deephoon | @HyeonJooooo | @Hongji03 |
💗따따는 이러한 불편함을 해결하고자 기획하게 됐어요💗
“이 사진 좀 잘 나온 것 같은데? 인스타 올릴까..? 근데 남들 눈에도 잘 나온 것 같을까..? 다시 보니 별로야..”
→ 사진을 업로드할 때 신경 쓰이는 타인의 시선
“그렇다고 일기를 쓰기엔 매일 써야 할 것 같아 부담스러워..” → 기록하는 방법 중 대표적인 방식인 일기의 부담스러움
“인스타에 위치를 기록하려면 사진을 올려야 하는데 타인의 시선이 부담스러워… 그래서 카카오 맵에서 기록하는데 내가 일일이 핀을 찍어 저장하는 게 귀찮아..”
→ 기존 여러 서비스의 불편함
<기존의 SNS성격을 유지하되 타인을 빼버린 위치 기반 개인 맞춤 기록 공간>
💗따따 서비스의 차별점은 세가지가 있어요💗
✨개인형 SNS✨
- 공유 기능 없이 오직 개인의 기록에 초점을 맞춘 새로운 SNS 서비스
- 타인의 시선을 의식하지 않고, 나중의 '나'를 위한 기록 플랫폼.
✨부담없는 위치기반 일기 서비스✨
- 위치 기반으로 사진 한 장으로 간단히 하루를 기록할 수 있는 부담 없는 일기 서비스.
- 길고 정돈된 글이 필요하지 않아도 되는 자유로운 개인 기록 공간.
- 기록의 본질에 집중하며 편리함과 간결함을 제공하는 차별화된 경험.
✨간편한 사용자 경험✨
- 다른 서비스: 위치 검색 → 저장하기 → 카테고리 설정 등 복잡한 과정 필요.
- 따따 : 카메라로 찍기 → 사진과 위치가 자동으로 저장되어 간단한 사용 경험 제공.
📌 진행 사항 확인
다음은 프로젝트의 구현을 위해 사용하는 기술 스택을 정리한 표입니다.
| 이름 | 설명 |
|---|---|
| Kotlin | 프로그래밍 언어 |
| Jetpack Compose | 인-코드 선언형 앱 설계 |
| Git | 체계적인 코드 관리 및 협업 |
다음과 같은 라이브러리 의존성을 가지고 있습니다.
| 이름 | 버전 | 설명 |
|---|---|---|
| Jetpack Navigation | 2.0.21 | 화면 전환 관리를 위한 라이브러리 |
| Hilt | 2.51.1 | 의존성 주입을 위한 라이브러리 |
| Retrofit2 | 2.11.0 | HTTP 통신을 위한 라이브러리 |
| SharedPreference | 1.2.1 | 로컬 데이터 저장 라이브러리 |
| Room | 2.6.1 | 로컬 데이터베이스 라이브러리 |
| Naver Map SDK | 3.20.0 | 네이버 지도 사용을 위한 SDK |
| KakaoSDK | 2.20.6 | 카카오 로그인을 위한 SDK |
| Android JUnit | 1.2.1 | 단위 테스트를 위한 라이브러리 |
본 프로젝트는 멀티 모듈 아키텍쳐를 기반으로, 뷰모델을 사용한 MVVM 디자인 패턴으로 구성합니다.
다음은 본 프로젝트에 기여하는 개발자가 지켜야 할 컨벤션입니다.
본 프로젝트는 Gitflow 브랜치 전략을 따릅니다.
master: 배포 가능한 단위의 브랜치release: 배포 전 테스트가 가능한 단위의 브랜치develop: 개발 중인 브랜치feature/#issue_number: 개발 단위별 브랜치hotfix:master브랜치의 긴급 버그 수정 브랜치
모든 기능 개발은 다음 흐름을 따릅니다.
- 개발하고자 하는 기능에 대한 이슈를 등록하여 번호를 발급합니다.
develop브랜치로부터 분기하여 이슈 번호를 사용해 이름을 붙인feature브랜치를 만든 후 작업합니다.- 작업이 완료되면
develop브랜치에 풀 요청을 작성하고, 팀원의 동의를 얻으면 병합합니다.
커밋은 Gitmoji를 사용해 시각적으로 작성합니다. 다음은 본 프로젝트의 커밋 형식입니다. 각 줄 사이에는 빈 줄이 추가로 있음에 주의해주세요.
[깃모지] [제목]
[본문]
[이슈 번호 참조(선택)]
예시)
:bug: 버튼 버그 수정
키보드 콜백이 불러지지 않는 버그를 수정
관련 이슈 번호: #123, #234
각 깃모지의 의미는 이 블로그를 참고합니다. Android Studio 제공 플러그인을 사용하여 깃모지를 편리하게 이용할 수 있습니다.
이슈는 본 리포지토리에 등록된 목적에 맞는 이슈 템플릿을 사용하여 작성합니다.
Feature Template: 기능 추가를 위한 이슈에 사용Bug Template: 버그 수정을 위한 이슈에 사용
풀 요청은 본 리포지토리에 등록된 템플릿을 사용하여 작성합니다.
코드의 스타일은 Android 공식문서의 Kotlin 스타일 가이드를 최대한 따릅니다. 다음은 주요 네이밍 규칙입니다.
- 작성되는 모든 소스 파일은 UTF-8로 인코딩되어야 합니다.
- 코틀린 파일의 제목은 되도록이면
PascalCase를 사용하여야 합니다. - 컴포저블 함수의 이름은
PascalCase, 그 외 함수의 이름은 동사로 시작하는camelCase를 사용하며, 변수명은camelCase를 사용합니다. (람다식을 저장하는 변수도camelCase를 사용합니다.) - 콜백 함수를 전달하는 변수일 경우
on으로 시작합니다. ex)onButtonClicked,onDataLoaded - 안드로이드 스튜디오 상의 IDE의 노란 줄에 주의합니다.
다음은 본 프로젝트의 안드로이드 개발 환경입니다.
targetSDK: 35,minSDK: 26- 안드로이드 스튜디오 버전: Ladybug | 2024.2.1 또는 그 히상
- 테스트 환경: 안드로이드 스튜디오 제공 에뮬레이터(AVD)
-
- 기기명: Pixel 8
- API 35 (Android 15.0, x86_64)
- 1080 x 2400 px (412 x 915 dp)






