Git Product home page Git Product logo

crisiscleanup / crisiscleanup-2 Goto Github PK

View Code? Open in Web Editor NEW
42.0 26.0 24.0 39.46 MB

[OLD] This version of the codebase was retired on March 27, 2020. Open Source Collaborative Disaster Recovery and Cleanup

Home Page: https://www.crisiscleanup.org

License: Other

Ruby 16.46% JavaScript 2.67% CSS 3.12% HTML 76.78% Shell 0.02% Vue 0.68% Dockerfile 0.02% Python 0.22% TSQL 0.02%
disaster coordination crisis-cleanup collaboration voad

crisiscleanup-2's Introduction

Crisis Cleanup Build Status

Crisis Cleanup is a collaboration platform that connects disaster recovery organization volunteers with people who need help after a disaster. The Crisis Cleanup platform has been used to connected 631,620 volunteers from 1,704 organizations with 80,905 households in 48 states/provinces and 143 disasters in 7 countries; a new disaster every two weeks.

Crisis Cleanup works best in a collaborative environment where multiple voluntary organizations and agencies work together and coordinate efforts. Because these organizations do not take orders from one another, Crisis Cleanup is designed to facilitate Collaborative Accountability models of inter-agency interaction, rather than command-and-control operations, or or heirarchical accountability models of interaction.

This is the repository for the main Crisis Cleanup web application, a collaborative map-based coordination tool. This implementation is built with Ruby on Rails, a PostgreSQL database and run on the Heroku stack. A newer version of Crisis Cleanup is under development, written in Python and Vue.js, located at: https://github.com/CrisisCleanup/crisiscleanup-web

Contribute

Other Project Stats (As of 2020-03-22)

  • 25%: Increase in volunteer efficiency through re-engagement and elimination of time spent on travel, coordination, collaboration, and management.
  • 20,226: Households that could not have been helped without Crisis Cleanup.
  • 4.9 Million: Number of volunteer hours facilitated.
  • 1,210,000: Volunteer hours that would have otherwise been wasted in management, travel, and overhead without Crisis Cleanup.
  • $526.4 Million: Minimum total market value of services to survivors.
  • $833: Value of each cleanup volunteer to his/her community.
  • $131.6 Million: Market value of services to survivors that would have otherwise been wasted in travel, management, overhead, and standing in lines.
  • $46,929: Money Crisis Cleanup has saved survivors every single day since July 18, 2012.
  • $9,586: Average commercial value of service to each homeowner.
  • $187: Return on investment to survivors, for every $1 invested in Crisis Cleanup. How we calculate these statistics: http://blog.crisiscleanup.org/2017/10/how-we-calculate-value-of-services.html

Supporters

We thank BrowserStack for supporting Crisis Cleanup by providing live and automated browser testing tools.

crisiscleanup-2's People

Contributors

aarontitus avatar arroyodev avatar astashov avatar bradenm avatar daniel-mietchen avatar dmehrotra avatar hlygrail avatar jbschooley avatar jeromatron avatar scsilver avatar seanfisher avatar stamhankar999 avatar straubcreative avatar tsanders avatar zenjyn avatar

Stargazers

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

Watchers

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

crisiscleanup-2's Issues

Moving Work between Disasters

A Common problem with the system is that users will forget which Disaster they have selected (when servicing more than one disaster) and place a pin in the wrong disaster. This especially happens when the phone takers grab a call and forget to switch disasters during on-boarding. Everybody is willing to easily switch the disasters if they could.

Let's
screen shot 2017-09-20 at 8 46 53 pm
make the Label on the top of the work order screen a button instead. if you click it, you can choose between any of the disasters you currently have access to (there is a drop down on the top of the screen with that logic already there).

Registration Issue:

if you try to register as a new registration and do NOT select a disaster, you go to a blank page when registering. Make disaster required may fix it.

Approve Re-Deploy

Currently, any user can go to the dashboard menu and choose to "Re-Deploy" to another disaster. What this does now is emails to an admin a request to the admin of the organization and the new disaster they want access to. An admin would manually log in, pull up the org, and go choose the event that the user requested on behalf of the organization.

