Skip to content
Schec edited this page Jun 2, 2013 · 7 revisions

Random Hacks of Kindness Notes June 1-2, 2013

Additions/Improvements from Random Hacks of Kindness Hackathon

  • Connected node app to Mongo DB database
  • Imported data from Excel --> Google docs --> MongoDB
  • Made Google calendar-style JSON objects from time data
  • Exposed pantry schema to the front end
  • Added search route that exposes all the pantries (pantry list) on site
  • Created a Google Form for Inventory Submissions
  • Geocoded addresses and connected database to Google maps

Resources and Codes from RHOK Hackathon

*Google Calendar ID *[email protected]

Future Steps

  • Integrate text and email subscription notifications
  • Create social plugins that allow users to tweet or post to Facebook when they donate
  • Add search by location and time - Allow users to filter by either
  • Return results ordered by proximity to current location (html5 location) or by time of day
  • Hook up map view to search results
  • Hook Google calendar API GET requests to search
  • Flesh out pantry summary listing
  • Deploy app to a server
  • Script a way to add new pantries (from Google form) to MongoDB database. This is different from our original dataset.
  • Find a way for new pantries to be added to dropdown in Google form for pantry requests.
  • Clean up import script to make it more universally applicable.
  • Finish cleaning time data for remaining ~60 pantries. Time is currently listed as e.g. "Every other tuesday from 2-5pm, last friday of month from 6-9pm" etc. Needs to be converted Google Calendar JSON format.

Issues Encountered

  • Google OAuth 2.0 was difficult to work with. It's required for interacting with the Google calendars API.
  • Adding new pantries will require some manual work, even with Google form, as we cannot make the form create the odd json-like object on which the parsing script for our database was built.
  • Some addresses did not have all the data required to geocode them. Also, additional information in address field needs to be maintained (i.e. "Care of" instructions for drop-offs)