An Android & iOS app consuming a [Valorant Game](https://valorant-api.com/) API to display agent list. it has been built with Kotlin Multiplatform Mobile (KMM), Repository Pattern and MVVM pattern as well as Architecture Components.
Here's a video of how it looks.
demo.mp4
- 100% Kotlin based, Coroutines Flow for asynchronous.
- Jetpack Compose (Android UI)
- SwiftUI (iOS UI)
- Ktor for networking
- SQLDelight for offline caching
- Coil(Android) & Kingfisher(iOS) for image loading
- (View -> ViewModel -> Usecase -> Repository -> Datasource)
- Usecase
- Repository pattern
- Single source of truth
- Offline caching
- Datasource
- Repository
- Usecase
- UiState(Loading, Success, Error)
https://github.com/Musfick/AgentX/blob/master/androidApp-debug.apk
- add koin for dependency injection
- add shared coroutine scope
- shared everything except ui
- improve iOS animation
- add testing :/
- improve architecture
- XCode Version 14.1
- Android Studio Hedgehog | 2023.1.1 Canary 7
Feel free to contribute in any way to the project from typos in docs to code review are all welcome.
Copyright 2023 Musfick Jamil
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.