Skip to content

Ttatta-org/Ttatta_Android

Repository files navigation

따따 Android

🐾 따따(Ttatta): 라가
어디서든 기록 가능한 위치 기반 추억 기록 서비스

사진위치"나만의 추억과 발자취를 기록할 수 있는 서비스" 이며,
다른 사람의 시선을 신경 쓰지 않고 간편하게 하루하루를 남길 수 있는 경험을 제공합니다.


image

image


🙌 Android 팀원 소개

조윤식 정재훈 나현주 홍지현
@CHOYUNSIG @deephoon @HyeonJooooo @Hongji03

Introduction

💗따따는 이러한 불편함을 해결하고자 기획하게 됐어요💗

“이 사진 좀 잘 나온 것 같은데? 인스타 올릴까..? 근데 남들 눈에도 잘 나온 것 같을까..? 다시 보니 별로야..”

→ 사진을 업로드할 때 신경 쓰이는 타인의 시선

“그렇다고 일기를 쓰기엔 매일 써야 할 것 같아 부담스러워..” → 기록하는 방법 중 대표적인 방식인 일기의 부담스러움

“인스타에 위치를 기록하려면 사진을 올려야 하는데 타인의 시선이 부담스러워… 그래서 카카오 맵에서 기록하는데 내가 일일이 핀을 찍어 저장하는 게 귀찮아..”

기존 여러 서비스의 불편함

Solution (MVP)

image

<기존의 SNS성격을 유지하되 타인을 빼버린 위치 기반 개인 맞춤 기록 공간>

Difference

💗따따 서비스의 차별점은 세가지가 있어요💗

개인형 SNS

  • 공유 기능 없이 오직 개인의 기록에 초점을 맞춘 새로운 SNS 서비스
  • 타인의 시선을 의식하지 않고, 나중의 '나'를 위한 기록 플랫폼.

부담없는 위치기반 일기 서비스

  • 위치 기반으로 사진 한 장으로 간단히 하루를 기록할 수 있는 부담 없는 일기 서비스.
  • 길고 정돈된 글이 필요하지 않아도 되는 자유로운 개인 기록 공간.
  • 기록의 본질에 집중하며 편리함과 간결함을 제공하는 차별화된 경험.

간편한 사용자 경험

  • 다른 서비스: 위치 검색 → 저장하기 → 카테고리 설정 등 복잡한 과정 필요.
  • 따따 : 카메라로 찍기 → 사진과 위치가 자동으로 저장되어 간단한 사용 경험 제공.

Feature

image image image image image

📌 진행 사항 확인

  • Notion에서 자세한 진행사항 보러가기 -> Notion

Tech Stack

다음은 프로젝트의 구현을 위해 사용하는 기술 스택을 정리한 표입니다.

이름 설명
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 디자인 패턴으로 구성합니다.

Conventions

다음은 본 프로젝트에 기여하는 개발자가 지켜야 할 컨벤션입니다.

Branch

본 프로젝트는 Gitflow 브랜치 전략을 따릅니다.

브랜치 전략 설명 이미지
  • master: 배포 가능한 단위의 브랜치
  • release: 배포 전 테스트가 가능한 단위의 브랜치
  • develop: 개발 중인 브랜치
  • feature/#issue_number: 개발 단위별 브랜치
  • hotfix: master 브랜치의 긴급 버그 수정 브랜치

모든 기능 개발은 다음 흐름을 따릅니다.

  1. 개발하고자 하는 기능에 대한 이슈를 등록하여 번호를 발급합니다.
  2. develop 브랜치로부터 분기하여 이슈 번호를 사용해 이름을 붙인 feature 브랜치를 만든 후 작업합니다.
  3. 작업이 완료되면 develop 브랜치에 풀 요청을 작성하고, 팀원의 동의를 얻으면 병합합니다.

Commit

커밋은 Gitmoji를 사용해 시각적으로 작성합니다. 다음은 본 프로젝트의 커밋 형식입니다. 각 줄 사이에는 빈 줄이 추가로 있음에 주의해주세요.

[깃모지] [제목]

[본문]

[이슈 번호 참조(선택)]

예시)

:bug: 버튼 버그 수정

키보드 콜백이 불러지지 않는 버그를 수정

관련 이슈 번호: #123, #234

각 깃모지의 의미는 이 블로그를 참고합니다. Android Studio 제공 플러그인을 사용하여 깃모지를 편리하게 이용할 수 있습니다.

Issue

이슈는 본 리포지토리에 등록된 목적에 맞는 이슈 템플릿을 사용하여 작성합니다.

  • Feature Template: 기능 추가를 위한 이슈에 사용
  • Bug Template: 버그 수정을 위한 이슈에 사용

Pull Request

풀 요청은 본 리포지토리에 등록된 템플릿을 사용하여 작성합니다.

Code

코드의 스타일은 Android 공식문서의 Kotlin 스타일 가이드를 최대한 따릅니다. 다음은 주요 네이밍 규칙입니다.

  • 작성되는 모든 소스 파일은 UTF-8로 인코딩되어야 합니다.
  • 코틀린 파일의 제목은 되도록이면 PascalCase를 사용하여야 합니다.
  • 컴포저블 함수의 이름은 PascalCase, 그 외 함수의 이름은 동사로 시작하는 camelCase를 사용하며, 변수명은 camelCase를 사용합니다. (람다식을 저장하는 변수도 camelCase를 사용합니다.)
  • 콜백 함수를 전달하는 변수일 경우 on으로 시작합니다. ex) onButtonClicked, onDataLoaded
  • 안드로이드 스튜디오 상의 IDE의 노란 줄에 주의합니다.

Environment

다음은 본 프로젝트의 안드로이드 개발 환경입니다.

  • 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)

About

따따 프론트엔드 리포지토리입니다.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages