Jet-Weather
Jet Weather is an Android weather application developed using Jetpack Compose, Kotlin, Hilt, Retrofit, Room, Preferences DataStore, and Coil. It utilizes the openweathermap.org API to fetch real-time weather data for cities. The app enables users to search for cities, set a home location, and save favorites. Jet Weather follows the MVVM architecture and provides features to explore today’s weather, view a weekly forecast, toggle dynamic themes, and customize the app experience.
Screenshots
Technologies and Libraries Utilized
Jetpack Compose
A modern and declarative UI toolkit for building beautiful native Android interfaces with less code.
Kotlin
The primary programming language for Android app development.
Hilt
An advanced dependency injection framework for Android that simplifies the management of dependencies. Hilt reduces boilerplate code and provides a standardized way to inject dependencies into classes.
Retrofit
A type-safe HTTP client for Android that enables seamless network communication with the weathermap.org API.
Room
An intuitive SQLite object mapping library designed to streamline database interactions in Android applications.
Preferences DataStore
A comprehensive solution for managing user preferences.
Coil
An image loading library providing efficient and flexible image loading capabilities
Openweathermap.org API
The API used to retrieve weather information.
Features
City Search and Home Location
Users can effortlessly search for their desired cities and set them as their home location. This convenient feature allows quick access to the weather information of their primary location.
Favorite Cities
Jet Weather enables users to save multiple cities as favorites in the local database. By storing favorite cities, users can easily keep track of the weather conditions in their preferred locations.
Dynamic Theme
Leveraging the new Android 12+ dynamic theming feature, Jet Weather allows users to customize the app’s appearance to match their preferences. Users can toggle between light and dark themes for an optimized visual experience.
Animated Splash Screen
The app features an engaging animated splash screen that enhances the overall user experience. The splash screen provides a visually appealing introduction to the app while fetching initial data.
Today’s Weather Details
Users can view detailed weather information for the current day, including wind speed, humidity, pressure, sunrise and sunset times, visibility, temperature, feels like temperature, and descriptive weather information. The app also displays relevant weather images that depict the current weather conditions, such as clouds for cloudy days, sun for sunny days, and raining clouds for rainy days.
Weekly Forecast
Jet Weather presents users with a comprehensive weekly weather forecast. The forecast includes minimum and maximum temperatures, weather images, and descriptive weather information for intervals of three hours. This allows users to plan their activities based on anticipated weather conditions.