NearbyWeather - An open source weather app for iOS, which uses the OpenWeatherMap API
⚠️ LEGACY REPO:
⚠️ Further development of NearbyWeather has turned private.
⚠️ This repo is no longer accepting contributions and will not get updated.
⚠️ You may use all code contained therein in compliance with the MIT license.
NearbyWeather – OpenWeatherMap Client
About the App • Mission of this Project • How to Get Started • Licensing
About the App
ℹ️ By using the app you automatically agree to the privacy policy and the terms of use.
NearbyWeather is a simple weather app, that provides current weather information for nearby cities, as well for bookmarked locations. NearbyWeather uses the OpenWeatherMap API to download weather data. Additionally the OpenWeatherMaps location database is directly bootstrapped into the app for quick access.
With NearbyWeather you can:
- See current weather information for bookmarked and nearby places via a list and a map view
- See the current temperature on your app icon
- Detailed weather information is offered in addition to the overviews
- Add places as bookmarks via OpenWeatherMaps weather-station data base
- Choose your preferred units (celsius/fahrenheit/kelvin & kilometres/miles)
- Access previously loaded data offline
❗️Please note that you need to supply your own OpenWeatherMap API key, in order to use the app.
Mission of this Project
NearbyWeather was created to help you as a reference for developing your skills. The app is kept up to date with the latest best practices in mobile app development. Find out how how modern iOS apps are engineered:
Area | Concepts | Status |
---|---|---|
Language | Swift (latest release) | ✅ |
Additional Languages | Objective-C, JavaScript | ✅ |
Architecture | MVC+Coordinator (RxFlow) | ✅ |
Dependencies | Singletons | ✅ |
Data Persistence | Files on Disk | ✅ |
Networking | Alamofire | ✅ |
Asset Management | R.Swift | ✅ |
Code Quality | SwiftLint | ✅ |
Analytics and Reporting | Google Firebase | ✅ |
Library Management | CocoaPods | ✅ |
Bootsrapped Bundle Data | Node.js Scripts | ✅ |
Deployment | Fastlane | ✅ |
Testing and Quality Assurance | Unit Tests and UI Tests | ?️ |
How to Get Started
- Install the latest version of Xcode from the Mac AppStore
- Install the latest Xcode command line tools
xcode-select --install
- Install CocoaPods to your machine
- Install fastlane to your machine
- Install SwiftLint to your machine
- Fork the project and clone it to your local machine
- Configure signing via fastlane match to use your personal certificates
- Run
pod install
to be able to build locally
Licensing
Copyright © 2016 – 2022 Erik Maximilian Martens.
Licensed under the MIT License (the “License”); you may not use this file except in compliance with the License.
You may obtain a copy of the License at https://opensource.org/licenses/MIT.
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the LICENSE for the specific language governing permissions and limitations under the License.