as you can read in the title I have to build a reliable P2P data transfer Using UDP(I'm a student), so what I asking you guys is to not give me the code, actually, I hate copying and pasting so much, I feel pain in doing it, I'm asking for help to tell me what tool do I need, I'm familiar with Javascript and Java and Python, feel free to help me if you know any of these languages.
the reliability part will be achieved through checksum and ACKs(Acknowledgements), so I have to Implement them:
-I know how checksum can be calculated.
-ACKs can be Implemented in the way of Stop-and-wait protocol(I think it's the simplest one), if you know another protocol, that is okay.
I'm really lost, I don't know from where I begin if you have some code examples, please share a link that would be helpful, so I can build an idea from where do I start.
thanks.
Here are some reliable UDP examples in github like kcp, quic, utp. You can read them and get the essential from them.
As for how to do it, there are some little suggestions:

You need ACK to check if any packet/datagram lost, and then retransmit it
You need to use FEC
Congestion algorithm can be considered later.

When you try to build your own code, do a little goal in every step, don't build a complex protocol at the very begining.
how can I build reliable P2P data transfer using UDP protocol