次のようなシステム開発を行う場合に、必要な Web アプリケーションのルーティングを設計せよ。
東京の片田舎にあるソフトウェア開発企業、レストフル社は、社内システムにミニSNSの機能を追加することになった。
システム開発チームは、関係者にヒアリングし、以下の要件をまとめた。
- 最初のバージョンはWebアプリケーションとして提供する
- SNSの記事は自分のみ作成、更新、削除できる
- 公開後は、誰でも閲覧可能である
- 記事にコメントが出来る
- 記事とコメントにいいね!が何度でも押せる。その度カウントされる
- 下書きの時は、作成した本人のみ閲覧のみ可能である
- 「下書き」、「作成」、「更新」、「削除」を行うとその時点の「日付」と「作成者」が記録される
- 記事を作成をすると「記事ID」が生成される(Ruby on Rails の ActiveRecord ライブラリ相当の機能が使える)
- 認証機能は、既存システムを利用するため、考えない。また、新機能の設計に影響しない
- 作成者、閲覧/コメント者ともに、「社員ID」を持っている