https://github.com/lanpet-dev/android-app
LanPet android native application
https://github.com/lanpet-dev/android-app
android-app clean-architecture multi-module-architecture mvvm
Last synced: about 1 month ago
JSON representation
LanPet android native application
- Host: GitHub
- URL: https://github.com/lanpet-dev/android-app
- Owner: LanPet-dev
- Created: 2024-11-13T14:56:13.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2025-03-04T14:55:52.000Z (over 1 year ago)
- Last Synced: 2025-03-19T22:54:18.483Z (over 1 year ago)
- Topics: android-app, clean-architecture, multi-module-architecture, mvvm
- Language: Kotlin
- Homepage:
- Size: 134 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# LanPet android app
### 반려동물을 좋아하는 사람들의 모임
로그인 자동로그인 인증
사랑방리스트 사랑방프로세스 프로필프로세스
적응형 다크모드 멀티해상도
# Tech Stack
1. Architecture
- Multi module (https://developer.android.com/topic/modularization?hl=ko)
- Clean architecture
- MVVM pattern
2. Android
- Kotlin
- Jetpack Compose
- Hilt
- Coroutines
- Retrofit2
- Design system
- Version catalogs
- Room
- Design system
- Ktlint with Compose rule
3. Testing
- Junit5
- mockk
- Turbine (https://github.com/cashapp/turbine)
- Robolectric (https://developer.android.com/training/testing/local-tests/robolectric?hl=ko)
# Project structure
Multi module based clean architecture
```
Root project 'LanPetApp'
├── Project ':app'
├── Project ':core'
│ ├── Project ':core:auth'
│ ├── Project ':core:common'
│ ├── Project ':core:designsystem'
│ ├── Project ':core:di'
│ ├── Project ':core:manager'
│ ├── Project ':core:navigation'
│ └── Project ':core:testing'
├── Project ':data'
│ ├── Project ':data:dto'
│ ├── Project ':data:repository'
│ └── Project ':data:service'
├── Project ':domain'
│ ├── Project ':domain:model'
│ ├── Project ':domain:repository'
│ └── Project ':domain:usecase'
└── Project ':feature'
├── Project ':feature:auth'
├── Project ':feature:free'
├── Project ':feature:landing'
├── Project ':feature:myposts'
├── Project ':feature:myprofile'
├── Project ':feature:profile'
├── Project ':feature:settings'
└── Project ':feature:wiki'
Included builds:
└── Project ':build-logic'
```
# Make module graph
```
1. Install Graphviz
- brew install graphviz
2. Run gradle task
- ./gradlew projectDependencyGraph
```