All Projects → lfroms → clouds

lfroms / clouds

Licence: MIT license
🌦 A weather app for iOS, written in SwiftUI.

Programming Languages

swift
15916 projects

Projects that are alternatives of or similar to clouds

Luna
Tracking the moon phase using SwiftUI and Combine
Stars: ✭ 19 (-26.92%)
Mutual labels:  combine, swiftui
Notflix
📱Netflix like application using SwiftUI and Combine
Stars: ✭ 76 (+192.31%)
Mutual labels:  combine, swiftui
mocka
Mocka — A Mock Server Made for Developers by Developers, made in Swift ❤️
Stars: ✭ 56 (+115.38%)
Mutual labels:  combine, swiftui
SwiftUI-MVVM-C
An iOS template project using SwiftUI, Combine and MVVM-C software architecture
Stars: ✭ 85 (+226.92%)
Mutual labels:  combine, swiftui
Swiftui Tutorials
A code example and translation project of SwiftUI. / 一个 SwiftUI 的示例、翻译的教程项目。
Stars: ✭ 1,992 (+7561.54%)
Mutual labels:  combine, swiftui
Francis
Bonjour browser for macOS and iOS
Stars: ✭ 25 (-3.85%)
Mutual labels:  combine, swiftui
Easify-iOS
An iOS application to test out Spotify API. It uses SwiftUI and Combine.
Stars: ✭ 15 (-42.31%)
Mutual labels:  combine, swiftui
NetworkImage
Asynchronous image loading in SwiftUI
Stars: ✭ 39 (+50%)
Mutual labels:  combine, swiftui
Weather
A simple SwiftUI weather app using MVVM.
Stars: ✭ 23 (-11.54%)
Mutual labels:  combine, swiftui
E-Rezept-App-iOS
https://gematik.github.io/E-Rezept-App-iOS/
Stars: ✭ 76 (+192.31%)
Mutual labels:  combine, swiftui
Shift
Light-weight EventKit wrapper.
Stars: ✭ 31 (+19.23%)
Mutual labels:  combine, swiftui
wetterdienst
Open weather data for humans
Stars: ✭ 190 (+630.77%)
Mutual labels:  weather, canada
Chat
A basic SwiftUI chat app that leverages the new URLSessionWebSocketTask.
Stars: ✭ 22 (-15.38%)
Mutual labels:  combine, swiftui
NYTimes-iOS
🗽 NY Times is an Minimal News 🗞 iOS app 📱 built to describe the use of SwiftSoup and CoreData with SwiftUI🔥
Stars: ✭ 152 (+484.62%)
Mutual labels:  combine, swiftui
Project01-C-User-Event-Collector
💜🎷 네이버 VIBE 사용자 이벤트 수집기 🎷💜
Stars: ✭ 21 (-19.23%)
Mutual labels:  combine, swiftui
GITGET
GitHub의 Contributions를 iOS의 Widget으로 보여주는 App
Stars: ✭ 101 (+288.46%)
Mutual labels:  combine, swiftui
swiftui-mapkit
SwiftUI meets MapKit
Stars: ✭ 17 (-34.62%)
Mutual labels:  combine, swiftui
CoordinatorSwiftUI
A simple project to test the implementation of Coordinator Pattern using SwiftUI.
Stars: ✭ 28 (+7.69%)
Mutual labels:  combine, swiftui
NetworkAgent
This package is meant to make http request of an easy way inspiren in the architecture of Moya package. This package is 100% free of dependencies and works with Combine api + Codable
Stars: ✭ 16 (-38.46%)
Mutual labels:  combine, swiftui
WeatherSwiftUI
Implementation of the Weather app using SwiftUI and OpenWeather API.
Stars: ✭ 37 (+42.31%)
Mutual labels:  weather, swiftui

Clouds
Clouds

A unique weather experience for iOS, written in Swift and built using SwiftUI. Open source.

GitHub issues GitHub contributors GitHub stars GitHub license Contributions welcome

AboutSupported RegionsGetting StartedContributingLicense

Clouds screenshots

About

Clouds is a weather app, unlike any weather app. It's written in SwiftUI, a declarative framework for building user interfaces for iOS. Unlike most weather apps, Clouds uses a custom GraphQL-powered weather data aggregation service, Nimbus.

Vision & Goals

  • Simple. It should have a no-nonsense user interface that is easy for anyone to understand.
  • Beautiful. Not only should the user interface be easy to understand, it should also be pleasant to look at.
  • Trustworthy. Weather data should be accurate, and from trusted sources.
  • Unique. Clouds should be as different from other weather apps as possible. It should provide a 'breath of fresh air' for users.
  • Fast. It should boot instantly and weather data should appear as quickly as possible. The user should not need to worry about the data loading process.
  • Smooth. There should be virtually zero user interface bugs. Bugs are frustrating to the user.

Status

As of October 31, 2022, Clouds is sunset and is no longer available for download. However, the source code remains available and contributions are still welcome. For local development, you will need an instance of Nimbus running.

Supported Regions

Clouds' region compatibility largely depends on the regions in which Nimbus is supported. Currently, the following regions are supported:

Radar

Radar regions are independent from weather regions. Currently, the following data sources are supported:

  • MSC GeoMet (Environment and Climate Change Canada)
  • RainViewer, which provides global radar imagery.

Getting Started

To get started, you'll need to pull the source code. Find yourself a working directory, and clone this repo to it. I recommend using GitHub Desktop.

Otherwise, pull it using the git CLI:

git clone https://github.com/lfroms/clouds.git

Then, navigate into the cloned repository:

cd clouds

If it's your first time contributing, you'll need to register for a Mapbox account and create a new access token and add it to your ~/.netrc file. The article linked describes how to create such a file and how to format it. Setting up this credential is required to be able to download the Mapbox SDK Swift Package Manager package. This secret is automatically configured in GitHub Actions runs.

You can then open the Xcode project (named Clouds.xcodeproj) in Xcode.

Contributing

Code

If you have any improvements that you'd like to make to Clouds, please create a branch and open a pull request! This project is meant to be community-driven. It cannot evolve without your help! Please be mindful of the software architecture. It can't be maintained if you're the only person that is able to understand what it does. When in doubt, try to mimic the existing architecture. If you think that the architecture can be improved, please open an issue. Current architecture and decisions are documented in the Wiki.

Oh, and please write tests. There aren't any tests right now, but I simply don't have the capacity to write them. All new contributions should be tested.

Code should be linted using SwiftLint. Please ensure that you've executed SwiftLint (or SwiftFormat for Xcode, at least) with the default ruleset before pushing your changes. Eventually, this will be configured to run in a GitHub Action.

Design

Are you a designer? Do you think parts of the app's design can be improved? Please open an issue with your design ideas! Clouds should be the best-looking weather app around. Try to keep the design language consistent. Your design should seamlessly fit in with the rest of the app.

Documentation

Clouds needs better documentation! The Wiki sure could use some help. Think the README needs some more information? Add it!

Localization

Right now, Clouds is only available in English (Canada). While this accounts for most users in the currently supported regions, it simply isn't enough to reach a global audience.

Releases

Clouds is released to the Apple App Store on a regular basis, provided that there are enough changes to justify a new release. Pressing bug fixes will be released promptly. GitHub releases correspond to App Store releases. Release notes will be collected in draft GitHub releases prior to submission. GitHub releases represent the cutoff for all code in a release, and any code pushed to master afterwards will be considered for the next release.

Fastlane is used to take automated screenshots for the App Store listing. Everything in the fastlane directory can be ignored, as there is a specific process for taking these screenshots that has not yet been documented.

License

Clouds is released under the MIT License.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].