ぜったいってなに

Software Engineerのブログです。

Play ScalaでWebアプリケーションを作る

標題の通り。

ブログっぽいものを作る予定。

「Play ScalaRailsみたく触れるようにする」が目的。
ゆくゆくはGraphQLでAPI実装とかやる。

アプリのテーブル設計はこんな感じ。
超シンプル。(sqldesignerで書きました) f:id:zettaittenani:20170904070457p:plain

user: ログインユーザ
article: 記事
comment: 記事に対するコメント

記事はひとまず画像とか無しで、文字のみ。

画面設計は以下をイメージしている。

画面 Controller action
Home Home index
ログイン画面 User login
記事一覧 Article index
記事詳細 Article show
記事新規作成 Article new
記事編集 Article edit


記事一覧に「記事を新規作成する」ボタンがあって
記事詳細に「記事を削除する」ボタンがある。
記事詳細ではcommentも投稿できて、
投稿したらComment#createしてArticle#showに戻る、かな。

Rails書いてていつも思うけど、User#loginてリソースルーティングに乗ってないけど
無理矢理にでも、たとえばUser#newlogin機能を割り当てたりしたほうがいいのだろうか。

「名前は実体に即するように」 VS 「Railに乗る」

で、気になって調べたけど、Railsではこんなかんじに書いてある。

んー基本的には
「resourceに対する操作でリソースルーティングに含まれるactionに
適切なものがあるならばそれを選んで、ないならば別でactionを定義する」が正しいか。

じゃあ今回はUserindexしないしshowしないしnewしないしcreateしないし、、、で
User#loginが正しいことになるか。

何かご意見ありましたらください。

まま、とりあえず設計はおいといて手を動かすということで、
IntelliJ IDEA上のSBT Shell上でrunして localhost:9000で動かしてみました。

f:id:zettaittenani:20170904231718p:plain

Initしたぞ。

以上。