This project was bootstrapped with Create React App.
In the project directory, you can run:
Runs the app in the development mode.
Open http://localhost:3000 to view it in your browser.
The page will reload when you make changes.
You may also see any lint errors in the console.
Launches the test runner in the interactive watch mode.
See the section about running tests for more information.
Builds the app for production to the build
folder.
It correctly bundles React in production mode and optimizes the build for the best performance.
The build is minified and the filenames include the hashes.
Your app is ready to be deployed!
See the section about deployment for more information.
Note: this is a one-way operation. Once you eject
, you can't go back!
If you aren't satisfied with the build tool and configuration choices, you can eject
at any time. This command will remove the single build dependency from your project.
Instead, it will copy all the configuration files and the transitive dependencies (webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except eject
will still work, but they will point to the copied scripts so you can tweak them. At this point you're on your own.
You don't have to ever use eject
. The curated feature set is suitable for small and middle deployments, and you shouldn't feel obligated to use this feature. However we understand that this tool wouldn't be useful if you couldn't customize it when you are ready for it.
You can learn more in the Create React App documentation.
To learn React, check out the React documentation.
This section has moved here: https://facebook.github.io/create-react-app/docs/code-splitting
This section has moved here: https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size
This section has moved here: https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app
This section has moved here: https://facebook.github.io/create-react-app/docs/advanced-configuration
This section has moved here: https://facebook.github.io/create-react-app/docs/deployment
This section has moved here: https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify
-
Introduction
-
Install Tools
-
Create React App
-
Create Git Repository
-
List Products
- create products array
- add product images
- render products
- style products
-
Add page routing
- npm i react-router-dom
- create route for home screen
- create router for product screen
-
Create Node.JS Server
- run npm init in root folder
- Update package.json set type: module
- Add .js to imports
- npm install express
- create server.js
- add start command as node backend/server.js
- require express
- create route for / return backend is ready.
- move products.js from frontend to backend
- create route for /api/products
- return products
- run npm start
-
Fetch Products From Backend
- set proxy in package.json
- npm install axios
- use state hook
- use effect hook
- use reducer hook
-
Manage State By Reducer Hook
- define reducer
- update fetch data
- get state from usReducer
-
Add bootstrap UI Framework
- npm install react-bootstrap bootstrap
- update App.js
-
Create Product and Rating Component
- create Rating component
- Create Product component
- Use Rating component in Product component
-
Create Product Details Screen
- fetch product from backend
- create 3 columns for image, info and action
-
Create Loading and Message component
- create loading component
- use spinner component
- create message component
- create utils.js to define getError function
-
Implement Add To Cart Create React Context define reducer create store provider implement add to cart button click handler
-
Complete Add To Cart check exist item in the cart check count in stock in backed
-
Create Cart Screen Create 2 columns display items list create action column
-
Complete Cart Screen
- click handler for inc/dec item
- click handler for remove item
- click handler for checkout
-
Create Signin Screen
- create sign in form
- add email and password
- add signin button
-
Connect to MongoDB database
- create atlas mongodb database
- install local mongodb database
- npm install mongoose
- connect to mongodb database (We had set up both local as weel as cloud database)
-
Seed Sample data to mongodb(Fun)
- create Product model(Here we will learn how to create a model)
- create User model
- create seed route
- use routr in server.js
- seed sample product
-
Seed Sample Users 1.Create user model 2.seed sample users 3.create user routes
-
Create Signin Backend API
- create signin api(POST request wherein user will send their login details)
- npm install jsonwebtoken
- define generateToken
-
Complete signin Screem
- handle submit action
- save token in store and local storage
- show user name in header
-
Create shipping screen
- create form inputs
- handle save shipping address
- add checkout wizard bar(Fun)
-
Create Sign Up Screen
- create input forms
- handle submit
- create backend api
-
Implement Select Payment Method Screen
- create input forms
- handle submit
-
Create Place Order Screen
- show cart items, payment and address
- calculate order summary
-
Implement Place Order Action
- handle place order action
- create order create api
-
Create Order Screen
- create backend api for order/:id
- fetch order api in frontend
- show order information in 2 cloumns