While not technically difficult, you need to address many logistical issues. Like how many subnets you want or need. Everything could be done on a single network, but you may have bandwidth issues depending on your equipment and cabling.
You should read a bunch of books and guides before taking this on so that you understand some of the many issues involved. Try THIS
, and THIS
to get started.