ERC721 Marketplace-Security

Hi, I have some questions that i really need answers for them any help i will be appreciated.

I am trying to create NFT Marketplace right now. with Next Js. will deploy on Web

(I watched tutorial on youtube published by Nader Dabit he uses ReentrancyGuard on another .sol and ERC721URIStorage on another sol but i merged them can it cause any security problem ?)
1- i created an smart contract which: is ReentrancyGuard,ERC721URIStorage. And created a map for NFT
it contains owner,seller,itemId,tokenId. And on ipfs im storing NFT's image,description and name. So what happens if i add description and name to my Smart Contract's map. Does it have any security problems or any other negative affects.

And my second the most important question is, Does anybody can call my Smart Contracts function from anywhere else. And as i understand to call function you need .abi and smart contract's address.Are they visible to public ? Because i will make a function like this shown below that i will add level to NFT and it will be upgradable by chance will calculate this chance on firebase cloud function . Thank you very much. :slight_smile:

function upgradeItem(uint256 itemId,

  bool upgrade) public payable nonReentrant returns (bool) {
    if(upgrade == true)
    idToMarketItem[itemId].level += 1;
    if(upgrade == false && idToMarketItem[itemId].level != 1)
    idToMarketItem[itemId].level -= 1;


If you have the contract verified on say etherscan, anyone can interact with it through a UI made available by etherscan. Check out the code section of a few reputable projects and you'll see them.

Thank you for your answer, and what about my other questions?