Skip to content

This Android app, built with Kotlin using the OpenWeather API, displays current weather, pollution levels, and a 5-day forecast for a selected city.

Notifications You must be signed in to change notification settings

hossein69ameri/WeatherApp

Repository files navigation

WeatherApp

This Android project, built using Kotlin and the OpenWeather API , provides users with detailed weather information for a selected city. It displays current weather conditions, pollution levels, and a 5-day weather forecast. The app aims to offer a comprehensive view of weather and air quality in a simple interface.

Screen Shot

w3.webm

Technologies

  • MVVM Architecture
  • Kotlin Coroutines
  • Room Database
  • Kotlin Flow
  • LiveData
  • Dynamic Query
  • Single activity pattern
  • REST API
  • Safe Args
  • Kotlin Parcelize
  • Base Activity ,Fragment
  • Dependency injection

Built with

Kotlin - First class and official programming language for Android development.

Room - Save data in a local database using Room.

Font Calligraphy - View Inflation you can intercept.

Retrofit + OkHttp - RESTful API and networking client.

Hilt - Dependency injection.

ViewBinding - View binding is a feature that allows you to more easily write code that interacts with views.

Android Architecture Components - A collections of libraries that help you design robust, testable, and maintainable apps.

ViewModel - UI related data holder, lifecycle aware.

Navigation component - Fragment routing handler.

Coroutines - Concurrency design pattern for asynchronous programming.

Flow - Stream of value that returns from suspend function.

Coil - Image loading.

DynamicSize - New units of measure for support all of screen devices.

Architectures

android-mvvm-architecture

  • View: The purpose of this layer is to inform the ViewModel about the user’s action. This layer observes the ViewModel and does not contain any kind of application logic.

  • ViewModel: It exposes those data streams which are relevant to the View. Moreover, it serves as a link between the Model and the View.

  • Model: This layer is responsible for the abstraction of the data sources. Model and ViewModel work together to get and save the data.

Contact

Have a project? DM me at

hossein.arabameri69@gmail.com

Acknowledgments

Special thanks to Mr Mohammad Nouri for providing the course that helped me.

About

This Android app, built with Kotlin using the OpenWeather API, displays current weather, pollution levels, and a 5-day forecast for a selected city.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published