Skip to content

Repository files navigation

Clima Flutter

Clima Flutter is a portfolio weather app built with Flutter for Android and iOS. It shows current weather from OpenWeather based on the device location and lets users search for weather by city.

This repository is intended as a mobile demo project, not a published App Store or Google Play product.

Screenshots

iOS Weather
Clima Flutter iOS weather screen
iOS City Search
Clima Flutter iOS city search screen
Android Weather
Clima Flutter Android weather screen
Android City Search
Clima Flutter Android city search screen

Features

  • Current-location weather lookup
  • City weather search
  • Android and iOS support
  • Location permission handling
  • Loading timeouts and error states
  • Try again action and city search fallback when loading fails
  • Custom Android and iOS launcher icons
  • Secure API key injection with --dart-define

Tech Stack

  • Flutter
  • Dart
  • OpenWeather API
  • geolocator for location services
  • http package for API requests
  • Android emulator and iOS simulator testing

Requirements

  • Flutter SDK
  • Android Studio or a configured Android emulator/device
  • Xcode and an iOS simulator/device for iOS development on macOS
  • OpenWeather API key

Setup

Install dependencies:

flutter pub get

The app reads the API key from:

String.fromEnvironment('WEATHER_API_KEY')

Do not commit a real API key to source control. Pass it at runtime with --dart-define.

Run

Run on Android emulator:

flutter run -d emulator-5554 --dart-define=WEATHER_API_KEY=YOUR_OPENWEATHER_API_KEY

Run on iOS simulator:

flutter run -d <ios_simulator_id> --dart-define=WEATHER_API_KEY=YOUR_OPENWEATHER_API_KEY

Use flutter devices if you need to find the available Android emulator or iOS simulator ID.

Build

Build a debug APK:

flutter build apk --debug --dart-define=WEATHER_API_KEY=YOUR_OPENWEATHER_API_KEY

Build for the iOS simulator:

flutter build ios --debug --simulator --dart-define=WEATHER_API_KEY=YOUR_OPENWEATHER_API_KEY

Project Structure

lib/
  screens/      App screens for loading, location weather, and city search
  services/     Location, networking, and weather API services
  utilities/    Shared constants
docs/
  screenshots/  Portfolio screenshots for Android and iOS
android/        Android project files
ios/            iOS project files

Notes

  • This project supports Android and iOS only.
  • Web, macOS, Windows, and Linux platform folders are intentionally not included.
  • Weather data is provided by OpenWeather.
  • The repository should contain only placeholder API key values such as YOUR_OPENWEATHER_API_KEY.

About

Flutter weather app with location-based weather data, API integration, async networking, and clean mobile UI.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages