Table of Contents:
# Example user
[email protected]
123456
A mock eCommerce solution
-
Sign up with email check up front: The user will be going to input his email to pair with the database first. If the email has not been registered yet, he will be redirect to sign up page without need to input email again. Sign up form is built on Formik to handle validation and error messages.
-
Products search: All keywords search are handled at server database
-
Shopping cart side panel: Add to cart will update cart global state and localStorage, this will trigger a side Modal with cart summary.
-
Checkout process/change address: The user will be able to alter the address while viewing the cart. Checkout will create an unfinished order, and payapal sandbox come into play here. Once the payment go through the database, user will be redirect to a confirm page with the choice to view order.
-
Order history and sign out: Order status will be printed to the right of the order page.
-
More features about admin users!
MERN (Mongo, Express, React, Node)
Other Highlights |
---|
Redux |
React-Bootstrap |
styled-components |
formik & jwt |
In order to run this project locally you must have node.js installed.
This project was built on the following node version.
$ node --version
v13.14.0
You must also create a .env
file in with the following
PORT = 3001
# production or development
NODE_ENV = ""
# randomly generated
JWT_SECRET=" "
# obtained from mongoDB
MONGO_URI=" "
# obtained from paypal
PAYPAL_CLIENT_ID=" "
# name and port of your local server. With out setup, requests to port 3000 are proxied to the backend.
HOST= "0.0.0.0"
If any of the above environment variables are missing the project will loose functionality or even fail to run.
git clone https://github.com/GuohaoOuyang/ebook-store.git
npm run install
npm run client-install
npm run dev