- Riot Games에서 개발한 "리그 오브 레전드"라는 게임의 유저들을 검색해서 게임 전적,매치 정보, 티어 정보등와 같은 게임 정보를 사용자에게 제공하는 프로젝트 입니다.
- 리그 오브 레전드 게임을 즐기는 유저들의 닉네임을 안다면 검색하여 해당 유저의 게임 전적과 같이 플레이한 팀원들의 정보, KDA, 랭크등 다양한 정보를 알아 볼 수 있습니다
- 유저 정보 등록하기 기능이 있어서 정보를 한 번 등록하면 검색하지 않아도 앱을 실행하자마자 바로 정보를 볼 수 있습니다.
- 즐겨찾기 기능을 통해 다른 유저를 즐겨찾기에 등록하여 검색을 하지 않아고 한 번의 클릭으로 유저 정보를 알 수 있습니다.
- 게임 전적을 받아올 때 페이징을 사용했지만 라이엇에서 API 콜 제한을 두었기 때문에 게임 전적 20개만 받아오도록 설정했습니다.
- Min SDK lvevel 26
- Kotlin 1.7.0
- JetPack
- LifeCycle
- LiveData
- flow
- ViewModel
- Room
- DataBinding
- ViewBinding
- Navigation
- DataStore
- WorkManager
- Paging3
- Hilt
- Glide
- Retrofit
- OkHttp
- Moshi
- Coroutine
- SafeArgs
- Firebase Auth
- Firebase Remote Config
- ViewPager2
- MVVM 디자인 패턴 + Google Recomanded Architecture를 이용해 앱을 구성했습니다.
MVVM
Google Recomanded Architecture
- google에 권장 가이드에 따라 Presenter -> Doamin -> Data 모듈 순으로 아키텍처를 구성했습니다. 각 화살표는 의존성을 나타냅니다.
화면 구성
홈 화면 | 검색 화면 | 챔피언 화면 | 설정 화면 |
로그인, 회원가입 기능
로그인 | 회원가입 |
검색 기능
검색 결과 | 최근 검색한 유저 |
즐겨찾기 기능
즐겨찾기 등록 | 즐겨찾기 해제 |
챔피언 즐겨찾기 기능
챔피언 화면 | 챔피언 즐겨찾기 |
메인 정보
메인 정보 등록 | 메인 정보 삭제 | 메인 정보 새로고침 |
전적 상세 화면
전적 상세 화면 | 상세 화면 유저 검색 |
테마 설정
테마 설정 기능 |