Skip to content

CoderDojo 鳥取からの coderdojo.jp 掲載依頼に対応する過程で、ドキュメントを整備したい #259

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
11 of 12 tasks
yasulab opened this issue Feb 22, 2018 · 23 comments · Fixed by #266
Closed
11 of 12 tasks
Assignees

Comments

@yasulab
Copy link
Member

yasulab commented Feb 22, 2018

CoderDojo 鳥取から coderdojo.jp への掲載依頼が来たので、これに対応したい。(申請内容は別途共有)

対応例: cf2d579

cf. 作業メモの例 - OSS Gate

チェックリスト

  • Ruby/Rails の環境構築はできた?
    • Hint: トップページの表示には環境変数は不要 (なはず)
  • db/dojos.yaml に Dojo 情報を追記した?
    • Hint: be rails dojos:update_db_by_yaml
  • DBからIDを取得して db/dojos.yaml に追記した?
    • Hint: be rails dojos:migrate_adding_id_to_yaml
  • ローカル環境で Dojo が表示できた?
  • 統計情報にイベント管理サービスを登録したか?
  • 本番環境に反映されたか?
  • 上記の作業ログをドキュメントにまとめた?

作業の完了条件

  • CoderDojo 鳥取が coderdojo.jp に掲載されている
  • 依頼されたロゴが表示されている
  • 掲載しているロゴは TinyPNG などで画像圧縮されている
  • リンク先が適切である
  • 集計対象にも登録されている (毎週月曜日に統計情報が更新される)
@AnaTofuZ
Copy link
Member

AnaTofuZ commented Feb 23, 2018

作業ログ

  • リポジトリをfork (念のため?)
  • bundle install --without production
  • be rails db:migrate
  • be rails db:seed
  • bin/setup
  • direnv allow

@AnaTofuZ
Copy link
Member

be rspec spec/
テストが通る

追記したいので現在のDojoの数を確認

  • be rails console
  • pry(main)> Dojo.count --> 123らしい
    従って鳥取は124番目のDojoとしてyamlに記述する

@AnaTofuZ
Copy link
Member

AnaTofuZ commented Feb 23, 2018

みたところ Dojoのidは実は考えなくてよく
dojo.rake

    dojos.each do |dojo|
      d = Dojo.find_or_initialize_by(id: dojo['id'])

と書かれていて、なんとidが無いと自動でinitalizeされるのであった

冷静に見たら

d.name        = dojo['name']

Dojo.find* から返ってきたオブジェクトがdに入っている為やはりidは必要だった

@AnaTofuZ
Copy link
Member

Dojoorder フィールドは 全国地方公共団体コードの値が入っている ( #219 )
全国地方公共団体コード一覧表 - Google Spreadsheet から フィールドを取ってくる

スプレッドシートの情報と照らし合わせてyamlを追加する

- id: 124
  order: '312011'
  name: 鳥取
  prefecture_id: 31
  logo: "/img/docs/tottori.png"
  url: "https://www.facebook.com/events/162413071215576/"
  description: 鳥取県鳥取市で毎月開催
  tags:
  - Scratch
  - Ruby

またリンク先からDojoの画像をダウンロードし、所定の名前で public/img/dojos に配置する。
yaml情報からデータを追加
be rails dojos:update_db_by_yaml

@AnaTofuZ
Copy link
Member

created_at が正常にyamlに吐き出されていない為、今日の日付を記述し
念のため be rails dojos:update_db_by_yaml 及び be rails dojos:migrate_adding_id_to_yaml を行う。

sqliteを確認したところ created_at は当初raikeを起動した際に入ったと思われる2018-02-23 08:35:45.586225タイムスタンプが記録されている。

@AnaTofuZ
Copy link
Member

ローカルで起動した所鳥取が2つ表示される状態になっていた。db操作が原因と思われるので
be rails db:migrate:reset bin/setup しもう一度yamlから読ませる

また画像のリンク先をtypoしていたので修正した。
この状態で先程のrakeを2回実行し、ローカルで起動した所鳥取が表示された。
screen shot 2018-02-23 at 18 07 52

画像が寄っていたのでcropして修正

screen shot 2018-02-23 at 18 09 45

@yasulab
Copy link
Member Author

yasulab commented Feb 23, 2018

画像が寄っていたのでcropして修正

👍 ✨

@yasulab
Copy link
Member Author

yasulab commented Feb 23, 2018

みたところ Dojoのidは実は考えなくてよく

ですね! 僕の場合は id 項目だけ削除したデータを yaml に追記して、その状態で $ be rails dojos:update_db_by_yaml ; be rails dojos:migrate_adding_id_to_yaml を実行しています。すると yaml ファイルに - id: xxx が差し込まれるので、それを commit & push (or PR) しています 🚀 ✨

@AnaTofuZ
Copy link
Member

ありがとうございます!!

@AnaTofuZ
Copy link
Member

見たところ鳥取はすでに次回のイベントがあるので
db/dojos.yaml に次回のイベント情報を追加し
be rails dojo_event_services:upsert  した

AnaTofuZ added a commit to AnaTofuZ/coderdojo.jp that referenced this issue Feb 23, 2018
\#259で鳥取からcoderdojo.jpに掲載依頼が来ていた為対応した
今のPRで行ったことは以下の通りです

- ローカルにrailsの環境を構築
- 鳥取の情報をyamlに追加
- 鳥取の画像をcropして設置
- イベント情報を追加

ドキュメントは別途行います

coderdojo-japan#259
@AnaTofuZ
Copy link
Member

集計対象にも登録 なんですが、これはイベント情報をyamlに追加する以外に何か必要なのでしょうか? 🤔

@yasulab
Copy link
Member Author

yasulab commented Feb 23, 2018

イベント管理サービスを db/dojo_event_services.yaml に追加する作業ですね ;)
Rakeタスクの dojo_event_services:upsert 周りに詳しい実装があります 📜👀

