Are there minimum transaction fee, and is it based on the number of input transaction (UTXO)? I know probably everyone give an extra transaction fee, but are there minimum transaction fee that one must pay, and is it based on the number of input transaction (UTXO)?

And I have read that wallet developers tries to eliminate small UTXOs when preparing a new transaction. So is there harm for having too many small/dust UTXOs?
are there minimum transaction fees?


No, you could also pay no fee but your transaction will probably not be included in a block then. This is a pretty old example-transaction with no fee paid: https://blockchain.info/de/tx/8131ffb0a2c945ecaf9b9063e59558784f9c3a74741ce6ae2a18d0571dac15bb


  and is it based on the number of input transaction


Not on the number but on the size in Bytes.


  So is there harm for having too many small/dust UTXOs?


Yes. You can see it at the moment. People pay around 1.80$ for a "one address to one address"-transaction. More inputs/outputs means a bigger size. Bigger size means higher fees.