RegisterForAnything.com is a robust, easy-to-use website where users can add any product on the internet to a personalized registry page which can be shared with family and friends.

View the Repository View the App Live

Overview

What started out an idea born from an informal brainstorming session turned into a full-fledged application. The application allows a user (an engaged couple) to create a personalized registry page where they can list products from anywhere on the internet. This allows the couple to share one link with family and friends instead of providing multiple links to registry pages on retailers’ websites. The idea was to create an easy-to-use, attractive application that makes it easy to register for items and allows maximum flexibility for the couple.

Integrated Gems and Services

  • Devise - User Authentication
  • Figaro - Secure App Configuration/safely store and access sensitive credentials
  • Bootstrap - Front-end Framework (HTML, Javascript)
  • Pundit - User Authorizations

User Stories

  • As a user, I want to sign up for a free account by providing my name, email address, password, fiance’s name, wedding date, and shipping address
  • As a developer, I want to capture email addresses of visitors who begins the registration process by clicking on the call-to-action button on the application’s landing page
  • As a user, I want to sign in and out of the application
  • As a user, I want a unique registry url to share with family and friends
  • As a user, I want to add items to my registry with the item’s name, how many I want, the price, any notes about size or color, and a link to the item’s product page where it can be purchased online
  • As a user, I want the ability to select an image for each item that I add to my registry
  • As a user, I want the ability to edit all of an item’s details at any time
  • As a user, I want the ability to mark an item as purchased, or to completely delete the item from my registry
  • As a visitor, I want to search for a specific user’s registry by providing the user’s first and last names
  • As a visitor, I want to view a registry page with all of the items that the user registered for, including those that were already purchased
  • As a visitor, I want to sort items on a registry, to view the items sorted by price or vendor; and, to always view the purchased items at the end of the registry
  • As a visitor, I want to see an indicator on each item that was purchased (i.e. if the quantity purchased equals or exceeds the quantity requested by the user)
  • As a visitor, I want to view an item’s product page where it can be purchased online
  • As a visitor, I want to purchase an item and have the ability to mark the item as purchased on the user’s registry
  • As a visitor, when I indicate that I would like to purchase an item, I want to view the user’s shipping address so I can ship the item directly to the user
  • As a user, I want the ability to delete my registry from the application
  • As a user, I want to see a visual notification when one or more items were marked as purchased by visitors. I also want to have the opportunity to dismiss the notification or to remove the “purchased” indicator(s) by marking the purchase(s) as spam
  • As a visitor, I want to see how many of each item a user wants, and how many the user has already received
  • As a developer, I want to validate that items meet specific requirements
  • As a developer, I want to attach affiliate links to the items and store links
  • As a user, I want to be redirected to my registry after I sign-in
  • As a user, I want to be redirected to the visitor’s view of my registry after I sign-out

Bonus Screenshots

Conclusion

Developing this application was an enjoyable process of conceiving of and actually implementing multiple features and user views. I enlisted a co-developer to add javascript features (such as a web scraper and a loading bar) to enhance the User Experience. Designing every view of the application pushed my wireframing and front-end design skills to expand exponentially.