diff options
| author | Kumar Damani <kumar.damani@mail.utoronto.ca> | 2019-04-09 02:23:35 +0000 |
|---|---|---|
| committer | Kumar Damani <kumar.damani@mail.utoronto.ca> | 2019-04-09 02:23:35 +0000 |
| commit | 79976c72f7f5b913a6bea08062224a6af7be1d5c (patch) | |
| tree | 67e1b1997f4760be23323796a308a52587ea400a | |
| parent | f6568a532f69892019dca49a60faf7378ebb0152 (diff) | |
| parent | 2ed2b0d01b9207b6c5003fe083238720a8409962 (diff) | |
Merge branch 'master' into qa
| -rw-r--r-- | deliverables/README.md | 28 | ||||
| -rw-r--r-- | deliverables/iteration-03-plan.md | 4 | ||||
| -rw-r--r-- | deliverables/iteration-03-review.md | 52 | ||||
| -rw-r--r-- | web/public/javascripts/map.js | 3 |
4 files changed, 74 insertions, 13 deletions
diff --git a/deliverables/README.md b/deliverables/README.md index ee9e9f6..260f73d 100644 --- a/deliverables/README.md +++ b/deliverables/README.md @@ -1,29 +1,35 @@ # Helpthehome by The Dream Team ## High Level Description -Help the Homeless is a web and mobile application that allows homeless shelters to see the locations of homeless people in need of help in real time. Our application consists of two components: a web application and a mobile application for iOS and Android. The web application displays a map that is updated with markers in real time. Each marker shows the location of a homeless person, along with identifying details such as (age, clothing, injured or not, etc.). Markers are displayed on the map whenever a user on the mobile application sends a request for help. The mobile application is intended to be used by the public. It contains a simple form that allows the user to describe the situation to help the outreach workers identify the person in need when responding for help. +Help the Homeless is a web and mobile application that allows homeless shelters to see the locations of homeless people of Toronto in need of help in real time. Our application consists of two components: a web application and a mobile application for iOS and Android. The web application displays a map that is updated with markers in real time. Each marker shows the location of a homeless person, along with identifying details such as (age, gender, race, other salient features). Markers are displayed on the map whenever a user on the mobile application sends a request for help. The mobile application is intended to be used by the public. It contains a simple form that allows the user to describe the situation to help the outreach workers identify the person in need when responding for help. ## Key Features -* Users can send their location using the app to report where a homeless person is. -* Users can fill out details about the homeless person before reporting them. +* Current Loacation option allows users to send their current location to report where a homeless person is. +* Drop Pin option allows users to place marker at location of homeless person on a map of Toronto, bypassing the need for user location access. +* Users are required to fill out details of the homeless person before submitting in order to help authorities identify the specific individual. +* The required form question are multiple choice options making it very easy for a user to fill out quickly. * Users from Street To Homes can view a map and see point markers overlayed on the map which represent where users of the app have submitted locations of homeless people. -* This map is live-updating, so no refresh required. +* This map is live-updating, so no refresh required to see new reports. * Clicking on a point marker on the map brings up detailed information about the homeless person at that location. -* 'Drop Pin' was not implemented in this iteration, although the button was made and added to our app for future use. This button currently has no functionality, but once fully implemented will allow users to select a location on the map themselves and place a pin there indicating there is a homeless person who requires help. +* The user of the map can mark a report as "Pending", or "Complete" which is color coded for UX. ## Basic instructions ### Web application -1. To access the web application, go [here](https://helpthehome-qa.herokuapp.com/map). +1. To access the web application, go [here](https://helpthehome-prod.herokuapp.com/map). 2. Click on a marker on the map to see the details of a homeless person in need. -3. A detailed box will appear on the top left hand corner containing the person's age range, clothing description, injury status, and reason for help. You can close the box by clicking the close button in the bottom right corner of the details box. +3. A detailed box will appear on the top left hand corner containing the person's details. + * You can close the box by clicking the close button in the bottom right corner of the details box. + * You can mark the point as "Pending" to make it yellow. This action is persistent. + * You can mark the point as "Complete" to remove it from the map. This action is persistent. 4. You can zoom in and out by clicking the `+` and `-` button at the top left corner of the map respectively. You can also zoom in and out by scrolling up and down on your mouse/trackpad respectively. ### Mobile application -1. In a new tab, or window go to our mobile app presently running on an android emulator at Appetize.io: https://appetize.io/app/4nzk9t6g0h0y9r9ux2zj7d3tpg?device=nexus5&scale=75&orientation=portrait&osVersion=8.1 +1. In a new tab, or window go to our mobile app presently running on an android emulator at Appetize.io: https://appetize.io/app/5gatcnptebzga4fh6up350jaq4?device=nexus5&scale=75&orientation=portrait&osVersion=8.1 2. Press "Tap to Play". -3. Once prompted for location access, press "Allow". -4. Once you see "Welcome to Helpthehome!", you can press the red button "Use Current Location". (Note: this will use the location of the Appetize server where the emulator is running, **not your actual location**) -5. Fill in all the fields on the form with the appropriate information. Although you can leave any field blank, it is **strongly** recommended that you fill in all the fields, as it helps identify the person in need. +3. Once the app loads, you can **either** press the red button "Use Current Location". (Note: this may use the location of the Appetize server where the emulator is running, **not your actual location**) **OR** press Drop a Pin button if you don't want to share your location. + * Current Location: If prompted for location access, press "Allow". + * Drop the Pin: navigate to where you see the homeless person and then tap to drop a pin. (tap the pin to remove the pin if accidental tap occurs). Once satisfied, press Proceed. +5. Fill in all the fields on the form with the appropriate information. 5. When all the information is recorded, click the "Submit" button. A popup should say that you are being redirected to the main page. When you dismiss the message, you should be redirected to the greeting page. 6. You should now be able to see your report in the tab or window where you have the web app running without even needing to refresh. diff --git a/deliverables/iteration-03-plan.md b/deliverables/iteration-03-plan.md index 418e387..cbfcdfc 100644 --- a/deliverables/iteration-03-plan.md +++ b/deliverables/iteration-03-plan.md @@ -3,7 +3,7 @@ ## Iteration XX * Start date: Mar 12 - * End date: Mar 22? + * End date: Mar 29 ## Process @@ -11,6 +11,7 @@ * Having a dedicated day for testing so that branches are kept up to date and master is getting consistently updated with new code. We didn't do this in the last iteration and we think it led to a bunch of code conflicts. We hope that by testing regularly, we can get code pushed to appropriate places rather than letting it just sit in its branch. We will be able to see if this is effective by doing a search in GitHub commits with message "resolving conflicts". (We usually put something similar in conflict merges). + * We will create a recurring Slack reminder in the general channel which will notify us every night to check Pull Requests. Additionally, when a developer creates a new PR, they will individually notify the reviews on Slack with the link requesting for review. This is so that tasks get to the testing phase quicker, and therefore end up getting merged back into master quicker => new tasks will have the latest master. #### Roles & responsibilities @@ -48,3 +49,4 @@ Additionally, we now have staging and production deployments for the mobile side * A mobile application with the latest master branch deployed on Appetize, or a real phone (if permitted). * A interactive web application with the latest master branch deployed on Heroku. + diff --git a/deliverables/iteration-03-review.md b/deliverables/iteration-03-review.md new file mode 100644 index 0000000..e104248 --- /dev/null +++ b/deliverables/iteration-03-review.md @@ -0,0 +1,52 @@ +# Helpthehome by The Dream Team + +## Iteration 3 - Review & Retrospect + + * When: Friday March 29th @ 3:00pm + * Where: BA 3200 + +## Process - Reflection + +#### Decisions that turned out well + + * The decision to swap mobile and web roles was a good decision because it allowed team members to get an understanding of both sides of the application. This resulted in a quicker update meeting because all team members got exposure to all parts of the application. Before switching our updates lasted on average 10-15 minutes, but after switching our updates lasted on average 5-10 minutes. + * The decision to dedicate 30-45 minutes of every weekly meeting was a good decision because it improved the test coverage on our application and helped identify bugs early on. For example, we were able to identify a bug during our weekly testing in retrieving location services that caused the application to crash and we were able to fix it before merging into the master branch. This saved us the headache of potentially trying to revert merges to see what caused the application to break. + * The decision to modify our Pull Request process (by Slack reminders and personal DMs), resulted in code getting reviewed quicker and thus we had a lot of cards tested in between meetings, and master was fairly kept up to date. This meant that when new tasks were started, the branches already contained most recent code. +#### Decisions that did not turn out as well as we hoped + +List process-related (i.e. team organization) decisions that, in retrospect, were not as successful as you thought they would be. + + - Before this iteration, we decided that code reviews should only be done by those more closely involved with that portion of the project. For example, changes to the mobile part of the project were to be reviewed by others with involvement in mobile. Unfortunately, this was not enforced due to occaisonal unresponesiveness of teammembers throughout the iteration. + - Our decision to swap mobile and web roles was not completely successful. A few teammembers were not able to switch out of their d2 roles due to the increasing complexity of certain parts of the project. In a few cases, there was not enough time for teammembers to become completely familiar with eachothers work. + +#### Planned changes + +List any process-related changes you are planning to make (if there are any) + +> Nothing as of this review meeting. + +## Product - Review + +#### Goals and/or tasks that were met/completed: + + * All goals for this iteration were completed (see planning doc Goals section) with the exception of no. 4. + +#### Goals and/or tasks that were planned but not met/completed: + + * Handling of response from the server when mobile sends out the post request so that the user knows that their report actually went through in a Greeting Page. We did not complete this goal because although we started this task, we could not complete and implement it into our application within the time constraints. + + +#### Goal not included in this iteration + * We have a backlog column of a set of goals that we did not have time for in this iteration. For example, adding additional layers to the map which showed different information such as clusters, homeless shelter locations, user profiles etc. + + + + +## Meeting Highlights + +Going into the next iteration, our main insights are focused on preparing for the demo + + * Go over what we are going to say. + * Make sure everyone understands how the application works and how it is designed. + * Prepare answers to potential questions that the evaluators might ask. + diff --git a/web/public/javascripts/map.js b/web/public/javascripts/map.js index 4ffa3db..f957223 100644 --- a/web/public/javascripts/map.js +++ b/web/public/javascripts/map.js @@ -135,7 +135,7 @@ function markAsPending(e) { updatePointStatusInDb(currPointId, "pending") .then(function(responseJson) { alert("Your change has been saved."); - currPoint._icon.src = '../assets/orange-icon.png'; + currPoint._icon.src = '../assets/orange-icon-focused.png'; }) .catch(function(error) { alert(error); @@ -151,6 +151,7 @@ function markAsCompleted(e) { .then(function(responseJson) { alert("Your change has been saved."); map.removeLayer(currPoint); + currPoint = undefined; }) .catch(function(error) { alert(error); |
