Petsy is a marketplace for unique and handcrafted pet goods inspired by Etsy. Users can browse/create product listings, purchase products, and create reviews.
- React
- Redux
- Ruby on Rails
- JavaScript
- JQuery
- PostgreSQL
- Amazon Web Services S3
- HTML
- CSS
Users can create an account and log in, or test the site using a demo account. Accounts each have their own reviews, shopping carts, and listings which persist across sesions.
Users can search for items by name using the search bar, and see an index of all results. Alternatively, users can look through all products.
Users can leave reviews on products and see the product's rating update immediately.
Users can add items to their cart, and demo payment.
constructor(props) {
super(props);
this.state = {
img_pos: 0,
};
}
prevImg() {
let numPics = this.props.product.photoUrls.length;
let newPos = (((this.state.img_pos - 1) % numPics) + numPics) % numPics;
this.setState({ img_pos: newPos });
}
nextImg() {
let numPics = this.props.product.photoUrls.length;
let newPos = (((this.state.img_pos + 1) % numPics) + numPics) % numPics;
this.setState({ img_pos: newPos });
}
def index
if (!params[:searchValue] || params[:searchValue] === '')
@products = Product.includes(:owner).with_attached_pictures.all
else
@products = Product.with_attached_pictures.where("title ILIKE ?", "#{params[:searchValue]}%")
end
render :index
end
Use action cables to have live chat with a customer support representative
Have store profile pages where you can see all items that belong to a specific store, as well as other information about the store(average product rating, number of products sold, when the store was established).
Have categories for each item and build the megadropdown menu featured on Etsy.