This is a decentralized courses booking system built with hardhat, solidity and Ethers JS and based on smart contracts
You need to have a wallet with testnet ethereum on the Goerli network Get free Goerli faucet
to create the student and Session objects in Factory Class
thus creating an abstract interface for the student and use it in the Factory ckass to create the student
then cd DecentralizedCoursesBookingSystem
npm i
create .env
file in the root directory
set up these constants
QUICKNODE_API_URL=YOUR_QUICKNODE_API_KEY
RINKEBY_ACCOUNT_PK=YOUR_RINKEBY_ACCOUNT_PK
ETHERSCAN_API_KEY=YOUR_ETHERSCAN_API_KEY
COINMARKETCAP_API_KEY=YOUR_COINMARKETCAP_API_KEY
compile the contracts
npx hardhat compile
deploy the contracts locally
npx hardhat run scripts/deploy.js
deploy the contracts to goerli network
npx hardhat run scripts/deploy.js --network goerli
Unit Testing for the contract
npx hardhat test
Test coverage report
npx hardhat coverage
Execute Balance task
npx hardhat balance --account account_public_key
For the app users, connect your Wallet with an account that have GoerliETH on the Goerli testnet network get GoerliETH for free, create an account if you are a user and get access to the plateform.
If you are an admin, you should connect with your admin account already written on the blockchain.
https://frostbite22.github.io/DecentralizedCoursesBookingSystemFrontAdmin
https://frostbite22.github.io/DecentralizedCoursesBookingSystemFront