A simple Android app to show city weather

Related tags

App city-weather
Overview

City Weather Application

A simple MVVM application to show a list of cities weather where you can search for your favorite city weather and see its weather info

Weather information includes

  • Current temperature.
  • Weather condition.
  • Wind speed, humidity percentage, and pressure.
  • Search for other cities' weathers.

Technologies used in project:

  • Kotlin Coroutines for background operations.
  • MVVM architecture.
  • ViewModel and LiveData.
  • Hilt for dependency injection.
  • Navigation component.
  • A data layer with a repository.
  • A collection of unit rest.
  • Utility classes for unit conversions and JSON parsing ..etc.

Third-party libraries used in this project:

  • Glide: To load and show images.
  • Truth: Is library for performing assertions in tests.
  • Gson: To convert JSON to Java objects.

The project consists of:

  • data: To act as the data layer.
  • ui: Contains the app pages.
    • List: Show the list of the cities and a search bar to search for city by city name.
    • Details: Show the selected city weather details
  • utils: For utilities.

How to use the app

  • When open the app a list of cities with a summary for each city weather will appear in a list.

  • When search, use the city name and click "search" button on you keyboard.

  • If a city is selected a details page will open

Known issues

  • There are a delay when loading the list when you open the app the first time because the file is being downloaded from the server, parsed the json, save it in database, then finally will be shown in the screen.
  • Next time you will open the application the data will be loaded directly from the database, but still expecting to take some time due the size of the data (All data retrieved at once).
  • This can be solved by applying pagination, by getting the data page by page with a certain size (ex: 10 items per request), that will make retrieving the data much faster and efficient.

Future work

  • Fix known issues.
  • Add pagination for the cities list.
  • Add more test.
You might also like...
WeatherApp - Simple Weather app using Kotlin
WeatherApp - Simple Weather app using Kotlin

WeatherApp Simple Weather application using Kotlin Tools Open Weather API

A simple weather application focused on material UI and API data calls.

YAWA-WeatherApp YAWA is a simple single screen, single activity weather app with material UI. This repository is mainly focused on people who want to

Project BlueWeather is an android app that lists the closest locations to you and shows the 7-day weather forecast for the location you select.
Project BlueWeather is an android app that lists the closest locations to you and shows the 7-day weather forecast for the location you select.

Project BLUEWEATHER Description Project BlueWeather is a weather forecast application for android. It lists the locations closest to you. It then prov

A weather app for Android using OpenWeatherMap with MVVM + Clean Architecture

Weather App 🌤 Weather App for Android that shows 16 days forecast for Paris, France - Made with Hilt, Coroutines, Retrofit, ViewModel, Navigation bas

Weather App using Retrofit Kotlin Android

NewsFeed Built an Android App which displays current weather and weather forecast of a selected city to the user. Features Coroutines Hilt JSON Parsin

Android weather forecast app, which uses OpenWeatherMap API
Android weather forecast app, which uses OpenWeatherMap API

Weather App 🌦 Android weather forecast app, which uses OpenWeatherMap API About Simple, free and fast weather API from OpenWeatherMap you have access

Koliber - Android weather & air pollution app. Current air quality index and forecast
Koliber - Android weather & air pollution app. Current air quality index and forecast

Donate If you like this app please donate Bitcoin: bc1qwqqpuy54qfja7h5dzpd9swgrn

A simple app to show case Master detail application for Movies
A simple app to show case Master detail application for Movies

Decade of Movies App Demo Application to understand the architecture of MVVM App with Unit tests Build Instructions The gradle build system will fetch

Paint-me Is a simple painting app. Feel free to show your artistic talent on the wide canvas provided!

Kicking Off Hacktoberfest with ACM-VIT! PaintMe PaintMe Is a simple one screen-canvas painting app. Feel free to show your artistic talent on the wide

Owner
Mohammad Alhaj
Mohammad Alhaj
This Android app shows bus connections from Koleje Strahov station to Dejvická station and the other way in the city of Prague

This Android app shows bus connections from Koleje Strahov station to Dejvická station and the other way in the city of Prague. These are important for many students from the Czech Technical University in Prague.

Lašťa Apps 3 Jul 28, 2022
Advanced Android Weather App using MVVM Architecture Sample (ViewModel + LiveData + Kotlin + volley) = Weather App

Advanced Android Weather App using MVVM Architecture Sample (ViewModel + LiveData + Kotlin + volley) = Weather App Video Weather.-.HD.720p.mov Introdu

wykee2 4 Jul 12, 2022
Link to GTA Vice City Soundtracks by station

SoundsLink Link to GTA Vice City Soundtracks by station The Basics This application was built for those who loved everything about GTA Vice City inclu

Ayana Bando 0 Oct 31, 2021
Weather-app - Making Weather application using retrofit from api

weather-app Motivasyon Hava Durumu uygulamasını api'den retrofit kullanarak yapm

İsa Kulaksız 0 Nov 2, 2022
☁️🌤🌧☀ Weather Android application that gives you the weather information of your saved location or any region you are looking for☁️🌤🌧☀

☁️????☀ Weather Android application that gives you the weather information of your saved location or any region you are looking for☁️????☀

Nisa Efendioğlu 4 Apr 6, 2022
WeatherProject - Weather Project using GPS data and the weather from the API based on the search

WeatherProject In this project, I showed the weather at the current location usi

null 6 Apr 26, 2022
A simple and minimalistic weather forecasting android app.

Ohayō is a minimalistic weather forecast application developed using Kotlin language Screenshoots Technologies Used Jetpack navigation MVVM Arch

Christopher Nanju 1 May 6, 2022
A Simple Weather App With Kotlin

WeatherApp This application is a simple weather application where you can see the current weather conditions according to your location and the weathe

Abdullah Furkan Titiz 1 May 17, 2022
null 0 Jan 7, 2022
Weatherapp is a simple weather forecast app

Weatherapp Weatherapp is a simple weather forecast app, which uses some APIs to fetch 5 day / 3 hour forecast data from the OpenWeatherMap and to fetc

null 2 Apr 28, 2022