I am using truffle box to create the project template for more Info https://github.com/truffle-box/react-box
I am using openzepplin in smart contracts as it contains most of the utilities we need during developement which are tested and audited which will help us to save time and provide safety as the openzepplin contracts are audited
In order to deploy smart contracts on BSC please refer below process
//reference to deploy contract on eth testnet https://andresaaap.medium.com/how-to-deploy-a-smart-contract-on-a-public-test-network-rinkeby-using-infura-truffle-8e19253870c4
//faucets to request amount in testnet https://faucet.matic.network/ https://testnet.binance.org/faucet-smart