観光地紹介サービスを作る
Laravel + Vue.js を使い、観光地紹介サービスを作成してもらいます。
開発環境
開発環境は Docker で用意してもらいます。
まず、Docker for Desktop をインストールします。
Windows 10 の場合は、Hyper-v を有効にしてください。
上記が完了したら、以下のリポジトリから git clone
して、 README
の手順に沿って開発環境を構築してください。
画面構成
以下に作成ページと大まかな仕様を示します。
UI や詳細機能等については、メンターと相談し、自身の思う通りに実装してみてください。
なお、モバイル表示対応は不要です。
Wndows 10 + Chrome latest version で崩れなければ問題ありません。
会員登録、ログイン画面
Laravel の機能を使い、会員登録とログイン画面を作成します。
余裕があれば、画面をカスタマイズしてみてください
ヘッダー
全画面共通部品です。
ヘッダーには、以下のリンクが配置されています。
- トップページへ遷移するボタン。表示名はサービス名
- ログイン画面へ遷移するボタン
- 既にログインしている場合はログアウトボタンが表示されます。
- 各画面へのリンクを表示
- トップページへ遷移するリンク
- トップページの場合は新規登録画面へ遷移するリンク
- 観光地紹介ページの場合は編集画面へ遷移するリンク
- それ以外は不要
トップページ
トップページには登録されている観光地が一覧で表示されます。
一覧にはそれぞれ各観光地の画像と観光地名が表示されます。
画像もしくは観光地名をクリックしたら、観光地紹介ページへ遷移してください。
1ページに9つの観光地が、それ以降は次のページに続けて表示されます。
検索
トップページでは観光地名であいまい検索をすることができます。
例えば、「湯布院」、「由布院」という2つの観光地名が登録されているとします。
- 「布院」で検索すると、「湯布院」、「由布院」が一覧に表示
- 「湯」で検索すると、「湯布院」が一覧に表示
余裕があれば、住所などでも検索できるようにしてみてください。
観光地新規登録画面
この画面は、管理ユーザー以外は表示することができません。
以下の項目を入力、登録できます。
また、サイト URL を除き、いずれも必須入力です。
- 観光地名
- 観光地画像(1枚)
- 住所
- サイト URL(任意)
- 電話番号
- 紹介文
観光地紹介
観光地紹介ページには登録された観光地情報が個別に表示されます。
新規登録画面で入力した項目全てが表示されます。
観光地編集
この画面は、管理ユーザー以外は表示することができません。
以下の項目を編集できます。
基本的には上書き編集ですが、画像については今後画像選択機能の追加が決定しているので、履歴が保存されます。
- 観光地名
- 観光地画像
- 住所
- サイト URL(任意)
- 電話番号
- 紹介文
また、削除機能も有しています。
削除ボタン → 削除確認 → 「OK」で対象観光地を「論理削除」できます。
マイページ
余裕があれば実装してみましょう。
お気に入り機能
余裕があれば実装してみましょう。