Cakephpで会員制サイト サイトの機能設計 ITかあさん

ITかあさん

Cakephpで会員制サイト サイトの機能設計

会員制掲示板の基本機能を決める

会員制掲示板の基本機能を決めていきましょう。
基本機能をしっかり決めることで効率のよいWEBアプリケーション開発に繋がります。

前回少し触れましたが、ITかあさんは昔けっこうあったバンドメンバー募集サイトを作りたいと思います。

サイトの基本機能

・バンドメンバー 加入希望 募集に大きくスレッドを分ける
・メール認証を行って会員になるシステム
・会員はプロフィールを持てる
・会員は新規スレッドを立てることが出来る
・非会員はスレッドに対してメッセージを送るのみ
・退会時にプロフィール、スレッドは削除される
・都道府県別カテゴリー
・募集パート 加入パート パート別カテゴリー
・プロフィール写真アップロード機能

マスター管理

・マスターログイン
・ユーザー管理
・サイト内お知らせ機能(ニュース)
・不正スレッド編集 削除

ユーザー

・ログイン
・マイページ
・掲示板閲覧
・掲示板追加
・掲示板へメッセージ送信
・プロフィール機能

非ユーザー

非ユーザーについては新規スレッドが立てられずに閲覧と返信のみに留めるようにしましょうか

・掲示板閲覧
・掲示板へメッセージ送信

機能を元にデータベース上に必要なテーブルを考える

ではここまでの機能やカテゴリーを踏まえて必要なテーブルを考えます。
日本全国に対応したエリアテーブルがちょっとしたミソになります。

エリアを管理するテーブル設計

私は全国希望のエリアでカテゴリー分けをするようなサイトではエリアの管理だけで3つのテーブルを使うことが多いです。

・東北北海道、関東、関西などざっくりとしたブロック分け(districts)
・関東なら、さらに東京、埼玉など都道府県を分けるテーブル(prefectures)
・都道府県からさらに細かい小エリアに分けるテーブル(areas)

その他必要なテーブル

後のテーブル管理はそれほど悩むこともありません。
エリア情報を管理するテーブルと合わせると10テーブルほどで完了しますね。

・ユーザー管理テーブル(users)
・マスターログインの管理テーブル(masters)
・楽器パート管理テーブル(parts)
・カテゴリー管理テーブル(categories)
・掲示板テーブル(threads)
・掲示板に対するメッセージ返信テーブル(messages)
・サイト内お知らせテーブル(informations)

次回は全国対応のエリア分けのテーブル設計についての記事を書きたいと思います

初夏のJavaScript祭 in サーキュレーションビル ForPro