Social Networking Site for 2ちゃんねら ( ´∀`) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2ちゃんねら向けの Social Networking Site (以下 SNS) を作成・運営するに当たって、以下に仕様を明文化する。 名称 通ちゃんねる (つーちゃんねる) 目的 自由な SNS の増加に伴って、限定された人らのための SNS が必要と考える。 このシステムでは、2ちゃんねらが利用する環境、特には掲示板としての機能を高める環境を構築する。 開発環境 PHP4, MYSQL 開発者 >>1 と愉快な仲間たち 開発の基となるモデル 基本として、スパイラルモデル。必要に応じてプロトタイピングも行う。 ---------------------------------------------------------------------------------------------------------------- 基本仕様 ---------------------------------------------------------------------------------------------------------------- ■ 基本的な SNS の形態をとることを前提に。それに対して2ちゃんねらのための機能追加を行う。 (2ちゃんねらを強調しすぎて SNS 本来の機能を失わないこと) ■ 2ちゃんねらのための機能 ・2ch を取り入れること ・ちょっとした面白みを追加 ・固定ハンドルネームと名無しさんの混在 <要求1: ポイント制度> 1. ポイントの貯まり方/減り方 ・毎日ログインごとに (+1pt) ・「招待」して参加してもらう (+2pt) ・「リンク」して参加してもらう (+2pt) ・「祭り」で高評価を得る (+1pt/評価) ・「リンク」を切られる (-1pt) ・「リンク」を拒否される (-1pt) 2. ポイントの使い道 ・固定ハンドルネームを持つ (-100pt) ・固定ハンドルネームの変更 (-50pt) ・「祭り」に投稿する(-10pt) ・「アルバム」をアップロードする。(-10pt) ・「リンク」を切る (-2pt) ・「リンク」を受諾 (-1pt) 3. ポイントの下限 ・0pt より減らないとする 4. ポイント貯めてどうする ・ランキングを表示して自己満足ウマー ・その他、pt 増減のギャンブル的要素も取り入れる予定 <要求2: 固定ハンドルネーム制度> ・100pt 使えば、固定ハンドルネームを持つことができる。 ・固定ハンドルネームを持てば、SNS 外の「招待」を行うことができる。 ・SNS 内のリンクは名無しさんでも可 ---------------------------------------------------------------------------------------------------------------- 外部仕様 ---------------------------------------------------------------------------------------------------------------- /メニュー/ ■ 共通部分 自分 ・招待する ・写真の表示 他人 ・写真の表示 ・ホームページ ・リンクする/切る ・お気に入りに追加 ■ トップページ 自分 ・お知らせ ・友達リスト 他人 ・自己紹介 ・友達リスト ■ プロフィール 自分 ・プロフィールの編集 ・プロフィールの表示 他人 ・プロフィールの表示 ■ 友達リスト 自分 ・友達リスト ・友達からの評価文 ・リンクの管理(追加/切る/削除) 他人 ・友達リスト ・友達からの評価文 ■ 評価 自分 ・自分の評価 ・友達への評価文 ・友達を評価する 他人 ・自分の評価 ・友達への評価文 ■ お気に入りのスレッド 自分 ・スレッドの編集(追加/削除/修正) ・スレッドの名前/スレッドの評価 他人 ・スレッドの名前/スレッドの評価 ■ アルバム 自分 ・アルバム編集 ・アルバム表示 他人 ・アルバム表示 ■ 祭り 自分 ・祭りの表示 他人 ・祭りの表示 ■ ポイント ・ポイントランキング表示 ■ SNS への招待 ・招待フォーム /その他/ ■ SNS への登録 ・登録フォーム ---------------------------------------------------------------------------------------------------------------- 内部仕様 ---------------------------------------------------------------------------------------------------------------- /クラス構造/ class SNSBasis { SNSBasis trigger_error class SNSLogin { function PrintFrmLogin function DBReferLogin function SetLoginSession function Logout function UnsetLoginSession } class SNSProfile { function DBGetProfile class ShowProfile { function PrintProfile } class EditProfile { function PrintFrmEditProfile function DBUpdateProfile } class ShowGroup { function PrintGroup } } class SNSAlbum { function DBGetAlbum class ShowAlbum { function PrintAlbum } class EditAlbum { function PrintFrmUploadAlbum function DBAddAlbum function PrintFrmDeleteAlbum function DBDeleteAlbum } } class SNSLink { function DBGetLink class ShowLink { function PrintLink } class EditLink { function PrintFrmAddLink function DBAddLink function PrintFrmAddUnLink function DBAddUnlink function PrintFrmDeleteLink function DBDeleteLink } } class SNSFriend { function DBGetFriend class ShowFriend { function PrintFriend } class SNSEvaluation { function DBGetEvaluation class ShowEvaluation { function PrintMyEvaluation } class Edit Evaluation { function PrintFriendSelector function PrintFrmEvaluateFriend function DBEvaluateFriend } } } class SNSFavotiteThread { function DBGetFavoriteThread class ShowFavoriteThread { function PrintFavoriteThread } class EditFavoriteThread { function PrintFrmAddFavoriteThread function DBAddFavoriteThread function PrintFrmDeleteFavoriteThread function DBDeleteFavoriteThread function PrintFrmModifyFavoriteThread function DBModifyFavoriteThread } } class SNSFesta { function DBGetSNSFesta class ShowFesta { function PrintFesta } class EditFesta { function DBAddFesta function DBAddFestaRes } } class SNSMessage { function DBGetMessage function DBUpdateMessage } class SNSPoint { function DBGetPoint function DBUpdatePoint class Ranking { function PrintRanking } } class SNSInvite { function PrintFrmInvite function Invite } class SNSRegist { function PrintFrmRegist function DBRegist } } class PEAR { } class Smarty { class MySmarty { } } /データ構造/ ■ プロフィール ::= ::= | '名無しさん' ::= | ::= (integer){4}/(integer){2}/(integer){2} ::= 九州 | 四国・中国 | 近畿 | 中部 | 関東 | 東北 | 北海道 ::= 'A' | 'B' | 'O' | 'AB' ::= | ::= 'コンピュータ関連' | 'SE/プログラマ' | '技術職' | '設計・デザイン' | '営業・販売' | '広報・宣伝' | 'サービス業' | '総務・人事' | '俳優' | '教師' | '専業主婦' | '大学/専門学校生' | '高校生/大学受験生' | '小・中学生' | '隠居' | 'その他' ::= 'ひきこもり' | '釣り師' | '無職' | 'ヲタク' | '厨房' | 'ドキュソ' | 'ダメ人間' | 'イタイ香具師' | '喪男' ::= (binary) ::= | | (null) ::= 0 | 1 ::= 1 ::= 2 ::= 1 ::= 0 INT(11), primary key, auto_increment VARCHAR(16) VARCHAR(64) VARCHAR(16) DATETIME VARCHAR(64) INT(4) DATE VARCHAR(16) CHAR(4) INT(4) VARCHAR(16) VARCHAR(128) TEXT TEXT INT(11) INT(11) ■ 画像ファイルリスト ::= ::= | ::= | | ::= 0 ::= 1 ::= 0 ::= 1 ::= 2 INT(11) VARCHAR(64) INT(4) INT(4) ■ 板 ::= INT(11), primary, auto_increment VARCHAR(64) VARCHAR(128) ■ 好きな板 ::= INT(11) INT(11) ■ お気に入りのスレッド ::= INT(11) DATETIME VARCHAR(64) VARCHAR(128) TEXT INT(11) ■ 友達リスト ::= ::= ::= | ::= 0 ::= 1 ::= | | | ::= 0 ::= 1 | 2 | 3 | 4 | 5 ::= -1 ::= -2 INT(11) INT(11) DATETIME TEXT INT(4) TEXT INT(4) ■ 祭り ::= ::= 0 | 1 INT(11), primary key, auto_increment DATETIME VARCHAR(64) INT(11) TEXT INT(4)