Die wesentlichen Komponenten eines Forums sind ja bereits angesprochen.
Ich denke jedoch, dass bei der Entwicklung eines solchen Projekts (was schnell größer wird, als Du glaubst) nicht die Komponenten bzw. Technologien am Anfang stehen sollten, sondern ein fundiertes DV-Konzept und ein sinnvolles Datenbankdesign.
Bevor Du Dir Templates entwickelst solltest Du Dir über die Anforderungen an Dein Forum im klaren sein. Dazu gehört in erster Linie nicht das Design, worauf man fast automatisch als erstes Rücksicht nimmt, wenn man mit den Templates beginnt.
Du soltest Dir Gedanken über die Abläufe und die zu speichernden Daten machen. Daraus kannst Du Deine Datenbank entwickeln und Dir konzeptuell überlegen, welche Skripte bzw. Klassen Du brauchst und welche Aufgaben bzw. Funktionen sie erfüllen müssen.
Mit einem ordentlichen Konzept ist die Implementierung nur noch Handwerk, ein Kinderspiel.
Basieren Deine Templates auf semantischen Markup, kannst Du Dich bei der Implementierung voll und ganz auf die Prozesse Deines Forums konzentrieren und wenn es "technisch" funktioniert die Formatierung per CSS einfügen.
So, das waren meine Tipps und Hinweise des Abends.
Gruß hpvw
Links:
Template Tutorial 1
Template Tutorial 2
Normalisierte Datenbanken
PHP-MySQL-Tutorial Login-System mit Sessions
Tutorial Reguläre Ausdrücke (für BB-Code)
Tutorial Blätterfunktion