taskmate's People
taskmate's Issues
ER図に基づいたテーブルの作成
- tasks テーブル、カラムの作成
ログイン画面修正
-
test userでのログインを追加
-
ログイン画面のデザイン調整
herokuにデプロイする
-
herokuデプロイ
-
デプロイ方法をread meに記載
-
githubとherokuを連携させる
アプリの日本語部分を共通化する
- Railsのi18nの仕組みを利用して、日本語リソースの共通化をする
タスクにラベルをつけられるようにする
-
タスクに複数のラベルをつけられるようにしてみましょう(ラベルはseedなどのマスタデータで作成する・管理する形でも構いませんし、管理画面などから作成できる形でも構いません)
-
作成ができたら、Taskの詳細画面で、そのTaskに紐づいているLabel一覧を出力しましょう
-
つけたラベルで検索できるようにしてみましょう(ラベルは一つだけを選択して、そのラベルがついているタスクを検索するという形で構いません)
-
今回の実装のFeature Specを書きましょう
データベースの接続設定をする
- データベース作成、接続確認
タスク一覧を作成日時順に並び替える
-
タスクを作成日時順に並び替え
-
テストで並び替えが出来てるかを確認する
ユーザーにロールを追加、エラーページの設定
-
管理ユーザだけがユーザ管理画面にアクセスできるようにしてみましょう
-
一般ユーザが管理画面にアクセスした場合、専用の例外(エラー)を出してみましょう
-
例外を補足して、適切にエラーページを表示しましょう(ステップ23で実施しても構いません)
-
ユーザ管理画面でロールの付与と削除ができるようにしましょう
-
管理ユーザが1人もいなくならないように削除の制御をしましょう
-
Railsが用意しているデフォルトのエラーページを自分が作った画面にしてみましょう
-
状況に応じて、適切にエラーページを設定しましょう
-
ステータスコードの404ページと500ページの2種類の設定は必須とします。それ以外は+α要件として、つけてみたい方は実装してみてください。
Taskの終了期限を追加する
-
tasksテーブルに終了期限のカラムを追加
-
一覧画面で、終了期限でソート出来るようにする
-
追加した機能のテストをfeature specで追記する
デザインを調整する
-
bootstrapを使用してデザインを整える
-
テストが落ちないか確認する
ユーザーモデル作成、ログイン機能を導入する
-
ユーザモデルを作成する
-
最初のユーザをseedで作成する
-
ユーザとタスクを紐づける
-
ユーザのアドレスにユニーク制約を貼る
-
関連(アソシエーションで使用するid)に対してインデックスを貼る
-
ログイン画面を実装しましょう
-
ログインしていないのにタスクのページに飛ぼうとした場合は、ログインページに遷移させましょう
-
自分が作成したタスクだけを表示するようにしましょう
-
ログアウト機能を実装しましょう
-
今回は、ユーザーの登録(new)画面と、詳細・マイページ(show)画面のみを作成しましょう
-
ユーザ登録(create)をした時、同時にログインもさせるようにしましょう
-
ログインしている時は、ユーザー登録画面(new画面)に行かせないように、コントローラで制御しましょう
-
自分(current_user)以外のユーザのマイページ(userのshow画面)に行かせないように、コントローラで制御しましょう
-
これらの内容を加味して、テストを加筆修正しましょう(user.spec.rbのファイルを新規作成し、そのFeatureSpecを書きましょう)
優先順位設定機能の追加
-
優先順位カラムの追加
-
feature spec でのテスト
ユーザーの管理画面を実装する
-
画面上に管理メニューを追加しましょう
-
管理画面にはかならず /admin というURLを先頭につけるようにしましょう
routes.rb に追加する前に、あらかじめURLやルーティング名( *_path となる名前)を想定して設計してみましょう -
管理画面でユーザ一覧・作成・更新・削除ができるようにしましょう(管理画面のビューはパーシャル化しなくて構いません)
-
ユーザを削除したら、そのユーザが抱えているタスクを削除するようにしてみましょう
-
ユーザの一覧画面で、ユーザが持っているタスクの数を表示するようにしてみましょう。その際、N+1問題を回避するための仕組みを取り入れましょう
-
ユーザが作成したタスクの一覧を詳細画面で見られるようにしてみましょう
-
今回の実装のFeature Specを書きましょう(今回は一覧・作成・詳細・更新・削除のテストを全て書いてみましょう)
タスクにステータスを追加、名前とステータスで検索する機能を追加する
-
tasksテーブルにステータスのカラムを追加(string)
-
名前とステータスで検索する機能を追加
-
モデルでのテスト実施
RailsのTime zoneを設定する
- Time zoneを日本に設定する
バリデーションを設定する
-
モデルにバリデーションを設定するコードを記述
-
マイグレーションファイルを作成し、DBにも制約を設定
-
モデルのテストを実施
taskのCRUD機能作成
-
コントローラー作成
-
ビューの作成
E2Eテスト(フィーチャスペック)を書く
-
「タスク一覧画面に遷移したら、作成済みのタスクが表示される」ことをテストする
-
「タスク登録画面で、必要項目を入力してcreateボタンを押したらデータが保存される」ことをテストする
-
「任意のタスク詳細画面に遷移したら、該当タスクの内容が表示されたページに遷移する」ことをテストする
ページネーションを追加する
-
GemのKaminariを使用してページネーションを追加
-
ページネーション実装に対するテストを行う
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.