This project is a mobile application that displays weather information. Users can view weather forecasts and details through the application.
![](https://private-user-images.githubusercontent.com/60261458/322747929-585f0e41-dd6a-4c8d-8d37-cd504915fe2c.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIxNTEyNDAsIm5iZiI6MTcyMjE1MDk0MCwicGF0aCI6Ii82MDI2MTQ1OC8zMjI3NDc5MjktNTg1ZjBlNDEtZGQ2YS00YzhkLThkMzctY2Q1MDQ5MTVmZTJjLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MjglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzI4VDA3MTU0MFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWFlZTBhMzM3MjE1YjhhOWQwMzdhMzkwOTc2MjE1Y2Y2NDM5NjZiMzRlM2M5YWZlZjExMWMzNmZjNjk0M2ZhZjMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.M-zBHQnRaDkbPve9agDYPFJCFdXbuO9vH9aEzmyEy9Q)
- Kotlin: Kotlin is a modern, object-oriented programming language. It has become the preferred language for Android applications.
- Coroutines: Coroutines are used for asynchronous and non-blocking programming. They improve application performance and reduce code complexity.
- Retrofit: Retrofit is a REST client used to send and receive HTTP requests. It facilitates easy communication with the server.
- Hilt: Hilt is a dependency injection library. It is used to manage and inject dependencies within the application.
- Navigation: Navigation is a component used to facilitate navigation between screens in Android applications.
- ViewBinding: ViewBinding is used to access views in layout files. It is more efficient than the
findViewById()
method. - Room: Room is used to create and manage a local database in Android applications.
- Coil: Coil is a lightweight and fast library used to load and display images. It offers features like caching and thread management.
- Flow: Flow is used to manage data flow asynchronously while preserving the lifecycle awareness of the data stream.
- LiveData: LiveData is used for observing data and updating the user interface while preserving lifecycle awareness.
MVVM (Model-View-ViewModel)