Code Monkey home page Code Monkey logo

buddyapp's People

Contributors

alisawuffles avatar bboud2 avatar bchugg avatar danbrodsky avatar hxqlin avatar jeffjyang avatar jnancy avatar mdnyhus avatar muchtoknow avatar stolet avatar williamgu98 avatar yaoharry avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

buddyapp's Issues

Set up Trip Page

Build user interface to gather trip information to be used for matching. The information will be stored in memory and will be passed to the "Match Page" when the "Book Trip" button is pressed.

  • Store all values in a Trip object
  • Gender values are Male, Female or Other
  • Group size values are 2, 3 or 4
  • Relationship values are Friend, Mutual Friend, Stranger
  • Departure Time values are 5 minute increments starting from 00. The menu only shows times after the current time. For example, if the time is currently 11:12 pm, the first value in the drop-down menu is 11:15pm.
  • Starting Hub values are Irving or Koerner
  • Description value is limited to 20 characters

NOTE: The screenshot below shows a drop-down labeled "Destination" but this should actually be "Starting Hub"

trippage

Set up Google Maps API

Use Google Maps API to set destinations and generate trip times and distance

  • Set destination by dropping pin
  • Store destination in object which will be used by "Trip" page
  • Navigate to next page by tapping “Walk Here” button

Set up Match Found Page

After being matched with a buddy, the user will see the "Match Found" page which will simply display the information below and a "Check-in" button.

  • Get information from object created by trip page
  • Display starting hub, destination, departure time and list of clothing items
  • Create "Check-in" button which just navigates to "Safety Check-in" page for now
  • #10

NOTE: The appearance of this page may change so just ensure that the information is printed to screen and the button appears and is clickable.

Set up Safety Check-in Page

This is the page that would be painted with a colour and unique code or symbol. The layout of this page hasn't been decided so you're free to experiment. Try the following:

  • Paint the screen with a colour
  • Generate a random 4-digit code and display
  • Create a "Found buddy" button which just navigates to the next screen for now
  • Hide "Found buddy" button until user swipes up
  • Try to display a symbol instead of a code

This is more of a learning task and it would be great if whoever chooses to work on it is able to create multiple version of the page so we can decide which one we like best

Set up In Transit Page UI

This is the page that the user will see while walking.

  • Create "Made It!" button which navigates to "Review Buddy" page
  • Create "Bail" button which navigates to "Cancel Trip" page
  • Create "Distress" button which navigates to "Distress" page

NOTE: The functionality of these buttons will be expanded once we start using locations and a database

Gather trip information

Get details of trip needed for matching

  • Use Maps API to get time and distance from starting point (Irving or Koerner) to destination
  • Bind gender, starting point, group size to drop-down menus. Group size can be 2, 3 or 4 (for now)
  • Bind clothing item to text-field. Limit to 20 characters
  • #2

Note: All data will be stored in memory

Set up Facebook login

Use Facebook Login API to register and authenticate users

Difficulty: Easy
People needed: 1

  • Store the registered users in a file
  • Bind to “login” button

Don’t worry about formatting the UI, just ensure the functionality.

The tasks listed for each issue in the first milestone are those which I feel are required in the base app. If you feel that something else should be included in the base app or if you want to challenge yourself to build another feature, please create a list below. If you do choose to add new tasks, please make sure that you are able to complete them by the first milestone deadline.

In Transit Service (1)

While in transit, we want users to check in occasionally. Ideally, this check in should be done via a background service to avoid killing the phone battery. We can enhance this function in a number of different ways, there will be future issues for those.

  • Write simple service that wakes phone screen and shows notification every x seconds (for testing)
  • Reset timer when notification tapped
  • Test on both platforms

Set up Database

Design and initialize database tables (great 304 practice!)

  • Configure SQLite
  • Trips table with fields users, starting hub, start time, calculated time, destination, colour, code, status
  • Users table with fields username, rating, # trips
  • Hubs table with fields name, latlon

NOTE: Tables and fields subject to change

Show Information on "Match Found" Page

Generate and collect information for a matched group

  • Generate unique code and colour
  • Display starting point, destination, and list of clothing items to each user

Set up Distress Page UI

This page is slightly different from the rest since we'll be making phone calls from the user's phone. We'll work on that functionality later.

  • Create slider button to contact Campus Security
  • Create slider button to contact RCMP Non-emergency
  • Create slider button to contact 911

NOTE: For the first milestone, sliding any of these buttons will open the phone's calling app

Create matching algorithm

  • Sort users based on starting point and destination
  • Find users who currently have the app running
  • Find users within some radius of starting point

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.