- Bootstrap
- React JS
- ContextAPI
- Styled Component
-
- Firebase(currently at user validation stage)
-
- GraphQL
- Currently working on: Moving possible class components to functional components and use hooks
- Currently working on: Moving value sharing from ContextAPI to Redux
- Currently working on: Using firebase and store products to firestore
- Currently working on: Using graphQL to request products details
Demo: https://hong-cai.github.io/react-shop-sample
- Products Display
- Top right menu: Hovered Cart Editing(use useCallback() to stop component re-rendering)
- Shopping Cart Summary
- Unlimited products scrolling
- Products Filter
- Login/Signup/Logout(local test data and firebase users)
- Auto Scrolling Carousel
- Not done yet: Paypal payment Method
- Not done yet: turn products list into unlimited scrolling effect
- Design with Styled Component/HTML/CSS and Bootstrap
- Login/Registration Form Validation
- Implement React Components For Product List, Filter, Cart
- Managing Component State using Context API
- Add Routes using React-Routers
- Sample users list using github user API
- Publish Project on Github page
-
- Google Authentication
-
- Infinite list scrolling
├── Home
│ └── Automatic Products Carousel
│
├── Shop
│ ├── Products Filter
│ └── Infinite Products Scrolling *
│
├── About
│ └── Simple Textblock
│
├── Products
│ └── Productslist
│
├── Account
│ ├── Login
│ ├── Signup
│ ├── Google Authentication using Firebase
│ ├── Sample users list *
│ └── Forget Password *
│
└── Cart / Checkout
├── Cart Modification/Overview
├── Order Summary
├── Billing/Tax Details
└── Paypal Method
-
Introduction
-
Introduction
- Fully-Functional Shopping Cart(Select Multiple/None Items, Calculate Tax,Remove Items...)
- Easily Edited Hover Cart(Edit Order Number,Remove Item...)
- Automatic Scrolling Carousel (Pause when hovered, React Scroll)
- List Products
- Filter Products by Search, Price,Categories,Onsale
- Open Product Details Page by Click on The Product
- Add To Cart and Open Modal By Click on Product
- Show Checkout Form
-
Toolsets and Technologies
- JavaScript
- React (react-router-dom,hooks)
- Context API
- Styled Components
- PropTypes
- VS Code (ES6 Snippets, ESLint Extension,CSS Peek, Code Formatter...)
- Git (create repo, commit, remote, create and push branch)
- Github (create repo, connect to local repo, pull request and merge)
- Deployment (Github Pages)
- Firebase and Google authentication
-
Project Development Workflow
- Extra product data from Wordpress website and edit
- Create data.json {products:[{id, title, ...}]
- Update App.js to import data.json
- Create Components(Modal,NavBar,Products,FeaturedProducts...) folder
- Create Pages(Home,Shop,Cart,About...) folder
-