It would be great if someone could write a smart contract where the paticipants could send certain amount of ada to an address and based on a random number generation a winner is picked and the whole of the community collected ada will be transfered to that winner address.
This is very easy to do - and is literally the most common example used for Solidity tutorials.
There are very many others.
Pick one. Build it on Ethereum and check it works. Then build it on Cardano KEVM testnet.
Perhaps you wanted it written in Plutus? that I am not sure about… maybe look at this: Naive Lottery Smart Contract Implemented In Plutus