- 채팅탭 개편의 초점은 대화 공간을 깔끔하고 쾌적하게 정리하고, 발화에 대한 부담을 줄이는 것입니다.
- 사용자의 관리 노동 부담을 감소시킬 수 있습니다.
| 안태훈 | 👑박찬미 | 김예림 |
|---|---|---|
![]() |
![]() |
![]() |
DS 시스템 및ChatList Screen 작업 |
프로젝트 구조 및 SAA,FolderEditScreen 작업 |
공통 컴포넌트 작업 및Folderhome/more screen 작업 |
- 전체 채팅 탭: 모든 채팅방을 노출합니다.
- 안읽음 폴더 탭: 안읽음 채팅이 있을때만 노출합니다.
- 사용자 생성 폴더 탭: 폴더 내 채팅방 필터링 기능입니다.
- 채팅창 폴더 관리 뷰: 사용자가 폴더를 편집/추가/삭제 가능합니다.
프로젝트에 사용된 주요 기술 및 라이브러리 목록입니다.
- Language: Kotlin
- UI: Jetpack Compose
- Architecture: MVVM + 구글 권장 아키텍쳐
- DI: 수동 주입
- Asynchronous: Coroutines & Flow
- Network: Retrofit2 & OkHttp3
- Navigation: Single Activity Architecture
[feat]와 같이 태그를 붙여 커밋의 목적을 명확히 합니다.
[feat]: 새로운 기능 추가[mod]: 코드 수정[add]: 파일 추가[del]: 파일 삭제[fix]: 버그 수정[refactor]: 코드 리팩토링 (기능 변경 없음)
커밋 예시:
[커밋카테고리/#이슈번호] 커밋내용=> [feat/#16] screen ui 구성 완료
| 구분 (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 |
저희 팀은 안정적인 배포와 효율적인 협업을 위해 Git Flow 전략을 기반으로 브랜치를 운영합니다.
develop: 최종적으로 개발을 완성하는 상위 통합 브랜치fdeature/#이슈번호-where-기능: 기능을 개발하는 브랜치 (ex:feature/#1-main-login,feature/#2-home-search)develop브랜치에서 분기하여 개발 완료 후 **Pull Request(PR)**를 통해 코드 리뷰를 받고main에 병합합니다.
develop브랜치에서 새로운feature/#이슈번호-where-기능브랜치를 생성합니다.- 기능 구현 후 본인의 원격 저장소에
push합니다. develop브랜치로 **Pull Request(PR)**를 보냅니다.- 상호 소통 및 협의 이후 병합(Merge)합니다.
--


