6章 チェックテスト

簡単な顧客管理システムの作成


インストールするCakeは2.9.5

顧客管理システム


仕様書に従い、顧客管理システムを実装していただきます。
基本的なルールは下記になります。

  1. DBは最低、指示されたテーブルは使用すること
  2. 仕様書に沿って作成すること
  3. デザインや細かい言葉は問わない
  4. ただし、仕様書上注釈が入っているものは実装すること
  5. 削除機能は論理削除とする
  6. scaffoldを使用したソースコードでの提出は認めない
  7. 仕様書以上のものの実装は大歓迎

データベース名


DBの名前は自由です。
ただし、CakePHPの設定は各自で行ってください。

文字コードがUTF-8になっていないと、日本語が文字化けする可能性があるので、注意してください。

テーブル


テーブルは最低、下記の3つをそれぞれの役割に応じて使用してください。

users

ログインユーザーを管理します。

カラム名 その他 備考
id INTEGER NULLは許可しない。オートインクリメント ID
username VARCHAR(50) デフォルトはNULL ユーザーの名前
password VARCHAR(255) デフォルトはNULL パスワード
role VARCHAR(20) デフォルトはNULL 権限
created DATETIME デフォルトはNULL 作成日
modified DATETIME デフォルトはNULL 更新日
deleted INTEGER デフォルトは0 削除フラグ

customers

顧客情報を管理します。

カラム名 その他 備考
id INTEGER NULLは許可しない。オートインクリメント ID
name VARCHAR(50) デフォルトはNULL 顧客の名前
line_type INTEGER デフォルトはNULL 回線タイプ(1: Type-A、2:Type-D)
contract_type INTEGER デフォルトはNULL 契約タイプ(下記参照)
agency_id INTEGER デフォルトはNULL 代理店のID
status INTEGER デフォルトはNULL 契約状況(1:契約中、2:解約済み)
contract_day DATETIME デフォルトはNULL 契約日
created DATETIME デフォルトはNULL 作成日
modified DATETIME デフォルトはNULL 更新日
deleted INTEGER デフォルトは0 削除フラグ

契約タイプは下記の通りです。

  • データのみ3GB、データのみ6GB、データのみ10GB
  • SMS付き3GB、SMS付き6GB、SMS付き10GB
  • 音声通話プラン3GB、音声通話プラン6GB、音声通話プラン10GB

agencies

代理店の名前を管理します。

カラム名 その他 備考
id INTEGER NULLは許可しない。オートインクリメント ID
agency_name VARCHAR(50) デフォルトはNULL 代理店の名前
created DATETIME デフォルトはNULL 作成日
modified DATETIME デフォルトはNULL 更新日
deleted INTEGER デフォルトは0 削除フラグ

仕様書に関して


添付された仕様書を自分のPCにダウンロードして、閲覧してみてください。
顧客管理システムの仕様書

認証とページングに関して


カリキュラムでは触れておりませんが、本課題では認証機能とページング機能を実装していただきます。
CakePHPには、非常に便利なComponentが用意されています。
ぜひ公式ドキュメントを読んで実装してみましょう。
CakePHP公式ドキュメント-シンプルな認証と認証のアプリケーション-
CakePHP公式ドキュメント-ページ制御-

課題


作成が終わり、提出する際は、「crriculum」ディレクトリ直下に「6-1」という名前のファイルを作成し、その中へプロジェクトをコピペしてコミットしてください。

仕様書の画面遷移図で言うと、下記のようにログインと管理ユーザーの部分を作成しましょう。

カテゴリー

アーカイブ

Close Bitnami banner
Bitnami