Please help me understanding how to correcty handle this scenario

I've been asked to start studing on developing a smart contract that allows me to mint an NFT (consider the scenario where we want to allow our customer to mint nft on our platform), should I deploy the contract (which is the simple one) for every customer who decide to mint on our platform or it's just deployed once then we call it's function when we call the js that mints?