This project implements a Web3 based Calendly React web app using ETH to book appointments. Check it out at https://machdragon.github.io/calend3eth/
Frameworks used: ReactJS, Solidity, NodeJs, Hardhat, Alchemy, Metamask, Twilio.
Users interact with the Frontend React Calend3 Web3app, viewing the available schedule to book appointments by paying a rate of ETH/min as set by the owner. Once an appointment has been booked, the user receives a confirmation of the appointment booking on the blockchain viewed by etherscan txn hash. The owner of the Calendly receives ETH and is notified by SMS of the appointment on the blockchain.
We deploy this smart contract to the Goerli Testnet, Calend3 frontend calls the Solidity smart contract backend for getting/setting rate and to send/recieve ETH transactions
Test out the features by selecting the Goerli Test Network with your MetaMask Wallet. Then head to https://goerlifaucet.com/ to add some play money to your wallet address and create some calendar bookings!
displays calendar for user and admin components verifies against Metamask owner address
cd frontend
npm start
requires Metamask to be installed in frontend directory
npm install @metamask/detect-provider
How to build this project on your own utilizing Solidity, NodeJs, Hardhat, ReactJS, Alchemy, Metamask, Twilio
cd calend3eth
npm init -y
npm install --save-dev hardhat
npx hardhat
npm install --save-dev @nomiclabs/hardhat-waffle@^2.0.0 ethereum-waffle@^3.0.0 chai@^4.2.0 @nomiclabs/hardhat-ethers@^2.0.0 ethers@^5.0.0
npx hardhat
npx hardhat accounts
npx hardhat run scripts/deploy.js --network goerli
cd webhooks && npm init -y
npm install express body-parser twilio
node index.js
unzip /path/to/ngrok.zip
ngrok authtoken [your token]
ngrok http 3100
copy https ngrok address and paste into Alchemy Notify Webhook to get Notifications about our Smart Contract Transactions
Source: Part Time Larry