はい、色々とポートフォリオ作成に苦戦しているものです。
ポートフォリオを作る際に絶対に通らなくてはいけなくなるのが、リソースの設計です。リソースっていうのはユーザーの情報や、投稿の情報のことですね。
Railsをやっていればわかると思いますが、リソースをURLに送って、それを保存するという形になります。それをどうやったら効率的にやれるかというのを考えることになるということですね。
当然RESTfulに作れればそれに越したことはないのですが、どうしてもうまくRESTfulにできないこともあります。そこで今回はそんなリソース設計の3つの手法について簡単にまとめておきたいと思います。
結論は「リソース設計に正解はない。それぞれの手法に長所と短所がある。」ということです。
リソース設計の3つの方法
関係モデル
RDBMSの基礎となっているデータモデルの方法です。ER図とかですね。よく使われるものです。この関係モデルのポイントは数学的な基盤を持っているのが特徴です。
そのためデータの冗長性がなかったり、効率的なデータベース設計が可能です。
オブジェクト指向
対象システムの分析モデルをオブジェクト指向言語のクラスとインスタンスに対応づける方法です。クラス図やシーケンス図と言われるものですね。
情報アーキテクチャ
比較的新しい概念です。複雑なデザインを図書館情報学などの分類の観点から整理したものです。分かりにくさやとっつきにくさが既存のリソース設計にはありましたが、誰でもわかりやすいという点が特徴です。
というように細かくは説明しませんが、それぞれ興味があれば調べてみてください。それぞれに長所と短所があります。
リソース設計の最大のポイントは「WebサービスとWebAPIを分けないこと」です。