- Notifications
You must be signed in to change notification settings - Fork32
Star wars sample android project showcasing the use of View components for rendering UI in Fragments and Activities. Uses Android Jetpack, clean architecture with MVI (Uni-directional data flow), dagger hilt, and kotlin coroutines with StateFlow
License
Ezike/StarWarsSearch-MVI
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Hey there 👋🏼👋🏼👋🏼
This project contains an implementation of the Componentization idea as shown by the UI Engineering team at Netflix.
- Clean Architecture with MVI (Uni-directional data flow)
- View components
- Kotlin Coroutines with Flow
- Dagger Hilt
- Kotlin Gradle DSL
- GitHub actions for CI
To build this project, you require:
- Android Studio Jellyfish
- Gradle 8.3
- Kotlin 1.9.23
- Android Gradle Plugin 8.2.0
Run the following command in the root of the project to setup your Android Studio:
./setup.shThis script will configurektlint
Viewmodel - Presenter for persisting view state across config changes
FlowBinding - converts traditional view click listeners and call backs to Kotlin flow
Room - Provides abstraction layer over SQLite
Retrofit - type safe http client and supports coroutines out of the box.
Moshi - JSON Parser,used to parse requests on the data layer for Entities and understands Kotlin non-nullable and default parameters
okhttp-logging-interceptor - logs HTTP request and response data.
kotlinx.coroutines - Library Support for coroutines,provides
runBlockingcoroutine builder used in testsTruth - Assertions Library,provides readability as far as assertions are concerned
MockWebServer - web server for testing HTTP clients ,verify requests and responses on the star wars api with the retrofit client.
Robolectric - Unit test on android framework.
Espresso - Test framework to write UI Tests
Dagger Hilt - handles dependency injection
Copyright 2020-2021 Ezike TobennaLicensed 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.0Unless required by applicable law or agreed to in writing, softwaredistributed 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 andlimitations under the License.About
Star wars sample android project showcasing the use of View components for rendering UI in Fragments and Activities. Uses Android Jetpack, clean architecture with MVI (Uni-directional data flow), dagger hilt, and kotlin coroutines with StateFlow
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.


