SNSサイト作りの試み3 設計

 

いきおいでログイン画面までは通したものの、
これから具体的な実装に入るので、

具体的にどんなもの作るかを考え、設計しなくてはならない。

 

とはいっても最初は小さいものを作ろうと思うので、

そこまで大変ではないはず。

 

とりあえず忘れないうちにdevelopブランチだけ生成
(おそらく作るブランチはこれだけだと思う)。

 

 
適当なSNSサイトをいくつか参考にして、機能とUIを決めた。

・ユーザー情報表示
・発言
・フォロー機能

 

基本Twitterみたくなりそうだよ。
Pixivあたりの機能も何かしら参考にしたいところだが。

 

画面UI(ざっくり)

f:id:addictionwhite:20171014212302j:plain

 


ER図

f:id:addictionwhite:20171014212101j:plain


usersテーブルはLaravelが自動で作ったテーブルだから定義は変えない
(本当は変えたい所あるけれど)。
ER図、手書きするなっていわれたけど、
実装者私しかいないし、いずれにしても
Laravelのマイグレーションで定義したものをA5SQLとかで定義書吐き出したほうが
ズレがなくてよい気がする。


何から着手しようかなって感じで、
画面よりAPI先に作ったほうがよさそう。
結局APIないと画面fixしないし。

 

APIを実装するにおいて
リポジトリパターンを適用させたいと思っている。
ただ、あまりパターンをしっかり理解しきれていなくて調査中。

 

細かいところなら考えるよりも、

実装しながらリファクタリングした方が結果早そうだけど

(いずれにしてもリファクタリング作業は発生するだろうし)、

リポジトリパターンに関してはちょっと実装前にしっかり調べておきたい。

あまり時間を掛けすぎないように注意しなくてはならない。


また画面周りも、実装はまだ少し先だけれど、
Laravelのbladeをよくわかっていないので調査する必要がある。
それと、せっかくなのでJSに関して、

Vue.jsを使ってみようと思っている。
Vue.js採用の理由は
・ドキュメントが読みやすい
・簡単にサンプルを試すことができた(シンプルに感じた)
Twitterで最近よく名前見かける

jQueryくらいしかろくに触ってないので、モダンなJSに触っておきたい。
これらの調査は画面作りながらでも良いか

 

進捗
DB設計(及びマイグレーションの定義)
UI設計(TODO)
プロフィール更新API(TODO)
プロフィール更新APIのテスト(TODO)

 

どれも中途半端でコミット数0


参考

Laravel リポジトリパターンの実装
https://qiita.com/bmf_san/items/c8d7b38b5f1f5747c2fd

Using Repository Pattern in Laravel 5
https://bosnadev.com/2015/03/07/using-repository-pattern-in-laravel-5/