IPFS is a decentralized, peer to peer file sharing protocol. Essentially it's a distributed file system over blockchain
There are various types of IPFS gateways available. Some are free, some are not.
In this project, I've used Infura which allow write access
This project was bootstrapped with Create React App.