Welcome to the Weather App repository! This application is built with modern technologies to provide a seamless weather forecasting experience. Below is a brief overview of the technologies used and a structured menu for exploring specific details.
- Architecture: MVVM (Model-View-ViewModel)
- Dependency Injection: Hilt Dagger
- Local Storage: Room Database
- API Calls: Retrofit
- UI: Jetpack Compose
- Image Loading: Coil
Explore further details and code structure in the sections below.
Dependencies
To manage dependencies efficiently, the following dependencies are incorporated into the project:
Dependency injection framework
Local database for efficient data storage
Library for making API calls
Used for managing app logic and observing data in Compose functions
Setup and Compatibility
Fixed Kotlin version compatibility issues in Gradle scripts.
Updated Kotlin plugin version to 1.8.10 and Jetpack Compose version to 1.4.3.
Resolved conflicts and ensured proper setup for Dagger Hilt integration.
These changes address compatibility concerns, ensuring seamless integration of Kotlin, Jetpack Compose, and Dagger Hilt within the project.
Data Management
To ensure stability and prevent errors from affecting the
To ensure stability and prevent errors from affecting the local database, the data is segregated into different entities:
Represents data received from API
Acts as an intermediary for UI display
Persists data locally for offline use
Data flow is maintained as follows: NetworkEntity -> DomainEntity -> CacheEntity. Specific mappers for each entity category are introduced to ensure consistency and robust data handling.
Video Links, Photos, and API Key
Watch the App fully implemented
https://www.weatherapi.com/login.aspx
Note that the API key is stored locally in the repository for personal safety.
Feel free to explore the app and provide feedback. If you encounter any issues or have suggestions for improvement, please open an issue in the repository.


