Skip to content

Repository files navigation

LexManWeather

A lightweight, privacy-focused Android weather client consuming the Open-Meteo REST API without proprietary analytics or tracking SDKs.

Engineered to demonstrate modern Android architecture, asynchronous network dispatching via Kotlin Coroutines, and type-safe build automation using Gradle Kotlin DSL.

Architecture and Data Flow

The application follows Clean Architecture separation of concerns:

[ Open-Meteo REST API ] | v (HTTPS / JSON Payload) [ Network Client Layer ] | v (Data Transfer Objects) [ Repository & Cache Layer ] | v (Domain Models / StateFlow) [ Android UI Layer ]

Technical Features

  • Asynchronous Networking: All I/O operations and JSON parsing routines are offloaded to background dispatchers via Kotlin Coroutines to guarantee fluid 60/120 FPS UI rendering.
  • REST API Telemetry: Extracts real-time weather metrics from Open-Meteo (temperature, apparent temperature, relative humidity, precipitation probability, wind velocity).
  • Memory State Management: In-memory caching layer to prevent duplicate network roundtrips on configuration changes.
  • Zero Telemetry: Built completely free of Google Play Services dependencies, advertisement trackers, and proprietary analytics libraries.

Tech Stack

  • Language: Kotlin
  • Build System: Gradle (Kotlin DSL: build.gradle.kts)
  • Architecture: Clean Architecture / Separation of Concerns
  • Concurrency: Kotlin Coroutines
  • Min SDK Target: Android API 24+

Building from Source

Prerequisites

  • JDK 17 or newer
  • Android SDK (Build-Tools, Platform-Tools)

Compilation via CLI

  1. Ensure gradlew has execution rights: chmod +x ./gradlew

  2. Build debug APK: ./gradlew assembleDebug

The compiled APK will be located at: app/build/outputs/apk/debug/app-debug.apk

License

This project is licensed under the MIT License. See the LICENSE file for details.

About

Android weather application consuming the Open-Meteo API. Built with Kotlin, demonstrating clean architecture and asynchronous networking.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages