Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Clean architecture MVVM iOS app with app coordinator, weather feature, UIKit programatic layout, dependency injection, unit tests

Notifications You must be signed in to change notification settings

krishkumar/weatherapp-iOS

Repository files navigation

weatherapp

Swift-based iOS weather app is designed with a modular architecture for scalability and maintainability.

  • MVVM architecture with separation of concerns
  • Integrates CoreLocation to provide real-time weather updates based on the user's location.
  • Custom networking layer efficiently handles API interactions, reliable data fetching.
  • Protocols for dependency injection for unit testing and flexibility in component management.
  • UIKit, programmatic UI AutoLayout
  • OpenWeatherMap API to fetch current weather data.

Components

Weather Feature

  1. WeatherFeatureCoordinator: Manages navigation and flow control within the weather feature, integrates with app.
  2. DefaultWeatherFeatureFactory: A factory class to create instances of the main components and dependencies required for weather feature.
  3. WeatherViewModel: Main view model that handles business logic and data fetching for the weather feature.
  4. WeatherWebService: Network requests to weather API and fetch required weather data.
  5. WeatherRemoteRepository: Data source for the view model and provides weather data fetched from WeatherWebService.
  6. WeatherData: Codable model representing the structure of the weather data fetched from the API.
  7. WeatherViewController, WeatherView, WeatherCardView: The main view controller and views that display the weather data and handle interactions, search.
  8. Unit Tests, Mocks

Screens

Author

krishna

About

Clean architecture MVVM iOS app with app coordinator, weather feature, UIKit programatic layout, dependency injection, unit tests

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

AltStyle によって変換されたページ (->オリジナル) /