🛵 An interesting decentralized app keeps track on delivery man to keep customers safe from COVID-19.
To learn more about this project please check this demo video and slide.
- Install Ganache and Truffle suite as local blockchain.
- Install Metamask extension and import accounts from Ganache by private key.
- Sign up in Google Cloud and get API key to enable Map Javascript API.
- Create an environment setting file
.env
underreact/deliveryman/src
and put the API key under it.
REACT_APP_API_KEY_1={Your_API_Key}
First clone the project to local.
$ git clone https://github.com/tin0819tin/No-Covid.git
- First open Ganache in your local or enable Ganache-cli.
- Create a workspace in Ganache and upload
truffle-config.js
.
- Open the Metamask Setting and select Network to add a new one.
- Enter the following parameters for connecting Metamask with Ganache.
Build the truffle contract.
$ truffle compile
Migrate the contract to Ganache.
$ truffle migrate
Then put the directory build/contract
under react/deliveryman/src
.
Build the required package through npm
$ cd react/deliveryman
$ npm install
Start the Dapp
$ npm start
See the Landing Page on http://localhost:3000
or http://localhost:3000/landing
Pick your identity on the Landing Page
.
Delivery man
/login
: Login and upload health status./action
: Wait for delivery match./action
: Start deliver!/arrive
: Upload food image after delivered.
Customer
/order
: Make the order./confirmDelivery
: Confirm delivery man./clientAction
: Wait for the meal./clientAction
: Get the meal and rate the delivery man:star2:.
- Store the health status of delivery man on Blockchain(Ganache).
- Store the delivery details on Blockchain(Ganache).
- Render the geolocation of delivery man, restaurant and customer using Google Map API.
- Decide whether delivery man is risky by measuring delivery history with latest COVID hot spots.
- Utilize IPFS to store images on IPFS node.