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.

GitHub

View Github