Skip to content

Repository files navigation

🌤️ Skye – Weather App

A clean, modern Android weather app with GPS location, city search with autocomplete, and hourly forecast.

⚠️ This project is currently in active development. Features may be incomplete or subject to change.

Skye App Preview


🛠️ Tech Stack

Android Kotlin Jetpack Compose Hilt Retrofit Room Coroutines OpenWeatherMap


✨ Features

✅ Done

  • Main screen UI
  • Parallel API requests
  • Clean Architecture
  • GPS location detection
  • Hourly forecast carousel

🚧 In Progress

  • City search with autocomplete
  • Saved cities screen

📋 Planned

  • Saved cities with Room
  • Dark / Light theme support
  • Onboarding screen
  • Widget for home screen
  • Settings (units, language)

🏗️ Architecture

Skye follows Clean Architecture with MVVM and a strict separation of layers:

presentation/   → Jetpack Compose UI, ViewModel, UiState
domain/         → Use Cases, Repository interfaces, Domain models
data/           → Retrofit API, Room Database, Repository implementations, Mappers

🔌 API

Powered by OpenWeatherMap:

  • Current Weather/data/2.5/weather
  • 5 Day Forecast/data/2.5/forecast
  • Geocoding/geo/1.0/direct

🚀 Getting Started

  1. Clone the repo

  2. Get a free API key from openweathermap.org

  3. Add to your local.properties:

    WEATHER_API_KEY=your_api_key_here
    
  4. Build and run on Android 11+ (API 30)


📁 Project Structure

dev.dmil.skye/
├── data/
│   ├── dto/            # API response models
│   ├── local/          # Room database, DAO, entities
│   ├── mapper/         # DTO → Domain mappers
│   ├── remote/         # Retrofit API interface
│   └── repository/     # Repository implementations
├── di/                 # Hilt modules
├── domain/
│   ├── model/          # Domain models
│   ├── repository/     # Repository interfaces
│   └── usecase/        # Use cases
└── presentation/
    ├── screen/         # Compose screens
    ├── state/          # UI state classes
    ├── ui/theme/       # Material3 theme
    └── viewmodel/      # ViewModels

About

A clean and modern Android weather app built with Jetpack Compose, Hilt, and Clean Architecture

Topics

Resources

Stars

Watchers

Forks

Contributors

Languages