This is a simple NFT MarketPalce that does the job. Users can list their NFT collections onto the marketplace either as a fixed price or place it in an auction. Other users can place bids, but only when the auction is live. Once the auction ends the user with the highest bid can then proceed to purchase the NFT from the seller. This NFT marketplace is designed in a way where bids are to be placed as whole numbers, in ethers and not in wei or gwei for simplicity purpose. The MarketPlace contract is thoroughly tested on hardhat