That's a pretty lengthy topic and I doubt anyone will have enough time for the comprehensive response that you desire.
That said, if you want to design a forum the best way to go about the task is to observe how forums work by looking at forums already in operation, like this one. You can get quite a bit of information just from observing how the front-end UI is designed. Additionally, you can also look at the backend source code as there are several free, open source solutions that exist. One being PHPBB available from PHPBB.com. Download the source code, read the installation instructions. Observe how it works out of the box, then begin studying the source code to learn how you might approach customizing the backend to your specific needs.
HTH!
Regards,
Rich
--
[
http://www.smilingsouls.net]
[
http://pear.php.net/Mail_IMAP] A PHP/C-Client/PEAR solution for webmail