GithubHelp home page GithubHelp logo

ptr-cs / modern-weather-app Goto Github PK

View Code? Open in Web Editor NEW
9.0 2.0 2.0 3.7 MB

API-enabled WPF weather app using MahApps Metro.

License: MIT License

C# 21.50% HTML 7.53% CSS 48.32% JavaScript 10.27% SCSS 12.37%
weather weather-api weather-app weather-forecast dotnet mahapps mvvm tiles ui wpf

modern-weather-app's Introduction

Modern Weather App

WPF weather app using MahApps Metro and the Accuweather API. Support for light/dark modes and custom accent colors. Demo mode data is provided via Entity Framework Core from a Sqlite database with randomized results. Testing ongoing with nUnit. Prototyped with Adobe XD.

weather-app-mockup

Try it Out:

  • Demo mode: On the Settings page, set the Demo Mode toggle switch to "On" to enable Demo mode. In this mode, randomized data will be returned for location search queries on the Weather page.
  • API mode: On the Settings page, with the Demo Mode toggle switch to "Off", enter an AccuWeather API key to return API results to location search queries on the Weather page.

WPF-weather-appThumbv3

Text search:

zeno-weather-app-searches

Themes:

zeno-weather-app-themes

Summary:

The app uses Service Oriented Architecture (SOA) to provide the weather service via a service bus, which is accessed primarily by the weather ViewModel - the Model-View-ViewModel (#MVVM) approach is used to maintain a separation of concerns between frontend and backend code. The weather service contains methods for asynchronously getting HTTP responses from calls to the Location, Current Conditions, and Forecast AccuWeather APIs; the results from these methods are then processed by the weather ViewModel, which in turn exposes the data to the weather page View.

modern-weather-app's People

Contributors

ptr-cs avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.