Giter Site home page Giter Site logo

shinsuke-abe / recordiet Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 1.35 MB

レコーディングダイエットをサポートする為のウェブアプリ。もっぱらRuby on Railsの勉強用です。

Ruby 97.99% CoffeeScript 1.60% JavaScript 0.41%

recordiet's Issues

ログアウトする

1.ログインする
2.ログアウトリンクを押下する
3.セッションがクリアされ、/loginが表示される。
4.ログインが必要な機能にアクセスすると/loginにリダイレクトされる

食事内容を変更する

1.ログイン後に食事内容一覧を表示する
2.変更したい食事内容を選択して編集フォームを表示する
3.編集後、食事内容一覧にもどる

編集時にエラーが発生した場合は編集フォームを再表示する

食事内容を表示する

1.体重履歴一覧から表示したい日付の食事内容を選択する
2.指定された一覧が表示される

体重の変更で体重の未入力エラー

1.ログイン済の状態で変更する履歴を選択する
2.変更フォームで体重を空白にして保存する
3.「記録の登録には計測日と体重が必要です。」が表示される。

目標を修正する

1.目標が存在するユーザで編集フォームから目標を修正する
2.修正が終了するとユーザ履歴画面に遷移する
3.目標の数値と目標までの数値が更新される

体重履歴を変更する

1.ログインユーザの履歴から変更したい履歴を選択する。
2.ログイン変更フォームから変更内容を入力する。
3.変更ボタンを押下するとログインユーザの履歴に遷移する。

目標のルーティングを再考する

railsでは単一リソースのネストは使う想定になっていない可能性がある。
目標は単一リソースだが、ログインしているユーザがいる前提。
/user/milestoneでパスを生成したいが、ヘルパメソッドのフックなど色々必要。

resource :user
resource :milestone

にすべきか?

ユーザ情報を変更する

1.ログイン状態でユーザ変更リンクをクリックする。
2.ユーザ情報を変更する。
3.ログオフする。
4.変更後情報でログインできる。

体重履歴を登録する

1.ログイン状態でユーザトップ画面から計測日と体重を入力してPOST
2.ユーザトップ画面に計測日の履歴が登録されていることを確認

※計測日は現段階は日付にパース可能な文字列入力にする。それ以降でカレンダーの形にエンハンスする。

情報未入力:ユーザ登録が失敗する

1.ユーザ登録フォームを表示する。
2.メールアドレス、表示名、パスワードが未入力の状態で登録する。
3.「ユーザ情報を入力して下さい。」というメッセージが表示され、/user/newが再表示される。

食事内容を削除する

1.ログインして食事内容一覧に遷移する
2.削除したい食事内容を選んで削除ボタンをクリック
3.食事内容一覧が再表示される

Readmeの修正

アプリのエレベータピッチと要求される機能一覧を書く。

食事内容を登録する

1.体重履歴から履歴登録ボタンを押下して食事登録フォームを表示する
2.食事の内容と種類(プルダウンで「朝食」「昼食」「夕食」「間食」「その他」を選択)を入力する
※食事内容が未入力の場合はエラー
3.内容が登録され体重履歴ページにリダイレクトされる

食事内容モデルを作成する。

目標の達成履歴を表示する

1.ユーザメイン画面から達成履歴表示リンクを押下する
2.達成履歴リストを表示する
3.登録されている数だけ達成履歴が表示される

flash[:notice]とflash[:alert]を使い分ける

現状、アプリケーションから発信しているメッセージは何でもかんでも:noticeに突っ込んでる。
必要な物はalertにするのと、入力フォームのチェックはActiveRecordに任せるので不要とする。

目標とご褒美を設定する

1.ログイン済のユーザ履歴画面から目標設定フォームを開く
2.目標体重と期限、達成時のご褒美を入力する
3.ユーザ履歴画面に目標体重と期限、「後?キロ」「後?日」が表示される

目標モデルを作成する。
体重の未入力は不可。期限、ご褒美の未入力はOK。
期限は未来の日付でなければならない。

未ログインユーザにアクセス制限をかける

未ログイン状態で許可するフォームは以下の通り。

・ログイン
・認証
・ユーザ登録入力
・ユーザ登録実行

それ以外のフォームに未ログイン時にアクセスすると、ログインフォームにリダイレクトされる。

1.ログインフィルタを作成
2.logins_controller.show, create, users_controller.new, create以外のコントローラにフィルタを設定

戻るボタンを追加する

体重履歴の編集からメイン画面
目標新規追加からメイン画面
目標修正からメイン画面
目標達成履歴からメイン画面

ユーザ登録が成功する

1.未ログイン状態で/user/newを表示する。
2.未登録のメールアドレス、表示名、パスワードを入力する。
3.登録後/userにリダイレクトされ、履歴未登録のメッセージが表示される。

退会する

1.ログイン状態で退会ボタンを押す。
2.ユーザの情報が削除され、/loginを表示する。
3.退会したユーザの情報でログインが失敗する。

アクセス制御をかける

ログインフォームと新規登録フォーム以外は未ログインでアクセスできないようにする

体重履歴を削除する

1.ログイン済のユーザで一覧から削除する。
2.履歴画面にリダイレクトされる。

目標を削除する

1.ログイン状態から目標を削除する
2.削除完了したら削除前のフォームを表示する
3.目標未設定の状態になっている

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.