{"id":21101123,"url":"https://github.com/envigit/weatherprophet","last_synced_at":"2026-04-13T18:33:12.977Z","repository":{"id":87334468,"uuid":"603051770","full_name":"enviGit/WeatherProphet","owner":"enviGit","description":"App that pulls data from OpenWeather API to display current conditions and forecasts.","archived":false,"fork":false,"pushed_at":"2023-02-28T16:43:59.000Z","size":189,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-03-14T08:12:51.452Z","etag":null,"topics":["api","application","csharp","forecast","rest-api","weather","wpf","xaml"],"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/enviGit.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null},"funding":{"github":["enviGit"],"paypal":["paypal.me/enviGit"]}},"created_at":"2023-02-17T14:17:18.000Z","updated_at":"2024-12-19T14:04:15.000Z","dependencies_parsed_at":null,"dependency_job_id":"8b7ebcf8-3062-46ed-9793-d99514886cc1","html_url":"https://github.com/enviGit/WeatherProphet","commit_stats":{"total_commits":24,"total_committers":1,"mean_commits":24.0,"dds":0.0,"last_synced_commit":"c2a9e0a2249532897e63620038160e47da55fd41"},"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/enviGit/WeatherProphet","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enviGit%2FWeatherProphet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enviGit%2FWeatherProphet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enviGit%2FWeatherProphet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enviGit%2FWeatherProphet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/enviGit","download_url":"https://codeload.github.com/enviGit/WeatherProphet/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enviGit%2FWeatherProphet/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260562671,"owners_count":23028419,"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":["api","application","csharp","forecast","rest-api","weather","wpf","xaml"],"created_at":"2024-11-19T23:39:46.216Z","updated_at":"2026-04-13T18:33:12.971Z","avatar_url":"https://github.com/enviGit.png","language":"C#","readme":"# Weather Prophet (Reborn)\n\n\u003cimg width=\"1090\" height=\"642\" alt=\"weatherProphet\" src=\"https://github.com/user-attachments/assets/954e844b-8ad9-4b9c-b590-59c7a9df621c\" /\u003e\n\n**Weather Prophet** is a modern, responsive weather dashboard built with **.NET 10** and **WPF**. It demonstrates a clean migration from legacy code to a professional **MVVM architecture**, featuring dynamic localization, dual-theme support (Dark/Light), and secure configuration management.\n\n## 📥 Download \u0026 Demo\n\nWant to see the dashboard in action without compiling?\nYou can download the latest stable executable from the releases page.\n\n[**👉 Download Latest Release (v1.0.0)**](https://github.com/enviGit/WeatherProphet/releases/latest)\n\n---\n\n## 🚀 Key Features\n\n### 🎨 Modern UI \u0026 UX\n* **Dual Theme Engine:** Seamless switching between **\"Deep Dark\"** and **\"Porcelain Light\"** modes. The entire UI (borders, inputs, icons) adapts instantly.\n* **Glassmorphism:** Custom window chrome with semi-transparent backgrounds and gradient borders.\n* **Responsive Layout:** Grid-based layout that scales elegantly with window resizing.\n\n### 🏗️ Architecture (MVVM)\n* **Separation of Concerns:** Strict division between Logic (`Services`), Data (`Models`), and UI (`ViewModels`).\n* **CommunityToolkit.Mvvm:** Utilizes RelayCommands and ObservableProperties for clean, boilerplate-free code.\n* **Service Layer:** * `WeatherService`: Handles HTTP requests using `System.Net.Http.Json`.\n    * `TranslationService`: Centralized localization logic.\n\n### 🔒 Security \u0026 Performance\n* **Embedded Configuration:** The API Key is loaded from an **Embedded Resource** stream rather than a loose file in the output directory, offering basic obfuscation.\n* **Efficient Parsing:** Migrated from `Newtonsoft.Json` to the high-performance `System.Text.Json`.\n\n---\n\n## 🛠 Technical Stack\n\n* **Framework:** .NET 10 (Desktop)\n* **UI Framework:** WPF (Windows Presentation Foundation)\n* **Design Pattern:** MVVM (Model-View-ViewModel)\n* **Data Source:** OpenWeatherMap API\n* **Tools:** Visual Studio 2026, CommunityToolkit.Mvvm\n\n---\n\n## 📄 License\nThis project is open-source and available under the [MIT License](LICENSE).\n","funding_links":["https://github.com/sponsors/enviGit","paypal.me/enviGit"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fenvigit%2Fweatherprophet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fenvigit%2Fweatherprophet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fenvigit%2Fweatherprophet/lists"}