This Project is to implement a decentralised shopping cart. Similar to a classical shopping cart application, the decentralised shopping cart supports operations such as adding items, removing items, calculating prices, searching items, purchasing etc. However, typical online shopping systems may contain extra charge from sellers. More than that, traditional online shopping applications suffer security issues such as DDoS, SQL injection and cross-site scripting attack. One solution is to make the application decentralised. In a decentralised shopping application, all trades happen directly between buyers and sellers with no middleman to take a cut from each sale. In terms of security, essential components have been distributed using the blockchain. Such property makes it practically impossible and expensive to attack.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
Before using this APP, you need to install a plie of things on your machine:
-
Node.js and npm
-
web3.js
-
truffle
-
Ganache
-
Solidity (Remix IDE)
-
MetaMask
-
filebase
-
filestack
As there are a pile of things you need to install, you can check Installations in Wiki to help you install all prerequsits step by step.
As the the whole project has mainly three layer and the way to link these layers are not that simple, you can check Environment Setting Up.
Once you have installed all of the installations, you can run the project as follows in terminal.
- Clone the repo by
git clone https://github.com/Snake-Squad/Decentralised-Shopping-Cart.git
- Go to PetShop folder
cd PetShop
-
Open Ganache
-
Open Metamask and Set It Up
-
Migrate the Project on Terminal
truffle migrate --reset
- Start the Project
npm run dev
- HTML/CSS/Javascript - The web framework used
- boostrap - UI design used
- firebase - Centralized Database
- filestack - Uploading Image API
- blockchain - Etherum Vertual Machine used
- Yufei Zhang - Initial work - DSC
- Minzhen Ye - Initial work - DSC
- Yanjie Hu - Initial work - DSC
- Wenjie Gao - Initial work - DSC
See also the list of contributors who participated in this project.
Please read the following files for details on each team member's weekly contributions.
- Wenjie Gao - z5045361.txt
- Yanjie Hu - z5042116.txt
- Minzhen Ye - z5042116.txt
- Yufei Zhang - z5121128.txt
You can check Wiki for more documents of this project.
This project is licensed under the GNU GPL License - see the LICENSE.md file for details