Furniture E-commerce store project

TODO!:

  • aborcontroller
  • remove formik
  • remove yup
  • move select to its own chunk
  • /api/furniture changed for GET from POST
  • mobile menu points should not come from backend
  • remove /private prefix
  • unify success messages
  • switch to prisma + postgres
  • profile picture?
  • refactor server api
  • image compressing
  • should add notfound page
  • redirect to 404
  • should get all colors and brands from backend in aside
  • should add logging when accessing a route
  • redux should get user's info right after login
  • /login should return user data (think of which)
  • decide whether should do login if there is token
  • should redirect to login after register (modals comes in)
  • image name before uploads is incorrect
  • login returns image buffer but should not
  • remove cart and orders requests, they come with login
  • merge favorites reducer into user reducer
  • after submit image icon is not changing
  • display orders
  • should display rating
  • should refine items' color and dimensions in cart
  • cart item is not being removed from redux
  • removing from favorites does not remove from redux
  • mark cart and favorites icons
  • when not logged in items are not being added to cart
  • catalog aside close
  • productcard on buy nothing happens (should add to cart)
  • productcard select is not working
  • productcard should display colors in select (did in a row)
  • product shoul be added to cart with colors
  • getOrders is not being used?
  • after making order it is not dissappearing from cart
  • should redirect to orders when making order
  • profile request should not be sent if there is no changes
  • should add feature to cancel order
  • /login sends back empry orders
  • /product buy again removes it from cart
  • isolate image preparing logic (and sending user data maybe? (/login & GET /user ))
  • should refactor styles
  • add logging in protect (and refactor it)
  • add rewrite from /uploads to server
  • implement message from user
  • inject prisma client
  • change api to /user/orders, /user/cart, etc...
  • substitute types from prisma/client insteead of hand made types
  • should show snackbars when error is occured
  • handle something went wrong when updating profile
  • should add search
  • user should have the ability to choose whether he wants to recieve emails ("wantsToReceiveEmailUpdates": boolean)
  • add remaining products
  • mark in swagger which id to send
  • /login swagger edit response types
  • at the start two equal api call api/furniture in catalog
  • add reviews
  • redesign successfull signup popup
  • profile popup recieve emails is without scroll lock
  • profile should not send request if none of the fields is edited
  • refactor styles
  • profile email form error message is shown but border is not
  • product 404 if undefined
  • profile tabs borders design
  • should add mobile user menu
  • should only upload .png or .jpg files
  • profile should redirect to login if not authorized
  • catalog items loader should be centered
  • favorites label should be in english
  • profile no loading while updating
  • should implement github-ci
  • add universal button component to set type, title, aria-label automatically
  • check for z-indexes everywhere
  • /contacts form redesign
  • should disable buttons and inputs while making submit requests