Current weather • 5 Day / 3 Hour forecast • Geocoding • Individual API key
- Announcement
- Requirements
- First-party software
- Third-party software
- Gifts
- Account points
- License
- Credits
- Contributing
- Acknowledgements
- Author
This is the great home-made macOS app project to accomplish
weather forecasttask.
| Acronym | Stands for |
|---|---|
| CPL | Console_Perseus_Logger |
| PDM | Perseus_Dark_Mode |
| PGK | Perseus_Geo_Kit |
| A3 | Apple_Apps_Approbation |
| T3 | The_Technological_Tree |
| P2P | Person_to_Person |
The why of this app cannot, and need not, be put into words.
- Requesting current weather for Current Location and specific location name
- Requesting
5 Day / 3 Hourforecast for Current Location and specific location name
- Determining Current Location, latitude and longitude
- Searching location by Name with auto suggesting, optionally
- Favorite locations list, add and remove items
-
Temperature:Kelvin, Celsius, Fahrenheit -
Wind speed:meter/sec, km/hour, miles per hour -
Visibility:Kilometre, Mile -
Barometer:hPa, mmHg, mb -
Multilanguage:English and Russian -
Dark Mode:Light, Dark, System (auto) -
Multi time format:24-hour and 12 hour -
Auto Current Weather update:per 12 hours, per 3 hours, per hour, none
-
Multiline:Additional string line for Status Menus item, macOS 11 (Big Sur)+ -
ToolTip:Showing extra meteo parameters for Status Menus item -
Keychain:Keeping OpenWeather API key saved as a secret -
Logging:Viewing log messages. Managing CPL options
Note
The current app project is represented in source code only, it's a developer edition.
To build:
Specifications:
- Functional specification
- Translations EN, RU
| Type | Name |
|---|---|
| Package | ConsolePerseusLogger v1.7.1 |
| Class | PerseusLogger |
| Package | PerseusDarkMode v2.2.0 |
| Package | PerseusGeoKit v1.2.1 |
| Class | PerseusCompassDirection |
| Variable | PerseusTimeFormat |
| Class | MessageLabel |
| Type | Name |
|---|---|
| Class | WebLabel |
| Class | PerseusNetworkClient |
| Type | Name | License |
|---|---|---|
| Style | SwiftLint v0.57.0 Monterey+ | MIT |
| Action | mxcl/xcodebuild@v3 | Unlicense |
| Action | cirruslabs/swiftlint-action@v1 | MIT |
- CurrentSystemLanguageGift.swift
- JsonDataDictionaryGift.swift
- JsonDataPrettyPrintedGift.swift
- LocalizedInfoPlistGift.swift
- LocalizedExpectationGift.swift
- Explicit start point main.swift
- Explicit app delegate TestingAppDelegate.swift
- Explicit app globals AppGlobals.swift
- Explicit app options AppOptions.swift
- Architectural points:
- MVP applied. Based on Gist
- Coordinator. Top business logic wrapped up in ContentCoordinator.swift
- Localization based on Localizable.strings approach
- Test Plan configured for EN and RU
- Changelog
- A3 environment specification
- Software requirements specification
- GitHub CI build & test
- GitHub CI SwiftLint
- SwiftLint Rules
- Git Config
- SwiftLint shell script as a build phase (SwiftLint preinstallation required)
The Clear BSD License, see LICENSE for details.
Copyright © 7531 - 7534 Mikhail A. Zhigulin of Novosibirsk
Copyright © 7531 - 7534 PerseusRealDeal
- The year starts from the creation of the world according to a Slavic calendar.
- September, the 1st of Slavic year. For instance, "Sep 01, 2025" is the beginning of 7534.
© 2025 The SwiftLint Contributors for SwiftLint.
© GitHub for GitHub Action cirruslabs/swiftlint-action@v1.
| Balance and Control | Mikhail Zhigulin |
| Source Code | Mikhail Zhigulin |
| Documentation | Mikhail Zhigulin |
| Approbation | Mikhail Zhigulin |
| Artwork | Mikhail Zhigulin |
| Russian | Mikhail Zhigulin |
| English | Mikhail Zhigulin |
Important
The OpenWeather logo taken from https://github.com/openweathermap.
The OpenWeather weather condition icons taken from https://openweathermap.org that also available online by OpenWeatherMap API request.
- Artwork tool: GIMP / 2.10.36 for macOS 10.12 Sierra or newer
- Language support: Reverso
- Git clients: SmartGit and GitHub Desktop
Note
The product is constructed in P2P relationship paradigm that means the only one single and the same face in the product team during all development process stages.
But, translations and bug reports are welcome, create an issue and give details.
If you'd like to see the app in your native language consider translation for EN as a template, then prepare your translation in the same way and create an issue, EN and RU already done.
Along the dev process of the releases v0.2..0.3 there're several things were also taken into the account, actual even for current version also.
| Thanks to | For |
|---|---|
| Google, Inc. | Convertion formulas |
| Lorenzo Boaro | The Keychain API tutorial |
| Gabriel Theodoropoulos | The macos-status-bar-apps tutorial |
| Bill Waggoner | Swift-custom-control sample |
© Mikhail A. Zhigulin of Novosibirsk


