5回目の参加です。初学者の自分としては理想的な流れだなと改めて思うのは、毎月のもくもく会のおかげでお題を考えたり、準備したりすることがあるので最低限の開発習慣ができていることです。
概要
- 日時: 2013/08/17 (Sat) 12:00-18:00(もくもく会) - 21:00(KobeRubyistMeetup)
- 神戸カフーツ
- もくもく会告知
- KobeRubyistMeetup告知
Wiki
もくもくテーマ
今回は、お仕事でタイムレコーダーが必要になったのでその開発をテーマにしました。
PunchClock
在宅勤務の人にも使ってもらうタイムレコーダーのウェブアプリケーション
主な機能
- 入社時にサインアップする
- 出勤したことはGoogleカレンダーで共有される(要Googleアカウント)
- 他の人の出勤状況も見れる
- 退勤したらタイムレコーダーの操作はロックする
登場モデル
Userモデル
- 従業員を管理するモデル
Association
- has_many :attendances
Attendanceモデル
- 出退勤を管理するモデル
ステータス管理
unattended(未出勤) => attended(出勤済) => suspended(中断) => finished(業務終了)
Association
- belongs_to :user
- has_many: punches
Punchモデル
- 打刻時間を記録するモデル
- 打刻時の時間とステータスが保存される
Association
- belongs_to :attendance
リリースまで
- Google Apps管理下のドメインでしか使えないようにする
- 打刻ミスなどを管理者権限で調整できるようにする(RailsAdmin?)
- 給料計算の設定とテスト/実装
- コントローラーのテストもしくは受け入れテスト
- 支給明細書の出力
- OmniAuth + Deviseに関わるところのテスト(Userモデル)
- リファクタリング!!
まとめ
今回も幅広く、かつ高度な内容の発表があった中で、理解できたことやできなかったこと、今はわからないけど将来挑戦するであろうことと感じられたこともあり、収穫となった。 他にも、
- 参加者のみなさんがどんなふうに仕事をしているかという話題でプログラマの皆さんがどんなことを考えているか垣間見えたのが刺激的だった。
- iOSアプリに挑戦する予定は全くないけど、RubyMotion + ProMotionの雰囲気がわかってよかった。
- Cucumber、Turnip、Capybaraの話題が充実していたので自分も受け入れテストに挑戦してみようと思った。
- ビール飲みながらのフーリエ変換やばい!中級正規表現やばい!
- もっとつっこまれたい。つっこまれビリティをあげたい。時間があまりないので発表を簡潔にして、つっこまれたいことを明確にするなど工夫が必要。
おまけ
じゃんけんを制して初MVPを頂戴しました!
参加費割引券!これは次回もいくっきゃないね!