The WishList app was created with:
- Ruby on Rails
- ReactJS
- PostgresSQL
- NodeJS
- React Router
- React Bootstrap
This app is:
WishList uses two models: wishlists and items. Both are connected in a one-to-many relationship, where items are tied to lists. Visitors can create a wishlist, add desired items to wishlists, mark items as "gifted", search for wishlists, as well as delete/update wishlists.
- Created user stories. Based on user stories, broke out functionality into small tasks.
- Created wireframe of app on desktop and mobile.
- Created React map to understand all of the components involved, how they would be related, and which would have state.
- Additionally, researched React Router and mapped out routes.
- Determined model tables, created seed data.
- Created full CRUD API with Ruby on Rails.
- Worked through frontend components and CRUD functionality.
- Implemented React Bootstrap and custom CSS to style app.
As a user, I should be able to edit a wishlist.
As a user, I can create a new item for a wishlist.
As a user, I can delete an item from a wishlist
As a user, I should see a featured (random) wishlist on the homepage.
As a user, I should be able to search for specific wishlists.
As a user, when I search, I should see a list of wishlists showing the list name and description.
As a user, when I click on a search result, I should only see that wishlist displayed with only those items visible.
As a user, I should be able to create a wishlist.
As a user, I should be able to delete a wishlist.
As a user, I can edit an item on a wishlist.
As a user, I can see all items on a wishlist.
On mobile, the edit and delete icons change color permanently after clicking on them when viewing a wishlist. On desktop, these icons change color only on hover, as intended. On mobile, these icons should not change color permanently.