Skip to content
/ CFuWx Public

iOS version of uWx Android app (unofficial)

Notifications You must be signed in to change notification settings

elaewin/CFuWx

Repository files navigation

CFuWx


iOS version of uWx Android app (unofficial)

User Stories

User

  • I want to participate in crowd sourced weather data collection using my phone.
  • I want to check my local weather, storm warnings.
  • I want to see current weather as well weekly forecasts for my location.
  • I want to see the actual data that my phone is collecting. (like a chart)

Developer

  • I want to successfully access the Dark Sky Weather API to provide my user with accurate weather data for their location.
  • I want to create an iOS version of the uWx Android application.
  • I want to use Core Data to persist collected data on Barometric pressure via Core Motion and Core Location frameworks.
  • I want to create an app that the UW Department of Atmospheric Sciences could potentially use.
  • I want to use Test Driven Development as I create my app.
Stretch Goals
  • I want to provide my user with the option of changing the language that the data is displayed in.
  • I want to provide my user with the option of changing the unit of measurement that data is displayed in (F/C).

Curious about the science behind uWx?

Check out these publications to learn more about how pressure observations from smartphones could improve weather forecasting.

Credits

This project is based on uWx, an Andriod app developed by the University of Washington Department of Atmospheric Sciences.

Weather icons from Daniel Vierich. Other icons from PixelKit, thenounproject, Rami McMin, freeicons, Vectorgraphit, and Freepik.

Charts will be created using Charts.

Pressure conversion formulae from weather.gov.

Function to convert degrees to compass bearings from this question on Stack Overflow.

HUGE thanks to Alex Gibson for his help in sorting out what was wrong with our search function!

Background images from Unsplash, from the following photographers:

Powered by the Dark Sky API.


Group Process

Use Waffle.io for tracking issues:

  • Add appropriate label when creating issue on Github (eg. "mvp", "stretch goal", "bug", etc.)
  • If applicable, add milestone (day to finish) when creating issue.
  • Assign yourself to an issue when you start work on it, and add the "in progress" label (or add yourself and drag over to the In Process column in Waffle.)

TDD:

  • Write at least one test before starting on a new function/method.
  • Put suggested tests into the issue when you enter it on GH, if possible, so that if someone else picks up the issue, they have a place to start.

Github/Git Flow:

  • Branch names should include your name, the issue number (with #), and descriptive name, eg. 'pearl#13-readableDateFunc' or 'ruby#15-dateBugFix'.
  • ACP AT LEAST once every 30 minutes.
  • Never merge your own branch!
  • Merge party whenever someone finishes an issue.
  • Merge Party at the start (after standup meeting) and end of every day (5pm).
  • After a merge for someone else's branch, don't forget to pull from master into your branch before continuing work.