Coder Social home page Coder Social logo

hurricane-response / florence-api Goto Github PK

View Code? Open in Web Editor NEW
47.0 47.0 14.0 1.96 MB

Fork of https://github.com/sketch-city/harvey-api for Hurricane Florence

Home Page: https://hurricane-florence-api.herokuapp.com/

License: GNU General Public License v3.0

Ruby 76.17% JavaScript 2.01% CSS 1.71% HTML 19.72% Dockerfile 0.22% Shell 0.16%

florence-api's People

Contributors

ajclose avatar brooklynrob avatar cmason avatar crertel avatar dependabot[bot] avatar dorton avatar ericfreese avatar gdovicak avatar gotham13 avatar ironcoconut avatar jwo avatar maitreyirajaram avatar matt-wright86 avatar miklb avatar neerajt avatar nihonjinrxs avatar omnilord avatar pandafulmanda avatar rmoscowitz avatar roozbeh avatar rossettistone avatar sheldon-b avatar tabinfl avatar tdooner avatar tedstudley avatar user512 avatar wabbit983 avatar wslack avatar xiupan 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  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

florence-api's Issues

SemVer

We have just been pushing to master but at some point version and tags might be a good idea. Any thoughts on when/where to start?

Archived list commands not correct

Just noticed this post-merge. @omnilord would be good to get a fix quickly before we deploy.

In the archived screens, the table still points to "Show/Update" instead of "Show/Unarchive".
screenshot

Also, in the detail screen, at the top, it still has an "ARCHIVE" link, which really should be "UNARCHIVE" when it's already archived.

Easier Editing for Closing Shelters

From what I can tell, you have to edit a shelter in order to close it. Seems a checkbox or multi-check would help facilitate that as threat shifts or dissipates.

API Search Box only returns county results

Expected behavior for the search bar would be to return any text that matches query (For example, Pittsboro) - instead it only returns county names.

We need the search bar to search at the very least name, address, county

Figure out domain name situation when extending to multiple disaster events

Hurricanes? What about tornados? Earthquakes? Fires? Floods? Droughts?

So far, proposals have included:

  • Single domain for API, but separate event-specific domains for front ends
  • Single domain for all, with subdomains for API and each event's front end
  • Single base domain, but heavily namespaced base URLs for API and event front ends

What are we doing here?

Address value format inconsistencies

Expected Behavior
When fetching data from the the API the shelter objects should supply consistent formats for it's property values.

eg

[
     {
        "address": "123 example way",
        "city": "Exampleton"
    },
    { 
        "address": "456 foo st.",
        "city": "Barberg"
    },
   ...
]

Current Behavior

I am receiving different formats for the address values, some contain just the street address and some contain the street, city, state and zip.

screen shot 2018-10-08 at 1 04 43 pm

screen shot 2018-10-08 at 1 04 29 pm

Note:
I am setting conditionals for the different formats and for just types it's not too bad.

Feature: ability to mark a shelter updated/current

afaik the only way to mark a shelter updated is to manually edit a field. When checking statuses, it might be handy to have a checkbox or some other way of updating a shelter/POD without editing a field.

update dependencies

dependencies are out of date, getting vulnerability warnings from GitHub, notes in Heroku build logs "the running version of Bundler (1.15.2) is older than the version that created the lockfile (1.15.4)"

Feature: add geoJSON endpoints

Mapbox GL ingests geojson nicely to allow more dynamic filtering and layering.

If we had second API endpoints our mapipng options would open up.

I understand this is a longer term goal and needs more discussion but opening it up now after a day of reading the docs.

Backups

Now that we have data from Irma, Florence and Michael it would a good idea to have a backup of the database. I'm not sure the options for doing that on Heroku, but an offsite backup would be good too.

Predictive Dialer - update shelter info

Allow volunteers to request a set of shelters(phone) to update. Once they get their list, the numbers are taken off the stack. Update made - number released. No update made after 5 or 10 minutes, return to needs updating stack.

ACL - Enhance Admin/SuperAdmin/User permissions

After a discussion tonight at Code for Tampa Bay meetup wanted to document a thought.

I don't have a specific use case in mind, but I know it's been discussed in the past as well. We should document the current way updates are approved. I'm not 100% sure the system now. My recollection is shelter updates were in real time between a super admin and other volunteers where a quick level of trust was built. Insert something about scale here.

Potential changes to API fields

