MyWeather is a simple iOS application, it retrieves Current Weather Data from free API [weatherapi.com] and display it for the user, and allow the user to view more weather details.
Using weatherapi.com
pod install
- SWIFT
- Alamofire-based Network Layer
- MVVM Architecture Pattern
- Coordinator Pattern For Handling Navigation
- RxSwift, RxCocoa For Data Binding
- Kingfisher For Images Downloading and Caching
- XIB Files
- CoreLocation For Detecting Current Location
- CoreData For Caching Preferred Cities
- Adobe XD For Designing The UI
Launch Screen | OnBoarding Screen 1 | OnBoarding Screen 2 | OnBoarding Screen 3 |
---|---|---|---|
Get First-Time Current Location ( If No Default City ) | Get Current Weather ( With Location ) |
---|---|
Saved Cities | Add New City ( Search With City Name ) |
---|---|
Add New City ( Detect Current Location ) | Set Specific City As The Default City [Pending Enahnce UIContextualAction] |
---|---|
Set Specific City As The Default City ( Confirmation ) | Get Current Weather ( With Default City ) |
---|---|
Delete City [Pending Enahnce UIContextualAction] | Delete City ( Confirmation ) |
---|---|
-
App
- Configuration
- Core
- Extensions
- Resources
- Fonts
- SupportingFiles
- Externals
- Coordinator
- Networking
- Core Data
-
Modules
- OnBoarding
- Model
- View
- ViewModel
- Coordinator
- Home
- Model
- View
- ViewModel
- Coordinator
- Interactor
- Cities
- Model
- View
- ViewModel
- Coordinator
- Interactor
- AddCity
- Model
- View
- ViewModel
- Coordinator
- Interactor
- OnBoarding
Created by
- Taha Mahmoud LinkedIn
Please don't hesitate to ask any clarifying questions about the project if you have any.