Giter VIP home page Giter VIP logo

national-weather-service-android-app's Introduction

National Weather Service Android app

Based on the idea submitted by @xenotropic

Excerpt from original issue:

The app I am proposing would pull data from the NWS API , and display it somehow on an android phone. Even just displaying textual data for the users location (or user-submitted location) would be a contribution. More advanced would be to integrate icons, and more advanced displays. I think there is even radar data that can be displayed, but that would be even more advanced. Ideally would show current conditions as well as forecast.

national-weather-service-android-app's People

Contributors

fredrikaugust avatar ppeters0502 avatar sikrinick avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

national-weather-service-android-app's Issues

Model Classes for gridPoints, forecasts, and alerts

(You can find this data in the Contributing markup, or at https://www.weather.gov/documentation/services-web-api)

To check the weather for your area, you first have to supply lat and long coordinates to https://api.weather.gov/points/ to grab your forecast zone. So if I'm in New York City, for example, I can find my forecast zone by hitting https://api.weather.gov/points/40.6171,-74.0133.

Once you can lookup your forecast zone, you can call for either a 7 day forecast (https://api.weather.gov/gridpoints/OKX/33,30/forecast for example), an hourly forecast (https://api.weather.gov/gridpoints/OKX/33,30/forecast/hourly) or you can check your station for weather alerts (https://api.weather.gov/alerts/active/zone/NYZ075).

We need classes in the model of the MVP pattern to store the data you can obtain from these API calls. These classes will eventually be the middlemen between the DataManager, and the database helpers, so all of the MVP logic is removed from these classes, which makes them great for a first issue! We'll need a gridPoint class that has relevant data (such as the forecastZoneID, lat/long, and URLs for grabbing the different forecasts), a forecast class that has relevant data from the 2 forecast API calls (feel free to leave comments on what should be "relevant data"), and an alert class for relevant data on any alerts that are in a zone requested from the API call.

Feel free to leave comments if you want to take this issue on, or if you have questions. Be sure to hit the example API URLs mentioned above to get a good idea of the relevant data we can grab from the API requests!

Partial view to show 5 day forecast

After talking on the slack server, we decided that the app should have a main view that is consisted of smaller partial views that show the current forecast, hourly, 5 day and 10 day forecast. This specific issue is to track the partial view for the 5 day forecast.
Issue entails API connection to NWS with coordinates (use test coordinates) then pulling the 5 day forecast with the grid points or zone that is returned from the lat/long request (see FAQ page of https://www.weather.gov/documentation/services-web-api). Take the data returned from the request, and stuff it into a view in the meantime. Doesn't need to be styled or fancy yet, we're still working through how we want all of the data displayed.

Support for storing multiple locations to receive alerts from

I had an idea for giving the ability to store multiple locations that I could receive weather alerts from. So, for example, if I live in New York, but I have family living in New Orleans, or Chicago, I could store their location information in the app as well, and receive alerts if there is severe weather in their location.
Mainly wanted to put it up here to remember it, I know we're not there yet, and this issue probably wouldn't be worked on for a while.
Any thoughts on this?

Partial view to show hourly forecast

After talking on the slack server, we decided that the app should have a main view that is consisted of smaller partial views that show the current forecast, hourly, 5 day and 10 day forecast. This specific issue is to track the partial view for the hourly forecast.
Issue entails making the API connection to NWS with coordinates (use test coordinates for now), pulling the hourly forecast ( https://api.weather.gov/points/{point}/forecast/hourly) and displaying it in a view. Nothing fancy yet, just display the text.
API reference page: https://www.weather.gov/documentation/services-web-api

Partial view to show 10 day forecast

After talking on the slack server, we decided that the app should have a main view that is consisted of smaller partial views that show the current forecast, hourly, 5 day and 10 day forecast. This specific issue is to track the partial view for the 5 day forecast.
This one should be very similar to the 5 day forecast issue, since they both pull from the same API endpoint. Issue entails API connection to NWS with coordinates (use test coordinates) then pulling the 10 day forecast with the grid points or zone that is returned from the lat/long request (see FAQ page of https://www.weather.gov/documentation/services-web-api). Take the data returned from the request, and stuff it into a view in the meantime. Doesn't need to be styled or fancy yet, we're still working through how we want all of the data displayed.

Partial View to show current forecast of location

After talking on the slack server, we decided that the app should have a main view that is consisted of smaller partial views that show the current forecast, hourly, 5 day and 10 day forecast. This specific issue is to track the partial view for the current forecast.
Issue entails making the API connection to NWS with coordinates (use test coordinates for now), pulling the current forecast (in the properties returned, look for "shortForecast") and displaying it in a view. Nothing fancy yet, since we're still figuring out how we want everything displayed just display the text.

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.