忍んでいる肉球の足跡

プログラムに関連することを雑多に扱います

lineっぽいサービスの作成(期限:一週間以内)をしようとしたお話【ダメでした】

目的

とある所の宿題→lineっぽいサービスの作成(期限:一週間以内)

実際にやろうとしたこととか

作成する環境を吟味。

AWS Lambda [node]やCodeigneterでひな形なしに、lineっぽいサービスを一週間で立ち上げることは無謀と判断。 唯一チュートリアルをやったことが有り、コードやモデルの自動生成が出来るrailsを利用することにした。

やろうとしてたコード生成的なこと
rails g scaffold user string:name string:description string:nick_name string:password_digest string:email boolean:activated string:activation_digest datetime:activated_at
rails g scaffold session integer:user_id string:session_id  datetime:expiration_date
rails g scaffold chat integer:chat_room_id integer:user_id string:comment
rails g scaffold chat_room string:chatroom_name string:description
rails g model  user_chat_room user:references chat_room:references boolean:activated
rails g model friend user:references user:references  chat_room:references
最低限必要だと見積もった機能
sign_in セッションの作成
sign_out セッションの削除
sign_up アカウント作成
search_friend 友達検索からの追加
add_friend_from_url 友達のURLからの追加
make_chatroom チャットルームの作成
join_chatroom チャットルームへの参加
defection_chatroom チャットルームからの脱退
UI

bootstrapを適当にまぶして、全体的に作成
(ただし、UIの完成図が全く思い浮かばない、Lineぽくって目標はわかるけど)

その他(非機能要求?)
  • 全体的なvalidationの充実

感想

全く作れなかったので残念。
環境構築の時点で時間かかったので残り時間とこれから作りこむ量を考えた結果、やる気が落ちた。
システムの構想は出て来ても作れなきゃ意味ない。

失敗要因一覧(言い訳一覧)
  • 前にrails tutorial 4.2を触ったのが1年前。なのに最新の5.0でやろうとしたこと
  • UI出来ないのに、UIから先に始めなきゃって思ったこと
  • scaffoldを利用したことがないのにscaffoldでやろうとしたこと
  • herokuを使おうとして、postgresをubuntu 16.04の中に建てようとしたこと
  • giboで自動生成のgitignoreを確認せずにconfig/secrets.ymlでハマったこと

思い返せば、やったことのない作業の部分で戦おうとしていたようだ
私は効率的なWebサイトの建て方は知らないことを痛感した
UIの不勉強だからこそ簡単なデザインも出来ないで、パニクる。
結局、Webサイトの構築もコードも白紙だった。
実務経験が

  • serverless(AWS Lambda [node])
  • Codgneter(多分1.X系)

だけだと厳しいのかもしれない。って改めて思った。

これをやっている間に学べたこと。

  • rails generate の scaffold と model table:references
  • rails tutorial 5.0にメール認証が追加されてる

この記事を書きながら調べて気になったこと【時、既にって奴】

ただ、実力を見たいって話なんだから一から作ろうと思ってた。

今後の課題

  • Webサイトを建てられる環境的知識の取得
  • 短期間の〆切でやったことのない作業の部分で戦おうとするのを直す
  • テンプレートを使ったUIの作成回数を積む
  • ……検索ワードの変更、新鮮な情報の収集が上手く出来るようになりたい。。。