So you have decided to go ahead and read, thank you and hopefully we learn something useful during this adventure.
For the materials needed to do this project, we are going to need a few things, depending on what we want. In my case I'm going to stick to the basics, not going to add optical stuff nor some obscure wireless communication method that is in development either.
For the software we are going to use, it depends on what we want to do. If we want the machine to behave like an access point/switch and we have a DHCP already going in the network, we will only need to set up a bridge, so bridge-utils and hostapd for the WiFi.
Nonetheless, if we want to have working DHCP in our router, we will have to find a DHCP server. In my case I'm already using Pi-Hole, not complicated and it has a Web UI (plus it blocks ads on the network!). You can also set up your own dnsmasq instance if you want, but I'm not going to focus on that here.