今日で2日目。計画からやるのは初めてで進捗状況があまり良くなくて焦るが地道にやっていこう。
進捗
- テーマ課題のサイト名変更(御朱印手帳→修験道)
- テーマを決めた理由を変更(長すぎたかも)
- WBSの下書き
- seedを使用して全国の神社・仏閣のデータを入れようとしたが個人ではダメだと返答があったので計画変更
- テーマ課題提出(返信なし)
WBS
- 実装機能リストを元に詳細を書き出して、実装する順番に並び替えてみた
- 書き出した実装機能リストに肉付けをした
- 必要なgemを書き出した
- 自分なりにほぼ完成したと思うので明日テーマ課題次第で提出したい
苦労したポイント
【テーマ課題】
- テーマ課題のテーマを選んだ理由。どうしても冗長になってしまう。
【WBS】
- 全国の神社・仏閣のデータをもらえなかったので手作業でやるしかない。そのため管理者が神社・仏閣の情報を投稿してそれに関連していたらユーザーが御朱印を投稿できるシステムに変更。ない場合はユーザーに神社・仏閣のデータを投稿してもらわないといけなくなった。それに関連して誤った情報が表示されないように管理者の許可制に変えて、御朱印の投稿だけは投稿できる仕組みに変更。これらの組み合わせが難しい。
- 管理者が神社・仏閣を投稿するにあたって地方、都道府県、神社・仏閣の情報などとユーザーの投稿する御朱印の関連付けが実装に一番時間がかかりそうなので余裕を持って取り組もう。
ヒント
【テーブル】
users(エンドユーザー)
id
email
encrypted_password
areas(地方)
id
name
prefuctures(都道府県)
id
area_id
name
temples(神社・仏閣)
id
prefecture_id
category(integer (enum))ここで神社・仏閣が選択できるようになっている
name
address
もし、Userが神社・仏閣の投稿をするには、
user_id(nilを許容する)
is_active(boolean または enum で 承認待ち・承認済み)
Userが投稿する場合は、user_id に 値が入る is_activeを falseにする ⇛ 管理画面から is_activeを trueにできる
Adminが投稿する場合は、 user_id は nil is_activeは true
goshuins(御朱印)
id
temple_id
user_id
message
【seedに記述】db/seeds.rb
area_prefectures.each do |area_prefecture|
area_name = area_prefecture[0]
area = Area.create!(name: area_name)
prefecture_names = area_prefecture[1]
prefecture_names.each do |prefecture_name|
area.prefectures.create!(name: prefecture_name)
end
end
コマンド
rails db:migrate:reset
rails db:seed
上記を記述すば下記の内容がデータベースに入る。すごい。
area_prefectures = [
["北海道地方", ["北海道"]],
["東北地方", ["青森県", "岩手県", "宮城県", "秋田県", "山形県", "福島県"]],
["関東信越地方", ["茨城県", "栃木県", "群馬県", "埼玉県", "千葉県", "東京都", "神奈川県", "新潟県", "山梨県", "長野県"]],
["北陸東海地方", ["富山県", "石川県", "福井県", "岐阜県", "静岡県", "愛知県", "三重県"]],
["近畿地方", ["滋賀県", "京都府", "大阪府", "兵庫県", "奈良県"]],
["中国地方", ["和歌山県", "鳥取県", "島根県", "岡山県", "広島県", "山口県"]],
["四国地方", ["徳島県", "香川県", "愛媛県", "高知県"]],
["九州地方", ["福岡県", "佐賀県", "長崎県", "熊本県", "大分県", "宮崎県", "鹿児島県"]],
["沖縄地方", ["沖縄県"]]
]
明日の予定
- ER図とテーブル提議書を作成する。
- Agile機能を使用すれば地方フォームを選択してから対応する都道府県フォームを選択することが可能らしいのでネットで調べてみよう。
- 管理者の許可システムは実装予定がなく考えていなかったので調べてみよう。
- ユーザーが御朱印の投稿は出来て神社・仏閣の投稿は許可制にすることが可能らしいのでやり方を考えてみる。
- テーマ課題が返却された即対応
- 時間があればワイヤーフレームなどにも手をつけたい。
- 明日質問しないと明後日質問出来ないので疑問に思ったことはメンターさんに質問する。