What is the best example for integration contract and frontend?

how to send contract parameters when send nft to marketplace address?

const tx = new Transaction({ initiator: wallet })
                .sendAssets(
                    {
                        address: marketAddress,
                        datum: {
                            value: secretDatum,
                        },
                    },
                    [
                        {
                            unit: assetName,
                            quantity: "1",
                        },
                    ],
                );

Is there any way to add parameters? or no need to send any parameters when list nft to marketplace? then how to know price and asset owner and so on when buy nft?