This task slightly changes that process. The email can sill go out as a backup or notification. The change is that we want to go ahead and store the request somehow so that it shows up in the search grid as defined in issue #368 and when you hit Approve Redeploy it is permanent, and if you hit Reject Redeploy, it kicks out the request and everything is normal again.

In either case, a time-stamped note including the name of the person doing the accepting or rejecting is appended to the Admin Notes.

Organization-Specific Map Layers

Request from the field:
Add the ability for organizations to upload their own KML/SHP files to the map (e.g. ecclesiastical boundaries).
Make it possible for organizations to turn those layers on and off.

Donor Database

We need a small database where we can store Doner Name, Logo, Rank, and Time Delay.

Once this is built, replace the static information in the "Funding: Financial Supporters" section at the bottom of the map page to pull from this table. Also, alter the amount of time that the item stays in the box to pull from Time Delay field. The bigger supporters will last longer.

We also need to re-direct the "Donate" button to the "Give" page found in this zip file. You will also need the CSS in the zip as well to format properly,

Customizable Workflow Google-like Spreadsheet

Watching crews in the field, they all have one thing in common-- they all maintain a separate spreadsheet to manage workflow and team assignment.
Add a customizable Google Spreadsheet-like functionality for work orders, so that groups can define their own workflow and attach it to work orders they've claimed.

Government Role

