Skip to content

AmrAshraf-git/Weather-App

Repository files navigation

Weather App

Overview

Weather App is a modern Android weather application built using Jetpack Compose, Kotlin, and MVVM Design with Clean Architecture principles. It provides accurate weather information including current temperature, forecasts, and weather conditions with smooth UI animations


Functional

📍 Current Location Weather – Automatically fetch weather based on user’s GPS

⛅ Current Weather Details – Temperature, condition, min/max, and more

🕒 Hourly Forecast – Visual temperature and status per hour

📆 7-Day Forecast – Daily forecast with detailed UI

🌙 Day & Night Themes – Automatic dynamic UI based on time

🎨 Modern UI – Jetpack Compose + animated weather headers

🌐 Localization Ready – Support for English and Arabic (planned)

☁️ Powered by Open-Meteo API

Technical

Tech Description
🧠 Kotlin Modern programming language
🧩 Jetpack Compose Declarative UI toolkit
🛰️ Ktor Client API requests
📍 Google Location Services Fetch GPS coordinates
🔌 Koin Dependency Injection
🧪 JUnit & MockK Unit testing

Architecture

  1. MVVM:

    • Implement the MVVM architectural pattern.
  2. Clean Architecture:

    • Structure code layers into:
      • 📦 data └── network, location, mappers, DTOs
      • 📦 domain └── models, repositories, use cases
      • 📦 presentation └── screens, ViewModels, UI models, Compose components

Code Quality

  1. Clean Code & SOLID Principles:

    • Ensure code is readable and maintainable.
    • Follow SOLID principles to showcase good OOP practices.
  2. Dependency Injection:

    • Utilize Koin for all dependency injection needs.

📸 Screenshots

🔆 Light Theme ui

Home Screen Home Screen After scroll
day day-1 After scroll l

🌙 Dark Theme

Home Screen Home Screen After scroll
night night-1 After scroll

Author

Amr Ashraf Android Developer LinkedIn


📄 License

Weather app is an open-source project licensed under the MIT License.
This project was created as part of The Chance training program

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages