Shelter Gifts - An app that makes it easy to donate items of need directly to homeless shelters across the country!
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!
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).
To install and run the app on your local machine:
- Click the green Clone or download button above and click the copy to clipboard button
- From your terminal, run
git clone [paste the link from step 1]
- Then run
cd shelter-gifts
to navigate to the shelter-gifts directory - Run
bundle install
to install the necessary gems and dependencies - Run
rake db:migrate
to perform the database migrations - Run
rails s
to start a local rails server - Go to localhost:3000 to view the app!
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
.
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.