- 100% Kotlin
- MVVM architecture
- Android Architecture.
- Kotlin Coroutines + Flow
- Single activity pattern
- Dependency injection
-
Kotlin - First class and official programming language for Android development.
-
Coroutines - For asynchronous and more..
-
Flow - A cold asynchronous data stream that sequentially emits values and completes normally or with an exception.
-
Android Architecture Components - Collection of libraries that help you design robust, testable, and maintainable apps.
- LiveData - Data objects that notify views when the underlying database changes.
- ViewModel - Stores UI-related data that isn't destroyed on UI changes.
- Data Binding - Declarative way to bind data to UI layout.
- Navigation component - Fragment routing handler. (Upcoming)
-
- Hilt - Easier way to incorporate Dagger DI into Android apps.
-
Retrofit - A type-safe HTTP client for Android and Java.
-
Material Components for Android - Modular and customizable Material Design UI components for Android.
-
Glide - Image loading.
-
Logging Interceptor - logs HTTP request and response data.
MVVM
We follow Google recommended Guide to app architecture to structure our architecture based on MVVM, reactive UI using LiveData / RxJava observables and data binding.
- View: Activity/Fragment with UI-specific logics only.
- ViewModel: It keeps the logic away from View layer, provides data streams for UI and handle user interactions.
- Model: Repository pattern, data layers that provide interface to manipulate data from both the local and remote data sources. The local data sources will serve as single source of truth.
Home Screen | Favorite Screen | Details Screen |
---|---|---|
Splash Screen | Login Screen | Sign Up Screen |
---|---|---|
Tunahan Özataç