Project Progress (Workshop 1) - mostlyfabulous/Runtime GitHub Wiki

  • Let TAs know who your group members are (we will do some icebreaker exercises today)

  • Must have a repo in github which all group members can access and send us the link on slack. (See instructions “How to hand in” below.)

  • In order to create a repo, you will need to decide on a project name

  • Project Description: Write 3-5 sentences on your project topic. (try to address all points below)

    • Who is it for?
      • People who want to schedule runs
    • What will it do? (What "human activity" will it support?)
      • Schedule runs depending on weather, time of day, a person's schedule and other user preferences
    • What type of data will it store?
      • User's run preferences, completed run data?,
    • What will users be able to do with this data?
      • Track performance?
    • What is some additional functionality you can add/remove based on time constraints?
      • Integrate Google Maps data to get transit times and distance for better scheduling based on current location
      • Integrate a user's to-do list to suggest other tasks/places they can accomplish given their location and long the task might take?
  • Project task requirements:

    • 3-5 minimal requirements (will definitely complete)
      • Real time weather retrieved with REST protocols periodically (every hour?)
      • Show weather for given time slot.
      • Create a visualization overlaying the time blocks to illustrate the weather conditions.
      • UI can save and load user data (runs, preferences, etc...) to and from relevant database tables to history page.
      • User history page: view history, edit actual time taken to run, rate runs (shows optimal weather user likes to run in).
    • 3-7 "standard" requirements (will most likely complete)
      • Scheduling runs according to user's schedule on top of other constraints - users manually add their own schedule
      • Allow users to schedule runs in advance and save them.
      • Display user's scheduled runs.
      • Users can store and edit their preferences (some like running in the rain, or when it's below 10 degrees) - used to rate weather conditions in the scheduler.
      • Display user history as a calendar example.
    • 2-3 stretch requirements (hope to complete 1!)
      • Integrate calendar with ical and/or Google Calendar
      • Interval scheduling! We suggest optimal times to run - user give duration.
      • Explore: show weather in different areas (e.g. it's raining in UBC but not downtown).
  • Pick 2 of your minimal requirements and break each of them down into ~2-5 smaller tasks!

    • Real time weather retrieved with REST protocols periodically (every hour?)
      • Set up database table for weather with attributes: temperature, wind, precipitation, sun/clouds.
      • Periodically retrieve weather data for a range (i.e. 1 week), process and save attributes in database table.
    • Create a visualization overlaying the time blocks to illustrate the weather conditions.
      • Display different color for different weather conditions (hot/cold temperature, winds)
      • (standard requirements) ^ Colors reflect preferences.
  • Finally, draw 2-3 rough sketch prototypes of some key tasks of your app. Sketch these physically on paper and then scan and add to your repo.