- Single Activity
- MVVM Structure
- Clean Code Architecture
- Multi Modular Architecture
View: Renders UI and delegates user actions to ViewModel
ViewModel: Can have simple UI logic but most of the time just gets the data from UseCase
UseCase: Contains all business rules and they written in the manner of single responsibility principle
Repository: Single source of data. Responsible to get data from one or more data sources
- Navigation Component: Consistent navigation between views
- LiveData: Lifecycle aware observable and data holder
- ViewModel: Holds UI data across configuration changes
- Databinding: Binds UI components in layouts to data sources
- Dagger-Hilt: Dependency injector
- Coroutines: Asynchronous programming
- Kotlin-Flow: Asynchronous programming
- Retrofit: Type safe HTTP client
- GSON: JSON serializer/deserializer
Copyright kkocaburak
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.