Create a government role type. Redact data from map, the Edit feature (this might be tricky), and download CSV; disallow claiming. Basically they get to see:
Address
Lat/Lon
Work Type
Status
Claimed_by
Org. Contact Information
Height of Flood
Probably a few other pieces of data (

eliminate names, phone numbers, notes, details, etc, and limit the data to just what is necessary for situational awareness reporting.

Admin Organization Send Macro Email

In case #367 we built a table of possible email macros. In this case, we will do something with those macros. If in the Administrative Options column, I select one of the "Emal Macro options" it should send an email to first contact email address. It should also append the date/time stamp, user, and short title of the macro in the Admin" notes of the Org.

General search

Currently search is only on the map page which is a bit indirect. It would be nice to search for IDs or based on other criteria from the dashboard or an explicit search link.

Standardize All Table Views

Throughout the system, we need to have standardized tables. They ideally would all be fast and responsive and look really good.

User Details.

You're going to love this one https://www.crisiscleanup.org/admin/users

  1. Fix an internal vulnerability where a user can technically edit ALL other users information by simply changing the ID in the Url. Yeah, I know......
    https://www.crisiscleanup.org/admin/users/5977/edit (change 5977 to 1 and see what i mean)
  2. upgrade the users page with the following information:
    Name
    Mobile number
    email
    My Organization (as a label) "Change Organizations" button (see issue #386 )
    ___ List me as a contact for my organization. (see issue TBD)
    Admin checkbox. Only if you are an admin, do you see the Admin Checkbox. This now gives yo admin powers.

Add deactivate user to this page. Be sure to pop up a "Are you sure" message first. see issue #387

screen shot 2017-09-21 at 1 27 25 pm

CLAIMING Rule

ALWAYS make sure that whenever you change the status to something OTHER THAN "Open, unassigned," that the user claims the work order.

This is a big deal.

DUPLICATE BUG

Here is what I know. If you did a download of the CSV file, you would find a bunch of work orders that are unique but have the same Work order ID. I'm not sure the what the impact is from this, how it affects the map, or how it's happening. My suspicion is when we have upwards of 90 to 150 users on doing intake simultaneously, it might happen then.

Help!

Worker Dashboard - Site Filter

Add functionality to the dashboard that would allow a user to select what sites show on the left side. Currently, it's just "claimed worksites". Some sort of selector could allow the user to filter - "bookmarks", "my claimed sites", "organization sites", and "recently viewed sites".

Remove branches no longer needed

I notice there are quite a few branches that have already been merged or closed. Can these be safely deleted? It would help reduce size of the repo for contributors and they can focus on looking on the branches in progress.

Standardize All Table Views

Throughout the system, we need to have standardized tables. They ideally would all be fast and responsive and look really good.

Pull orgs from the database in a way that does not slow down the map

This rolling list of Volunteer Organizations is 1000 plus and growing. I want it to cycle through in random order, but not bog down anything. right now it is just a few statically loaded. It needs to pull from the whole is of VERIFIED organizations.

screen shot 2017-09-21 at 12 26 37 am

It's located on the bottom of the map page.

Admin User Search

You will be updating this page to be MUCH more useful and have the admin functions that right now we have to do via SQL statements in the background SCARY.

  1. put in a real grid (see issue #361 )

  2. Major Change. The results in the table should be all humans, whether they are a user or an invitee or a contact. That means this table will need to include all users and invitees. (ignore the current contacts schema as that is going to change).

  3. Add filters: see image

  4. Is Contact field: make that a new attribute of any user. The rest will be handled in issue xxx.

  5. Add Notes Attribute

  6. We are 70% sure we track the last login. if so, put it on the table. this is also where you will identify someone as an invite by placing the text "Invite Pending" in Red.

  7. Add a drop-down with some administrative actions. This column is available to anyone just like the others
    IF USER
    De-Activate User (issue #387 )
    Send Reset Link : same thing as at the home page where you forget your password, but this time we already know their email address, so just send the reset link.

    IF INVITEE
    Re-Send Invitation (this should re-send the invite).
    Extend Invitation Expiration (0 days remaining) or (3 days remaining). Clicking on this extends the date by 7 days.

Clicking on a user will go to the new user page (see issue #385 )

Duplicate Detection

Use Case: Currently our users have to fill out the ENTIRE work order intake form and attempt to hit save before they are notified at the top that there is a potential duplicate. Besides being a waste of time, some people would rather save all their work as a duplicate than type it in again.

We need a better way to sniff out duplicates and immediately alert the user before they go any further with filling out the order. If they view the potential duplicate (possibly on a pop-up and/or on the map, the can then decide if they want to continue or abort because the record is already in the system.

NOTE: Also there is a separate project relating to when you indeed save a record that will be a duplicate that deals with the need to spread duplicate map pins sightly offset from each other.

Upgrade SMS

Use Case: You are in the command center, assigning work orders to people in the field.

  1. Only logged-in Users may send an SMS, to one or more other organization user OR arbitrary phone numbers.
  2. SMS only enabled on UNCLAIMED work orders and work orders claimed by the user's organization; NOT work orders claimed by other organizations.
    3.a. If you send a text to an UNCLAIMED work order, then the system should claim it for your organization when you send it, and log the transaction per 7.
    3.b. If you send a text to a CLAIMED work order, log the transaction per 7.
  3. Preview SMS: Before sending SMS, preview contents.
    4.a. Default Contents: "Aaron Titus has sent you a worksite from crisiscleanup.org:
    J4328
    Valerie Jones
    555-287-1225
    272 Eagle Mountain, Houston, Texas, 77080
    [Short google map link to lat/lon, rather than address]
    [Arbitrary user text]
  4. Address Book: When adding recipients, user can type name or phone number, and add from list of existing users, or arbitrary phone number.
  5. Log: When sending an issue, capture in history:
    A. WHO sent the SMS.
    B. Target of the SMS. (user or phone number)
    C. Contents of SMS.
  6. Add SMS functionality on Map infobox (cell phone icon button, fa-mobile)

Hurricane Irma Duplicate Dropdown

Several users are reporting that the latest incident (Hurricane Irma, Event ID 61) appears twice in the drop-down menu. While we cannot reproduce the error locally, users have submitted screenshots showing the error (confirmed in at least Chrome), as well as the following HTML:

<label>
<select id="incident-chooser">
<option value="61" selected >Hurricane Irma</option>
<option value="61" selected >Hurricane Irma</option>
<option value="60" >Hurricane Harvey</option>
<option value="59" >West Virginia Flood, Jul 2017</option>
<option value="58" >Illinois-Wisconsin Floods Jul 2017</option>

...so it is a confirmed error. It's apparently harmless, but confusing.

Ability to click to call on first property view screen

In iOS the phone number doesn't show as click to call but if you click print it is available. I think it's just a formatting difference that makes it possible. Also it would be nice to see a formatted list of the fields in the initial viewing of a property. Currently it all runs together.

PHONE Map Annoyance almost bug

Because it is a little trick to move around on the map while using a mobile phone, it is REALLY difficult to see the details of a house.

When you touch an icon, the small summary comes up from the bottom, When you hit edit, here is the trouble starts. Unless you were already scrolled up, the small summary window slides back down off the screen when you hit edit. you want to see the details and maybe do an edit, but when you move the map up to see the edit, that counts as a touch and re-sets the edit window so that you can no longer see the details. The only workaround is to already have part of the bottom peaking up on the page, then touching edit, and then being sure to only touch the edit window and NOT the map.

Annoying.

Admin Organization Check for Dups

Because of the Decentralized nature of this system, many people from the same organization will request access to the system, not realizing they already have access and just need to ask someone for an invitation.

To save time when a new organization request lands in the Organization Search grid #368, an admin can choose the "Check for Duplicates" button which should pop up a window with any potential matching organization ( you figure out the logic). The list should be hyperlinked so that If I think I see a real match, I can dig deeper. The popup should have a way to dismiss it. It should also display "no potential matches found" if it there were none.

Admin Organization Search

This page is where we do a lot of work as an admin. It replaces the https://www.crisiscleanup.org/admin/legacy_organizations page. and the https://www.crisiscleanup.org/admin page.

Needs to run on a phone as well as a desktop.

The added data in the table that the current legacy_organizations page does not have is the status of a Re-deploy request. What is a re-deploy request? Anyone in an organization can choose to ask to have access to any of available events in our system. by choosing "Redeploy" from the dashboard menu. Currently, we only get an email reminder as an admin to go and approve, but now the list of events will turn red and the counter up in the filter section will increase by 1. Once the "Approve Re-deploy" action is chosen from the Administrative column, the count should go down by one and the event no-longer be in red. All of the Administrative options are listed in their own issues. The line items should open up to their corresponding details page.

screen shot 2017-09-20 at 11 58 56 pm

Geolocation for discovering nearby unclaimed sites

Volunteer teams typically go out with worksites already claimed (either viewing the info on the dashboard or a printed workorder). There are times where plans change and they are looking for new or additional sites to work. This feature would allow them to quickly find I unworked sites nearby. Ideally, they would be able to do this on a separate page without having to load the map on a mobile device. It could just present a list group ordered by proximity.

Email Reply Macros

When new organizations apply for access to CrisisCleanup (CC) , they land in a queue for a CC admin to vet. Often we need to have a canned email reply message available for certain types of organizations when the reply. This task is a tool to create a list of replies to be used later in the site.
screen shot 2017-09-20 at 10 10 15 pm

Sticky View Settings

Make the experience more friendly for the user when they come in and out of the software. Remember the last view they were on or the zoom level they had on the map, and the disaster they had selected in the drop down box (it sometimes changes unpredictably)

Hide the Legend

When using a phone, it is a little annoying
screen shot 2017-09-20 at 11 34 09 pm
to have the legend taking up so much space on the map. We should make the legend able to slide to the side and slide back in.

There would need to be enough of a stub out there that you can easily bring it in and out on a small phone screen without too much trouble.

Save and Claim not pulling to dashboard

If i intake a job on the map, and “Save and Claim” then it does not show up on the dashboard. I have to pull it back up, un claim it, then re-claim it. and now it appears on the dashboard.

Phone Friendly

One day may attack the native app idea. Until that day, there is a lot that can be done to make the site behave as "app" like as possible. If one or more of you have the mad skills in making this happen, go and make the site AWESOME on a phone.

Custom Organization Map Filter

Request from field:
Add a filter to the map where you can type the name of one or more organizations, and only those work orders will appear.
E.g., typing "LDS Church" will show all organizations containing the string "LDS Church" in their name. Or "UMCOR," etc.

Map centers in Pacific ocean when entering address

In the intake form, when you enter a customer address, the map centers somewhere between Hawaii and Papua New Guinea rather than over the address listed. The pin is in the correct place, but you have you zoom out and scroll over in order to get to the correct address. This nigh impossible on mobile.

screen shot 2017-09-19 at 3 03 06 pm

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.