From Danny McGlashing (who coordinated this effort on Harvey & Maria):
"Key questions for shelters we asked were:

  • How many beds do you have available?
  • How many for men, for women and for children.
  • Do you need evac - are you being flooded?"

Ensure API Readme is understandable to non-technical staff

We should review the documentation to make sure that if we're making it readable for non-technical staff. Specifically, if a member of FEMA or other disaster organization reads this, it should be clear what this actually does in plain English.

We should also keep in mind that they'll be other Code for All partners around the world that might be looking at this too and so our docs need to be super-readable

Add "Can't Get Through by Phone" checkbox

If we are unable to reach a shelter by phone consistently, caller volunteers should be able to mark this in the API so that others can flag for FEMA or search for a better number.

future project: make one phone call

Future project: someone clicks an "i want to make one phone call" button and it gives them a number, a script, and a form to fill out the update showing old value, and new value ____ for each field. Updating logistics have been the biggest challenge 3 storms in a row now, not really maps or anything... and i say this as a guy who made a map.

Enhancement: Ability to sort by multiple columns

It'd be good to be able to sort by multiple columns in a specific order of preference. That would make it easier to find shelters in the right locations (most important) that would be easiest to call (useful if you're short on time) and are most out of date.

Imports create duplicates if existing data is archived

This is somehow related to the default_scope hiding the archives from the deduplication function, but I'm not sure how since the deduplication function unscopes the default_scope.

Ideal solution: if a record exists and is archive, unarchive instead of inserting a duplicate.

(also, the duplication counter in the third query (source) is not guaranteed to be unique).

Extend this API to support multiple disaster events simultaneously

This entails several things:

  • Close #74 by answering naming questions
  • Creation of a new table and model to store disaster events and info
  • Creation of association tables between shelters, distribution points, etc. and disaster events and associated model updates
  • Views in the admin screens to add/update/archive disaster event records
  • Update of API endpoints to require disaster event filtering
  • Removal of references to specific storms in naming within the app (i.e. repo name, db info, etc.)
  • Redeploy of new clean instance with generic naming
  • Repopulation of data from old instance, and population of association tables as needed for existing data
  • Repointing of front end apps to new instance with appropriate filtering
  • Decommission of old production instance

Proposal to rename the Repository

We now have a new instance running on https://api.hurricane-repsonse.org from this repository.

I know there are still references to Harvey in the API but other than possibly breaking check outs and automated tools (important!) I'm not aware of any other negative effects of renaming, but would help clarify that this is the main on-going repository and not related to a 2018 storm.

Add CEDR logo

CEDR is a partner, we should have their logo on the website

Evaluate cops in .rubocop.yml

Currently the code base has a lot of custom rubocop configuration as documentation of the styles most commonly used in the source code, not necessarily the best options moving forward. While the code is mostly uniform currently, these cops should be reviewed for further revision/refactoring to ensure our code base is adequately constructed.

Enhancements for Unarchive

currently if you want to edit an archived shelter, you can't also update and archive in a single click.

Also, when unarchiving a shelter from the archived shelter page, it redirects back to the shelter page, not the same page you were on.

Accepting field should read "True, False, Not available"

If we have a shelter added that we don't have information - this defaults to 'false' - when we go to update it - it then enters a zero which the API reads as true.

We need to put in something that shows a N/A and display that status on the map until we confirm otherwise.

Upgrade to ruby 2.5 or 2.6 and Rails 5.2

Probably a good idea to keep as up-to-date as possible on dependencies while we're not in midst of hurricane season.

  • Update to latest ruby (currently 2.6.0, released Dec 25, 2018)
  • Update to latest rails (currently 5.2.2, released Dec 4, 2018)
  • Update other dependencies as appropriate

Change "Special Needs" checkbox to text input

The "Special Needs" checkbox currently in the shelter API is confusing, because what does "yes" mean given the wide range of special needs?

Instead, we should have a text field similar to "Pets" labeled "Accessibility".

Helper text can be:
"Wheelchair accessible, or other accommodations for people with special needs?"

Check GeoCoder task on fema:import

In my local environment and on Heroku it doesn't appear the geocoder is running with fema:import.

Right now it's not a show stopper as we won't be doing a lot of import tasks, but worth noting for future development.

Update dev getting started docs

Lots of remaining references to harvey-api in the dev getting started section of the README.

I can try to tackle this first thing in the morning.

For the current deploy, are you all still using the harvey-api account names, or have you changed them?

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.