成果物の作成 2作品目 予定管理サービス ざっくり要件定義と構想
オリジナルアプリ2作目です。
独学だと自己管理が大変だったので、自作の予定管理サービスを作りたくなり、作ってみました。
現在の目標
DBに収納するデータはtime型が良さそう。stringでも行けるかな?
twitter認証機能追加
gemのdviseとomniauthを使えば実現できそうです。
DBモデル作成
twitter-oauthに合わせて中身を作ります。 Userモデル(登録ユーザ情報)
主キー | 名前 | プロバイダー名 | UID | ユーザー画像url |
---|---|---|---|---|
id | user_name | :provider | uid | image_url |
integer型 | string型 | string型 | string型 | string型 |
DayScheduleモデル
外部キー | 主キー | 一日の予定 |
---|---|---|
integer型 | integer型 | string型|integer |
User_id | day_schedule_id | day_schedule |
TimeScheduleモデル
外部キー | 主キー | 一つの予定単位 | 始まりの時間 | 終わりの時間 |
---|---|---|---|---|
integer型 | integer型 | string型 | time型or string型 | time型or string型 |
DaySchedule_id | time_schedule_id | time_schedule | start_time | end_time |
_
○余裕があれば作りたい機能
一週間分のスケジュールを作れる
ざっくり調べたらデータベースのレコードの数を制限する方法はあるらしいので、バリデーションを一週間分(つまり7個だけ)だけに制限するデータは作れそう。モデルのuser_id - day of the week - time - content
スケジュールのグラフ表示
これもざっくり調べたらgemのChartkickを使えば実現できそうです
Chartkick - Create beautiful JavaScript charts with one line of Ruby
時間のグラフを描画する場合、time_lineメソッドを使えば、タイムラインの表示できるようです。 この場合、時間の書式としてはtimeline[[内容,日時,日時],...となるようです
<%= timeline [ ["Washington", "1789-04-29", "1797-03-03"], ["Adams", "1797-03-03", "1801-03-03"], ["Jefferson", "1801-03-03", "1809-03-03"] ] %>