You need to start by looking at the timing diagrams for the Z80. You need to understand what is different about each diagram (read, write, I/O, interrupt and DRAM refresh). You can the decide how your circuit might combine the signals to decode unique operations for the various operation. If you plan on using static RAM, you can ignore the DRAM. Look at each diagram and make note of what is in common and what make each unique. Also, make note of when your circuit is playing part in the timing and when the processor is on its own.
Pay especial note as to the differences between and interrupt, I/O or memory operation. Your circuit must include all the differences in these conditions to avoid corrupting the other operations that look similar. You don't want an intended memory write to also cause a write to an I/O port with the same data. The hardware you design must protect against such things.
Look on bitsavers.org for Zilog data manuals that describe the Z80. Also, try to get data manuals for any part, RAM, I/O chip and such, that you intend to add to your system. You want to see how the Z80 timing diagram can provide the needed signal to match the periphery components timing diagram.
Making systems is all about matching up these timing diagrams.
You also need to understand logic. For the most part, you'll be using NANDs, NORs and D-Fipflops. You might also use XORs or comparitors for such things as address decoders. Familiarize yourself with how these circuit work. Look at truth tables until you can understand what they are for.
One last thing. Every logic operation takes some time. For most things, one can run the main clock slower to compensate for these delays. This is true for most things but things like DRAM have maximum delays for things like refresh. Although, it is easier to get big DRAM than static I recommend staying with SRAM until you are willing to do thorough timing analysis of your circuits.
You get all that and you'll be a designer.
Dwight