The tutorials other people have linked to look good, just note that unless you're talking between 2 computers within your local network (and even then you'll have to copy-paste their IP addresses to each other), you'll need to either deploy a server or use a 3rd party library like PeerJS that uses one.
I hope that eventually IPv6 will obviate the need for NAT and make this whole thing much simpler, but until then, this is what we've got.
I guess that's where your central server comes in - even in a perfect scenario where there's no NAT between peers.
It is very easy to get running in your computer since it's made with the purpose of explaining data flow withing WebRTC, logs have been implemented describing this flow in both client and server, you can find a blog post about it here [1].
[0] https://github.com/agilityfeat/file-transfer-demo
[1] https://webrtc.ventures/2018/04/file-transfers-small-demonst...