Simple ecommerce website made with React Hooks and Redux.
- Live demo is available here: Demo
- Codesandbox is available here: Codesandbox
- Home, Products, Product Details, Liked, Cart, Login, Profile and Error pages
- State management with Redux
- Responsive design with Bootstrap
- Products pagination with infinite scroll
- Insert Advertisements at every N products
- Products sorting by price, weight, size asc and desc
- Product filtering by brand and color
- Ability to like the products (wishlist)
- Product Details page with image magnify
- Cart with increment, decrement and remove product abilities
- Local Login/Register with Formik validation
- Login with Google OAuth, client side auth
- Profile page is behind protected route
- Product card with loader for image loading
- Toast messages for adding, liking a product, login/logout with Google/Local and network errors
- Loading state with spinner with text or default spinner
- Two fake backends with Promise and Axios-Mock-Adapter strategies
- Config file with settable pagination page size, advertisement index and fake backend delay
- Dynamic data creation and randomizing with Faker
- Dynamic carousel width with React Container Dimensions and image cropping with
object-fit:cover
- React with Hooks, Redux, Redux Thunk
- React Bootstrap with Cosmo theme
- React Infinite Scroller, React Image Magnify, React Google Login, React Container Dimensions
- Axios, Axios Mock Adapter, Formik, Faker
npm install
npm run start
app wil be loaded onhttp://localhost:3002
# must use HashRouter
# set "homepage": "/redux-ecommerce/#", in package.json
# must have in .env
SKIP_PREFLIGHT_CHECK=true
# must have this env var in terminal
export NODE_OPTIONS=--openssl-legacy-provider
# redeploy
npm run deploy