An ecommerce application on the Blockchain.
Key Features • How To Use • Download • Credits • Related • License
Ecommerce platforms have always been very beneficial in terms of wider access to goods. Despite its many advantages there exist challenges that plague online transactions which include data security, lack of trust and payment disputes. To confront these challenges, this study presents an application that leverages principles of blockchain technology and escrow services to create a secure, trustworthy ecommerce marketplace. Addressing the inherent challenges ultimately enhances user confidence and mitigates potential risks. The methodology involves designing an intuitive application that integrates escrow services, securely holding the buyer's payment until both parties reach an agreement. Smart contracts powered by blockchain which define the conditions for releasing the funds from escrow to the seller upon successful delivery and buyer approval; will also be developed.
- Connect to MetaMask Wallet.
- Instant read of Ethereum Balance.
- Transact securely using Ethereum.
- Windows and Linux ready.
- Not tested on other platforms.
To clone and run this application, you'll need Git and Node.js (which comes with npm) installed on your computer. From your command line:
# Clone this repository
$ git clone https://github.com/nerdistry/EscrowWebApp.git
# Delete the node modules and package-lock files in both the front and back end folders.
# Go into the front end folder
$ cd frontend
# Install dependencies for the front end.
$ npm install
#Go back a directory
$ cd ..
# Go into the back end folder
$ cd backend
# Install dependencies for the backend end.
$ npm install
#Install hardhat
$ npx hardhat
#Go back a directory
$ cd ..
# Go into the front end folder
$ cd frontend
# Run the app
$ npm start
Note
Remember for Windows you have to have XAMPP installed. And the database we are using is MongoDB.
⚠️ ⚠️ We're using testnets for this web application and for security reasons, it is highly recommended you follow suit.
This web app uses the following important packages for the:
(a) Normal Backend
There were just worth mentioning, you can check out the rest in the package-lock.json file in the backend folder.
(a) Solidity Backend
(b) Frontend
The packages are more than we can mention!
Escrow_Web_App/
├── backend/
│ ├── config/
│ │ └── dbConnect.js
│ │ └── jwtToken.js
│ │ └── refreshtoken.js
│ ├── contracts/
│ │ └── escrow.sol
│ ├── controller/
│ │ └── brandCtrl.js
│ │ └── categoryCtrl.js
│ │ └── emailCtrl.js
│ │ └── productCtrl.js
│ │ └── userCtrl.js
│ ├── middlewares/
│ │ └── authMiddleware.js
│ │ └── errprHandler.js
│ │ └── uploadImages.js
│ ├── models/
│ │ └── brandModel.js
│ │ └── cartModel.js
│ │ └── categoryModel.js
│ │ └── orderModel.js
│ │ └── productModel.js
│ │ └── userModel.js
│ ├── routes/
│ │ └── authRoute.js
│ │ └── brandRoute.js
│ │ └── categoryRoute.js
│ │ └── productRoute.js
│ ├── scripts/
│ │ └── deploy.js
│ ├── index.js
│ └── package.json
├── frontend/
│ ├── public/
│ │ └── index.html
│ ├── src/
│ │ ├── components/
│ │ ├── App.js
│ │ └── index.js
│ ├── package.json
│ └── ...
└── README.md
MIT
GitHub @bryanlwaya · GitHub @fanisheba ·