機能一覧(詳細)


Shortcakeについている機能について紹介します。以下が、機能一覧です。このページでは、それぞれの考え方や機能について説明します。

Webサービス本体の機能

認証とユーザ管理

ユーザ登録

いわゆる会員登録画面です。
Shortcakeでは、以下のフローにて会員登録が完了します。最初の会員登録時点で、Webサービスにはログインできるようになります。本登録完了前にどの機能が利用可能かは実装次第になります。

  1. 会員登録
  2. メール送信
  3. 送信されたメールを確認し、確認ボタンをクリックすることで本登録完了

ログイン

普通のログイン画面。画面のフォームにメールアドレスとパスワードを入力して認証します。正しい情報が入力されたら、通常はトップページに遷移します。(一時的に遷移先を変更することも可能)

SNSログイン

SNSのアカウントでOauthによるログインを行う。デフォルトで対応済なのは、Facebook、Twitter、Lineの三種類です。Opauthプラグインを使っているため、これら以外のSNSにも対応可能です。

ユーザ情報編集(ログイン後)

会員自信でアカウント情報を更新する画面。

メールアドレスを変更した場合には、メールを送信しますのでメ、会員はメール内のリンクを開くことにより、メールアドレスの変更が完了します。

パスワード変更

パスワード変更画面。

メールアドレス確認再送

会員登録時またはメールアドレス変更時に送られる確認メールを再送する機能です。メールを確認が済んでいない場合、すべての画面の上部にボタンが表示されます。

パスワードリマインド

パスワードを、忘れたときに復旧するためのフロー。登録したメールにパスワード復旧のアドレスを送信し、そこから新しいパスワードを登録する。パスワード復旧画面には有効時間がある。

退会(ユーザ削除)

会員自身で退会を行う画面。退会の理由を登録可能です。デフォルトでは、退会すると、ユーザデータを物理削除します。関連するテーブルも削除するように、モデルを構成してください。

また、必要なら論理削除するように修正してもよいでしょう。

退会ページへは、よくある質問ページからのみリンクが辿れるようになっています。ログイン後に退会を行うことができます。

問い合わせ画面

メールフォームで問い合わせを行う画面。問い合わせ内容は、管理者へメールで送信されます。ログイン後のユーザが利用した場合は、自動的にユーザ名が設定されます。

静的コンテンツ

ひとまず必要になりそうな固定ページです。内容は、自分で作成してください。簡易的なものなので、大規模サイトになることがあらかじめ分かっているときは、このページを使わず、Wordpressを設置して、そこで管理してもよいでしょう。

  • 使い方
  • プライバシーポリシー
  • よくある質問
  • 運営者情報
  • 特定商取引に関する表示

管理機能(ダッシュボード)

管理機能です。ダッシュボードと呼んでます。

cakephpでは、独自の権限管理があるため、やろうと思えばWebサービスアプリと一体で管理画面を作ることも出来るのですが、Shortcakeでは、別ドメインで管理画面を、運用できるように別のcakephpアプリケーションとして作成されています。

標準でついているのはユーザ管理機能だけですが、管理に必要な機能を追加で実装することができます。

なお、ダッシュボード用のbootstrapテーマと言うのが世の中にいくつか存在しますが、あれを使っても、あくまで見映えのところがよくなるだけで、ロジックには作り込みが必要です。さらにダッシュボード用Bootstrapテーマ独特の書き方(タグやスタイルなど)を覚えないといけません。自分しか見ないダッシュボードに手間をかけるのは時間の無駄なので、Shortcakeダッシュボードは、ほぼピュアなbootstrapを使っています。

ユーザ管理の考え方

業務アプリと違ってWebサービスなので、原則的にはユーザ情報の管理は、会員自身にオマカセかとおもいますが、ダッシュボードには管理に必要となる最低限の機能が備わっています。

具体的な利用シーンとしては、問い合わせにより管理側で最終ログイン日時を確認対応したり、規約違反が目に余る会員を、強制的に利用不可にしたり、といったことが想定されています。

ユーザ一覧

ユーザ一覧表示画面。ページングして表示する。

ユーザ情報の更新

ユーザ一人分の情報表示と更新機能

強制退会(ログイン不可)

強制的に退会させる機能です。同じメールアドレスで登録することを防ぐため、論理削除します。

そのほか

権限管理について

Shortcakeでは、権限管理に関する機能(どのユーザが、どの画面・機能を利用できるかといった制御)はありません。

利用権限については、やりたいことに合わせて作り込みが必要です。

テーブル構造