{"id":13723268,"url":"https://github.com/colbylwilliams/XWeather","last_synced_at":"2025-05-07T16:32:30.833Z","repository":{"id":73519770,"uuid":"61904581","full_name":"colbylwilliams/XWeather","owner":"colbylwilliams","description":"A weather app for iOS and Android built with Xamarin","archived":false,"fork":false,"pushed_at":"2020-02-03T12:52:48.000Z","size":6970,"stargazers_count":66,"open_issues_count":0,"forks_count":59,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-04-30T10:32:25.172Z","etag":null,"topics":["android","ios","mobile-center","weather","xamarin","xamarin-android","xamarin-ios"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/colbylwilliams.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2016-06-24T18:29:51.000Z","updated_at":"2025-03-04T11:53:11.000Z","dependencies_parsed_at":"2024-01-06T09:52:37.220Z","dependency_job_id":"bc99fc11-5b34-48da-97bd-e681dfd9c71e","html_url":"https://github.com/colbylwilliams/XWeather","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/colbylwilliams%2FXWeather","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/colbylwilliams%2FXWeather/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/colbylwilliams%2FXWeather/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/colbylwilliams%2FXWeather/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/colbylwilliams","download_url":"https://codeload.github.com/colbylwilliams/XWeather/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252915475,"owners_count":21824573,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","ios","mobile-center","weather","xamarin","xamarin-android","xamarin-ios"],"created_at":"2024-08-03T01:01:38.151Z","updated_at":"2025-05-07T16:32:25.821Z","avatar_url":"https://github.com/colbylwilliams.png","language":"C#","funding_links":[],"categories":["Weather"],"sub_categories":["Fitness"],"readme":"[![apple-app-store](https://cdn.rawgit.com/colbylwilliams/XWeather/master/images/apple_app_store.svg \"apple-app-store\")][21]\n\n# XWeather\n![Build status](https://build.mobile.azure.com/v0.1/apps/f607644f-cef8-48a0-818f-f2fa7adb4760/branches/master/badge)\n\nXWeather is a weather app for iOS and Android built with Xamarin.\n\n#### iOS\n![ios-daily](/images/xweather-ios-daily.png?raw=true \"ios-daily\") | ![ios-hourly](/images/xweather-ios-hourly.png?raw=true \"ios-hourly\") | ![ios-details](/images/xweather-ios-details.png?raw=true \"ios-details\") | ![ios-locations](/images/xweather-ios-locations.png?raw=true \"ios-locations\") | ![ios-search](/images/xweather-ios-search.png?raw=true \"ios-search\")\n:-------------------------:|:-------------------------:|:-------------------------:|:-------------------------:|:-------------------------:\n\n#### Android\n![android-daily](/images/xweather_android_daily.png?raw=true \"android-daily\") | ![android-hourly](/images/xweather_android_hourly.png?raw=true \"android-hourly\") | ![android-details](/images/xweather_android_details.png?raw=true \"android-details\") | ![android-locations](/images/xweather_android_locations.png?raw=true \"android-locations\") | ![android-search](/images/xweather_android_search.png?raw=true \"android-search\")\n:-------------------------:|:-------------------------:|:-------------------------:|:-------------------------:|:-------------------------:\n\n\n\n# Getting Started\n\n## PrivateKeys.cs\n\nThere is a `PrivateKeys.cs` file the Constants directory located at `XWeather/XWeather/Constants` that contains four `const string` keys.   \n\nAll keys can be left as empty strings and the app will build/run just fine, however it will display static 'testing' weather data.  In order to set up the live weather API and use GPS services on Android, you'll need to follow the instructions below to obtain the appropriate API keys.\n\n\n## Weather Underground\n\nXWeather gets weather data from Weather Underground's API.  There are static data files included in the iOS and Android app bundle that will allow you to build and run the app with \"test data\".  However, in order to get live weather data, add additional locations, etc., you'll need to create an Weather Underground account and obtain an API key.  The free \"Developer\" tier is sufficient to run the app.\n\n* [Sign up][6] for new a Weather Underground account (or [login][8] to an existing one)\n* [Purchase][7] an new API Key.  Make sure to select **ANVIL PLAN**, as the app uses several pieces of data in that plat.\n* In `PrivateKeys.cs` set the value of `WuApiKey` to your Weather Underground API Key.\n\n\n## Google Maps API key (Android)\n\nTo use location services in the Android version of XWeather, you'll need to [obtain a Google Maps API key][9].\n\n* Follow the [step-by-step guide][9] to obtain a Google Maps API key.\n* In `PrivateKeys.cs` set the value of `GoogleMapsApiKey` to your Weather Underground API Key.\n\n\n## Visual Studio Mobile Center (optional)\n\n[Mobile Center][16] is the amalgamation of [HockeyApp][10], [Xamarin Test Cloud][5], [Xamarin Insights][4], and a bunch of new services like automated builds.  It is a single platform to manage all aspects of continuous integration and continuous deployment, including [build](#build), [test](#test), [distribution](#distribution), [crash reporting](#crashes), and [analytics](#analytics).\n\nSetting up Mobile Center is completely optional.  If you'd like to use it, you can set it up by following the steps listed below.  However, if you'd rather skip this step for now, simply leave the two values of `AppSecret` as empty strings.\n\n* [Register][12] for new a Mobile Center account (or [login][13] using GitHub, Microsoft, or an existing Mobile Center account)\n* [Create a new app][11] for both iOS and Android\n* In `PrivateKeys.cs` set the two values of `AppSecret` your new iOS and Android app's respective App Secrets.\n\n\n\n# Visual Studio Mobile Center\n\nThis app uses [Mobile Center][16] for Continuous Integration and Continuous Deployment, by taking advantage of the functionality provided by each of the following \"beacons\":\n\n\n## Build\n\nEach time someone commits new code to this repo, Mobile Center's Build beacon automatically builds and [distributes](#distribute) a new version for iOS and Android:\n\n![Screenshots](/images/xweather_mc_build.png?raw=true \"XWeather Build\")\n\n\n## Test\n\nMobile Center's Test beacon moves the power of [Xamarin Test Cloud][5] to run UI tests on real devices into a single dashboard:\n\n![Screenshots](/images/xweather_mc_test_overview.png?raw=true \"XWeather UI Test Overview\")\n   \n![Screenshots](/images/xweather_mc_test_details.png?raw=true \"XWeather UI Test Details\")\n\n\n## Distribute\n\nOnce a new version of XWeather successfully [builds](#build) and passes all [tests](#test), Mobile Center's Distribute beacon deploys the pre-release version a selected group of beta testers.\n\n![Screenshots](/images/xweather_mc_distribute.png?raw=true \"XWeather Distribute\")\n\n\n## Crash Reporting\n\nAll of HockeyApp's crash reporting features were included in Mobile Center's Crashes beacon, including real-time details and stack-traces from crashes that happen \"in the wild\":\n\n![Screenshots](/images/xweather_mc_crashes.png?raw=true \"XWeather Crashes\")\n\n\n\n## Analytics\n\nFinally, the app uses Mobile Center's Analytics beacon to monitor and record information about the app's user base as well as custom events:\n\n![Screenshots](/images/xweather_mc_audience.png?raw=true \"XWeather Audience\")\n\n   \n\n![Screenshots](/images/xweather_mc_events.png?raw=true \"XWeather Event\")\n\n\n\n\n# About\n\nXWeather was created by [Colby Williams][19].  Thanks to [@charlieyllobre][18] for the awesome (free) [weather icons][17]. \n\n\n## License\n\nLicensed under the MIT License (MIT).  See [LICENSE][20] for details.\n\n[4]:https://www.xamarin.com/insights\n\n[5]:http://bit.ly/xweather-xtc\n\n[6]:http://bit.ly/xweather-api-wu-register\n[7]:http://bit.ly/xweather-api-wu\n[8]:http://bit.ly/xweather-api-wu-login\n\n[9]:http://bit.ly/google-api-key\n\n[10]:http://bit.ly/xweather-ha\n\n[11]:http://bit.ly/xweather-vsmc-create\n[12]:http://bit.ly/xweather-vsmc-signup\n[13]:http://bit.ly/xweather-vsmc-signin\n\n[14]:http://bit.ly/xweather-xtc-ios\n[15]:http://bit.ly/xweather-xtc-android\n\n[16]:http://bit.ly/xweather-vsmc\n\n[17]:http://charlieyllobre.com/portfolio/free-weather-icons/\n[18]:https://twitter.com/charlieyllobre\n\n[19]:https://github.com/colbylwilliams\n\n[20]:https://github.com/colbylwilliams/XWeather/blob/master/LICENSE\n\n[21]:https://itunes.apple.com/us/app/xweather-oss-weather-app/id1229497627?mt=8\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcolbylwilliams%2FXWeather","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcolbylwilliams%2FXWeather","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcolbylwilliams%2FXWeather/lists"}