An e-commerce website for selling electronics powered by NodeJS, Typescript, React, and Redux.
This is an e-commerce website for selling electronics. It was made as part of the ReactJS Training I had during my internship at Dassault Systemes. I had obtained permissions to display and share this work as part of my portfolio.
- NodeJS LTS Version 16.16.0 or later (with npm 8.11.0 installed)
- Clone the repository.
- Open another powershell into
data
path wheredb.json
is located (don't close previous) - Type
npm install -g json-server
to install JSON Server globally for quick backend - Type
json-server -p 8080 --watch db.json
, then go tohttp://localhost:8080
to verify that the database is started
- Open powershell into the root of the project folder (with
package.json
) - Type
npm install
to install dependencies of the project - Type
npm start
to start the project - Go to
http://localhost:3001
(change port depending on your settings)
data
folder stores the JSON database.public
folder stores site metadata, favicons, and ReactJS starting pointcatalog
folder provides components that are used in displaying products in a catalog fashion.ProductGalleryComponent.tsx
displays product in a "gallery" (aka Grid-like) format.ProductListComponent.tsx
displays product in a "list" format.ProductsComponent.tsx
is the holder of either gallery or list of products.
common
folder houses components of the website that are not part of the catalog.models
define the format for the JSON database structure & data.shoppingcart
is the same ascatalog
except it handles the shopping cart side and only displays in a "list" formatstore
is where Redux functionality is defined especially on credentials persistence.