Skip to content

Repository files navigation

38-COLLABORATION-ANDROID-KAKAOTALK

38기 LET'S SPOT 합동 세미나 안드로이드 5조 카카오톡 조 입니다.


📌 1. 간단한 소개 (Service Brief)

카카오톡 폴더 관리 기능 이용자가 이탈 시 리텐션 서비스 프로젝트

  • 채팅탭 개편의 초점은 대화 공간을 깔끔하고 쾌적하게 정리하고, 발화에 대한 부담을 줄이는 것입니다.
  • 사용자의 관리 노동 부담을 감소시킬 수 있습니다.


👥 2. 팀원 및 역할 분담 (Team & Roles)


안태훈 👑박찬미 김예림
image image 화면 캡처 2026-05-16 224452
DS 시스템 및
ChatList Screen 작업
프로젝트 구조 및 SAA,
FolderEditScreen 작업
공통 컴포넌트 작업 및
Folderhome/more screen 작업

✨ 3. 주요 기능 및 기술 스택 (Key Features & Tech Stack)

  • 전체 채팅 탭: 모든 채팅방을 노출합니다.
  • 안읽음 폴더 탭: 안읽음 채팅이 있을때만 노출합니다.
  • 사용자 생성 폴더 탭: 폴더 내 채팅방 필터링 기능입니다.
  • 채팅창 폴더 관리 뷰: 사용자가 폴더를 편집/추가/삭제 가능합니다.



프로젝트에 사용된 주요 기술 및 라이브러리 목록입니다.

Android

  • Language: Kotlin
  • UI: Jetpack Compose
  • Architecture: MVVM + 구글 권장 아키텍쳐
  • DI: 수동 주입
  • Asynchronous: Coroutines & Flow
  • Network: Retrofit2 & OkHttp3
  • Navigation: Single Activity Architecture

🤝 4. 컨벤션 규칙과 브랜치 전략 (Convention Rules & Branch Strategy)

💬 커밋 메시지 컨벤션 (Commit Message Convention)

[feat]와 같이 태그를 붙여 커밋의 목적을 명확히 합니다.

  • [feat]: 새로운 기능 추가
  • [mod] : 코드 수정
  • [add] : 파일 추가
  • [del] : 파일 삭제
  • [fix]: 버그 수정
  • [refactor]: 코드 리팩토링 (기능 변경 없음)

커밋 예시: [커밋카테고리/#이슈번호] 커밋내용 => [feat/#16] screen ui 구성 완료

🧑‍💻 코드 컨벤션 (Code Convention)

구분 (Type) 네이밍 규칙 (Naming Rule) 예시 (Example)
Function lowerCamelCase
단, @Composable 함수는 UpperCamelCase
fun blurFunction()
@Composable fun BasicBlurButton()
Variable lowerCamelCase val blurVariable, var blurVariable
Class UpperCamelCase class BlurClass
Interface UpperCamelCase interface BlurInterface
Constant (const val) SCREAMING_SNAKE_CASE const val BLUR_VALUE
DTO Class UpperCamelCase SignUpRequestDto
Retrofit Function lowerCamelCase
(HTTP 메서드명을 접두사로 사용)
get[What], post[What], put[What], patch[What], delete[What]
Drawable File snake_case
(디자이너 지정 명칭 우선)
ic_design_name.xml

브랜치 전략 (Branch Strategy)

저희 팀은 안정적인 배포와 효율적인 협업을 위해 Git Flow 전략을 기반으로 브랜치를 운영합니다.

  • develop: 최종적으로 개발을 완성하는 상위 통합 브랜치
  • fdeature/#이슈번호-where-기능: 기능을 개발하는 브랜치 (ex: feature/#1-main-login, feature/#2-home-search)
    • develop 브랜치에서 분기하여 개발 완료 후 **Pull Request(PR)**를 통해 코드 리뷰를 받고 main에 병합합니다.

🔄 작업 흐름 (Workflow)

  1. develop 브랜치에서 새로운 feature/#이슈번호-where-기능 브랜치를 생성합니다.
  2. 기능 구현 후 본인의 원격 저장소에 push합니다.
  3. develop 브랜치로 **Pull Request(PR)**를 보냅니다.
  4. 상호 소통 및 협의 이후 병합(Merge)합니다.

--

🎥 5. 시연 영상


KakaoTalk_20260522_131930323.mp4

About

38기 LET'S SPOT 합동 세미나 안드로이드 5조 카카오톡

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages