Skip to content

AhmedGamalRamadan/WeatherCompose

Repository files navigation

Weather App in Kotlin using Jetpack Compose

This Weather App is an Android application that provides real-time weather information by fetching data from a weather API. Built using Jetpack Compose for a modern UI, the app showcases efficient API integration and clean architecture practices.

Features:

  • Jetpack Compose: The app leverages Jetpack Compose, a modern Android UI toolkit, to create a seamless and interactive user experience.
  • Kotlin: Developed entirely in Kotlin, the codebase benefits from the conciseness and expressiveness of the language, promoting efficient and readable code.
  • Retrofit: Fetches news articles from an API.
  • Moshi: Utilize Moshi for efficient JSON parsing, ensuring seamless communication with APIs.
  • Clean Architecture: The project follows a clean and modular architecture, making it easy to understand and extend.
  • Modularization: The application employs a modularization approach to divide the project into separate modules, such as domain, presentation, and data. Each module has clear responsibilities and can be developed independently.
  • MVVM (Model-View-ViewModel): The MVVM architecture is utilized to separate the business logic from the view. The Model represents data and business rules, the View is the user-visible interface, and the ViewModel is responsible for preparing and delivering data to the View.
  • Dependency Injection: Employing dependency injection enhances the app's maintainability and testability by decoupling components and facilitating easier component replacement and testing.
  • Implements MVVM architecture for clean and organized code.

Architecture block diagram

Android Architecture

Installation

  1. Clone the Repository: Clone this repository to your local machine.
  2. Open in Android Studio: Open the project in Android Studio.
  3. Build and Run: Build and run the project on an Android device or emulator.

Screenshots:

splash splash

Connect with Me 🌐

Let's connect! Feel free to reach out on LinkedIn.

https://www.linkedin.com/in/ahmed-gamal-97509328a/

Releases

No releases published

Packages

 
 
 

Contributors

Languages