acon은 “No more research”라는 슬로건을 가진 지도앱입니다.
공세영(Lead) @0se0 |
이상일 @Thirfir |
김성민 @1971123-seongmin |
양지원 @tunaunnie |
---|---|---|---|
동네인증, 업로드 | 장소탐색 | 로그인, (장소탐색 일부) | 온보딩 (장소탐색 일부) |
로그인 | 동네인증 | 온보딩 | 장소탐색 | 업로드 |
---|---|---|---|---|
💻 Github Convention
🚸 Naming Convention
📛 Coding Detail Convention
🏠 Composable Convention
🪐 Orbit Architecture
🍎 Issue Convention & PR Convention
Category | TechStack | 선정 이유 |
---|---|---|
Architecture | SAA(Single Activity Architecture), Clean Architecture, MVI(orbit) | 각 모듈의 역할을 명확히 분리하여 코드의 가독성과 확장성을 높이고, MVI 패턴을 통해 UI 상태를 예측 가능하게 관리하고 orbit을 활용해 더 나은 상태관리 |
Language | Kotlin | Android 개발에 보편적으로 사용하는 언어인 Kotlin을 사용합니다. |
Dependency Injection | Hilt | Hilt는 의존성 주입을 간소화하고 코드 간 결합도를 줄여, 더 나은 테스트와 유지보수를 가능하게 합니다. |
Network | Retrofit, OkHttp | Retrofit은 네트워크 통신을 간단히 처리하고, OkHttp는 세부 설정 및 로깅을 제공하여, 네트워크 통신의 안정성과 성능을 개선합니다. |
Asynchronous | Coroutines, Flow | Coroutines와 Flow를 사용하여 비동기 작업을 관리하고, 데이터 스트림을 효율적으로 처리하여 UI 업데이트와 상태 관리를 원활하게 합니다. |
Image | Coil | Coil은 이미지 로딩을 최적화하며, 빠르고 효율적인 이미지 처리를 통해 앱의 성능을 개선합니다. |
Strategy | Git Flow | Git Flow 전략을 통해 명확한 브랜치 관리와 협업 프로세스를 제공하여 효율적인 협업을 가능하게 합니다. |
CI | GitHub Action | GitHub Action을 활용한 CI 파이프라인을 통해 코드 품질을 유지하고 자동화된 빌드를 실행하여 오류를 미리 방지할 수 있습니다. |
1️⃣ 불만이 생기면 서로 솔직하게 얘기하기
2️⃣ 서로의 진행 상황에 대해 관심 갖고 지켜봐주기
3️⃣ 질문 많이해도 친절하게 답하기
4️⃣ 질문 전에 본인이 질문할 내용 정확히 다시 확인하기
5️⃣ 서로에게 칭찬 많이 해주기
6️⃣ 서로에게 상처주지 않는 둥글고 예쁜 말투 사용하기
- 6시간안에 PR 확인하기 (합숙 동안)
- 친절하게 알려주기
- 본인이 가능한 선에서 피드백 적용하되, 최대한 해보기
📦com.acon.acon
├─📂app
│ ├─📂di
│ ├─📂navigation
│ ├─📰Application.kt
│ └─📰MainActivity.kt
├─📂core
│ ├─📂designsystem
│ │ ├─📂component
│ │ ├─📂theme
│ ├─📂base
│ ├─ ...
├─📂data
│ ├─📂api
│ │ ├─📂local - SharedPreferences, DataStore, Room
│ │ └─📂remote - Retrofit
│ ├─📂datasource
│ │ ├─📂local
│ │ └─📂remote
│ ├─📂di - Hilt Module
│ ├─📂dto
│ │ ├─📂response - 응답 객체
│ │ └─📂request - 요청 객체
│ └─📂repository - RepositoryImpl
├─📂domain
│ ├─📂exception - 추후 논의 예정
│ ├─📂model
│ ├─📂repository
│ ├─📂usecase
├─📂feature
│ ├─📂explore
│ │ ├─📂component
│ │ ├─📂screen
│ │ │ ├─📂spotlist
│ │ │ │ ├─📂composable
│ │ │ │ │ ├─📰SpotListScreen.kt
│ │ │ │ │ └─📰SpotListScreenContent.kt
│ │ │ │ └─📰SpotListViewModel.kt
│ │ │ ├─📂spotdetail
│ │ │ │ ├─📂composable
│ │ │ │ │ ├─📰SpotDetailScreen.kt
│ │ │ │ │ └─📰SpotDetailScreenContent.kt
│ │ │ │ └─📰SpotDetailViewModel.kt
│ │ │ ├─📂...
│ │ ├─📂type
│ ├─📂signin
│ │ ├─📂component
│ │ ├─ ...