@AnaTofuZ
Copy link
Member

AnaTofuZ commented Feb 23, 2018

と思ったらすでにやっていました…w

@yasulab
Copy link
Member Author

yasulab commented Feb 23, 2018

コミット例: 52be3a2

@AnaTofuZ
Copy link
Member

あ、yamlファイルが違った…!!

@AnaTofuZ
Copy link
Member

書き方(最後のfacebookURLが異なっていたので修正して再コミットしました)

@yasulab
Copy link
Member Author

yasulab commented Feb 23, 2018

現在は Facebook / Doorkeeper / connpass の3つに対応していて、このいずれかの場合は自動集計ができるようになっています 🔧🤖💨 (スライド資料: https://speakerdeck.com/yasulab/coderdojo-japan-2018?slide=69 )

また、現状では人的リソースが足りないのであまり積極的に対応する必要はないのですが、Static に EventHistory を追加するインターフェイスもこちらに用意されています ;)
#190

@yasulab
Copy link
Member Author

yasulab commented Feb 23, 2018

.oO(下書きの段階から [WIP] hogehoge みたいなタイトルで PR を雑に作って、その branch 上で作業するとコードが共有できるので、WIP の段階からPRを出す習慣は身につけておくと良さそうです...!!)

例: #252

cf. How to write the perfect pull request - GitHub
https://github.com/blog/1943-how-to-write-the-perfect-pull-request

Be explicit about when you want feedback, if the Pull Request is work in progress, say so. A prefix of “[WIP]” in the title is a simple, common pattern to indicate that state.

@AnaTofuZ
Copy link
Member

ありがとうございます!!
#12 #190 を見ているのですが,Facebookの group_id がどこから引けるか良く解ってないです。

PRを出す習慣忘れていました。(`;ω;´) PRベースでやっていきます!

@yasulab
Copy link
Member Author

yasulab commented Feb 23, 2018

Facebookの group_id がどこから引けるか良く解ってないです。

Hint: [facebook group id search] 検索 (ポチッ

@AnaTofuZ
Copy link
Member

ググり力が足りてなかった…! ありがとうございます!!

@AnaTofuZ
Copy link
Member

作業は #261 で解決しました。ドキュメントの整備を行います

@yasulab
Copy link
Member Author

yasulab commented Feb 26, 2018

お願いします! 😸 🙏

AnaTofuZ added a commit to AnaTofuZ/coderdojo.jp that referenced this issue Feb 26, 2018
新規Dojoを追加する際の手順についてまとめました.
開発用の手順書であるため `docs/` 以下に設置しています.
close coderdojo-japan#259
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants