Skip to content

uzFer/Uzmas-Art-Shop

Repository files navigation

Uzma's Art Shop

Brief Overview

I have always loved being creative, finding hobbies in painting, sketching, and graphic design. Similarly, I am very interested in full-stack development and web design. This project serves to combine both of my interests in the form of an e-commerce shop.

Uzmas.Art.Shop.Demo.mp4

Key Features

  • 'Add to cart functionality' with Stripe checkout
  • 'Add to favourites' functionality - can be saved to account if signed in or within session otherwise
  • Paintings page with ability to add to cart, 'like', filter based on category/price, and click on any given painting for more info
  • Individual painting page that shows corresponding category, buttons to add to cart/favourites, and reviews for that product
    • User can only add a review when they are signed in
    • Users can edit/delete their own reviews
  • Commission request form for users to send me emails
  • Autocomplete search bar with search results page (once you click on the search icon)
  • Sign in functionality and favourites list on account page

Tech Used

  • Used React.js, Next.js, and Styled-Components for building the front-end of the application with improved server side rendering
  • Stored users, paintings, categories, orders, favourites, and reviews info in MongoDB using Mongoose and HTTP requests
  • NextAuth.js with Google Provider to sign users in
    • Used MongoDB adapter to store data about users, accounts, sessions, etc.
  • EmailJS for sending commission request emails with my specified template
  • Leveraged React Toastify library for displaying success and failure alerts to user
  • Implemented filter options on painting page using React-Select library

Releases

No releases published

Packages

No packages published