Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/anthonygharvey/shelter-gifts

A Ruby on Rails app that makes it easy to donate directly to shelters by scraping their Amazon wishlists
https://github.com/anthonygharvey/shelter-gifts

charity donations f faker-gem heroku heroku-deployment nokogiri omniauth postgres rspec ruby ruby-on-rails rufus scraper shoulda-matchers sqlite3

Last synced: about 1 month ago
JSON representation

A Ruby on Rails app that makes it easy to donate directly to shelters by scraping their Amazon wishlists

Awesome Lists containing this project

README

        

[![Build Status](https://travis-ci.com/anthonygharvey/shelter-gifts.svg?branch=master)](https://travis-ci.com/anthonygharvey/shelter-gifts)

![forthebadge](https://forthebadge.com/images/badges/made-with-ruby.svg "Made With Ruby")

# Shelter Gifts - An app that makes it easy to donate items of need directly to homeless shelters across the country!

## Description
Shelter Gifts makes it easy for visitors to browse a curated list of items that are needed by shelters across the country. The list of items come directly from the individual shelters; specifically from their Amazon Wishlists.

Shelters can register with the app and save a link to their Amazon Wishlist. Once they do, all of the items on their wishlist are added to the Shelter Gifts collection and made available for all visitors to see!

Visitors can browse the list of items needed on the homepage, where each item is presented with a photo, description, price and information about the shelter and their need for the item. Each item is also presented with a button for visitors to add the item directly to their Amazon cart, where they can purchase the item and have it shipped by Amazon **directly** to the shelter that requested it!

## Demo
App link: Shelter Gifts


Shelter Gifts is currently in **demonstration mode** and currently has only one verified shelter, the Men's Shelter of Charlotte.

In demo mode, you can register, create a shelter and save an Amazon Wishlist URL and the items will be added to the collection and displayed on the homepage. The open registration is intended to demonstrate the functionality of the app; however, the app **resets every 30 minutes** to only show verified shelters and their items (the Men's Shelter of Charlotte currently).

## Local Installation
To install and run the app on your local machine:
1. Click the green Clone or download button above and click the copy to clipboard button
2. From your terminal, run `git clone [paste the link from step 1]`
3. Then run `cd shelter-gifts` to navigate to the shelter-gifts directory
4. Run `bundle install` to install the necessary gems and dependencies
5. Run `rake db:migrate` to perform the database migrations
6. Run `rails s` to start a local rails server
7. Go to localhost:3000 to view the app!

## Tests
The tests for this app were written with RSpec, the faker gem (to generate fake data for the tests) and the shoulda-matchers gem (to write more readable relationship tests).

You can run the entire test specs by running `rspec`, or you can perform tests for a particular file by running `rspec spec/folder_name/file_name.rb`.

## Development Approach
If you'd like to know more about my approach to developing the app, feel free to check out the article I wrote on my website and the Shelter Gifts about page.