Hi @hussammustafa,
I would verify the implementation contract using the Buidler Etherscan plugin. (There is a Truffle plugin but this flattens currently, though in future should support multi-file verification).
The proxy and ProxyAdmin contracts should be verified. If they are not I can verify these (using Verify Upgrades Plugins proxy on Etherscan)