Play ScalaでWebアプリケーションを作る
標題の通り。
ブログっぽいものを作る予定。
「Play ScalaをRailsみたく触れるようにする」が目的。
ゆくゆくはGraphQLでAPI実装とかやる。
アプリのテーブル設計はこんな感じ。
超シンプル。(sqldesignerで書きました)
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#new
にlogin
機能を割り当てたりしたほうがいいのだろうか。
「名前は実体に即するように」 VS 「Railに乗る」
で、気になって調べたけど、Railsではこんなかんじに書いてある。
んー基本的には
「resourceに対する操作でリソースルーティングに含まれるactionに
適切なものがあるならばそれを選んで、ないならば別でactionを定義する」が正しいか。
じゃあ今回はUser
をindex
しないしshow
しないしnew
しないしcreate
しないし、、、で
User#login
が正しいことになるか。
何かご意見ありましたらください。
まま、とりあえず設計はおいといて手を動かすということで、
IntelliJ IDEA上のSBT Shell
上でrun
して
localhost:9000
で動かしてみました。
Initしたぞ。
以上。