Skip to content

adityasharma455/WeatherApplication

Repository files navigation

🌤️ WeatherApplication

A simple and clean Android Weather App using Jetpack Compose, Koin DI, and Clean Architecture.

This app shows real-time weather:

  • Automatically using current GPS location
  • On demand using city name search

It’s designed to demonstrate professional Android skills — perfect for your portfolio and applying to internships.

📌 Features 🌍 Current Location Weather

  • Detects if GPS/location service is enabled
  • If not, navigates user to location settings
  • Shows weather based on device’s current location

🔎 Weather by City Name

  • Simple input field to type any city
  • Click Search to fetch weather for that city

🧠 Architecture

  • Clean Architecture with separation of layers
  • MVVM pattern
  • Koin for Dependency Injection

📸 Screenshots

CheckGPS GPS Permission
CheckGPS Categories
Home Screen Weather By Cit yName
Home WeatherByCityName

🎥 Demo Video

👉 Watch Demo Video


🛠️ Tech Stack

  • Category -> Technologies
  • Language -> Kotlin
  • UI -> Jetpack Compose
  • Architecture -> Clean Architecture, MVVM
  • DI -> Koin
  • Networking -> Retrofit, OkHttp
  • Location -> FusedLocationProvider
  • Async / State -> Coroutines, StateFlow

💻 How It Works

📍 Location Flow

  • On opening app → checks GPS status
  • If OFF → button to open system location settings
  • After enabling → fetch and display weather

🔎 City Search

  • User enters city name
  • Press Search
  • Weather data loads and shows on screen

📦 How to Run

1-Clone the repository git clone https://github.com/adityasharma455/WeatherApplication 2-Open with Android Studio Arctic Fox or above 3-Add your API key (OpenWeatherMap or Weather API) in local.properties or in your network module 4-Run on an Android device or emulator

📈 Why This Project

This project shows: ✔ Clean & scalable architecture ✔ State management using StateFlow ✔ Use of Dependency Injection (Koin) ✔ Handling of runtime permissions & system services

This makes the app robust and easy to maintain — which is expected in real-world Android roles.

📍 Future Enhancements

✔ Add weather forecast for upcoming days ✔ Offline caching (Room database) ✔ Dark/Light mode toggle ✔ Unit & UI Tests

👤 Author

Aditya Sharma 🎓 3rd Year Computer Science Student 📱 Android Developer 🧠 Building practical Android projects for internships

🔗 GitHub: https://github.com/adityasharma455

About

Clean Architecture based Android weather app built with Jetpack Compose and Koin DI. Demonstrates real-world Android patterns like location services, StateFlow, and API integration.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages