フォーラムを作ってみます。

最初のツールはフォーラムを作ってみようと思います。(無謀ですね!)
特に意味はないのですが、情報交換できる場はとてもありがたいものです。
LAMPについてはまったくの素人です。試行錯誤しながらいきたいと思います。

とりあえずの仕様は以下の通りです。

・データの管理は、MySQLで行う。
・Smartyを使ってみる。

フォーラムの構造は以下のようにします。
(1)トップページ
カテゴリーわけされたフォーラムの一覧を表示
 [イメージ]
(2)トピックスページ
 フォーラム別のトピックス一覧を表示
 [イメージ]
(3)メッセージページ
 トピックスに対するメッセージの件名をツリー表示
 [イメージ]
(4)投稿ページ
メッセージを書き込む
 [イメージ]
(5)管理ページ
 カテゴリーやフォーラムの作成、その他管理項目の設定

まず、トップページに必要なものを洗い出します。
カテゴリー名、フォーラム名は最低限必要ですね。
フォーラム内のトピックスの数位ですかね。

トピックスのページは、フォーラム名、トピックス、レスの数、最終更新日
トピックスの投稿者ですね。
新規のトピックスは、この画面から投稿を選択して投稿画面に遷移します。

メッセージのページは、メッセージ、メッセージの件名、投稿日、
投稿者とします。

ここまでの情報からデータベースの構造を考えてみます。

ER図

勢いで考えたので、まずい点もありそうですね。
topicもpostされるメッセージなのでpost_messageへ登録することとします。
rootになるメッセージということでparent_post_idは 0 をデフォルトとします。
ツリー表示の部分は、いろいろな考え方がありそうですがとりあえず
自己結合でいきたいと思います。
データのライフサイクルは、トピックス毎の最終投稿日からnヶ月投稿がない場合に
ファイルとして保管します。
(トピックスを残したい場合もでてくるかもしれないので後日考えます。)