Skip to content

nedaluof/WeatherX

Repository files navigation

WeatherX

License API

WeatherX 🌡️☁️❄️☀️ Android application demonstrate various Android development best practices

🌀 Tech stack

  • Kotlin

  • Coroutines for asynchronous tasks.

  • ksp: Kotlin Symbol Processing for code generation.

  • Jetpack Libraries:

    • Jetpack Compose: Android’s modern declarative UI-toolkit.
    • Android Architecture Components
      • Lifecycle: Observe Android lifecycles and handle UI states based on the lifecycle changes.
      • ViewModel: Manage UI-related data.
      • Room Database : provides an abstraction layer over SQLite to allow fluent database access while harnessing the full power of SQLite.
      • Hilt: dependency injection library for Android that reduces the boilerplate of doing manual dependency injection in your project.
      • Compose Navigation Component : The Navigation component provides support for Jetpack Compose applications. You can navigate between composables while taking advantage of the Navigation component's infrastructure and features., supported by Hilt Compose Navigation.
  • Retrofit2 & OkHttp3: to request REST APIs.

  • Moshi: A modern JSON library for Kotlin and Java.

  • Coil Compose: Loading images from network.

  • Lottie Compose.

  • Accompanist Permissions A library which provides Android runtime permissions support for Jetpack Compose.

  • Architecture

    • The app following MVVM Clean Architecture (View - ViewModel - Model) - Domain layer - Data layer with Repository Pattern, Which facilitates separation of concerns



Weather API KEY

before build the project an to be able to use weather forecast API you need to get your own
API key from openweathermap then add it to local.properties file

API_KEY = [YOUR_API_KEY]

License

Copyright 2025 Nedal Hasan ABDALLAH (NedaluOf)

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an 
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
either express or implied. See the License for the specific 
language governing permissions and limitations under the License.

About

WeatherX 🌡️☁️❄️☀️ Android application demonstrate various Android development best practices

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages