簡単なつぶやきSNSの作成
インストールするlaravelは5.8
プロジェクト名は「5-1」とします。
実装機能
まず、完成イメージは以下の画像を参考にしてください。
実装
- つぶやき共有機能
- つぶやくボタン押下で、入力したテキストが下の一覧へ最近のつぶやきから表示されること。
- 全ユーザーのつぶやきが表示されること。
- 自分のつぶやきには削除ボタンが表示され、ボタン押下したつぶやきは表示されなくなること。
- いまどうしてる?が「空欄の場合」と「255文字を超える場合」は、つぶやけないこと。
- ログイン機能
- 登録されたユーザーがメールアドレスをパスワードでログインできること。
- 上記画像のメインページにアクセスした際、ログイン状態でなければログイン画面へ遷移すること。
- ログイン画面のviewは5章カリキュラムを参考に作成してください。
- データベース
- database名は「sns」
- tableは下記のtable情報を元にmigrationで作成してください。
postsテーブル
つぶやきを管理します。
カラム名 | 型 | その他 | 備考 |
---|---|---|---|
id | BIGINTEGER | NULLは許可しない。自動採番 | ID |
user_id | BIGINTEGER | デフォルトはNULL | つぶやいたユーザーのID |
body | VARCHAR(255) | デフォルトはNULL | つぶやき本文 |
created_at | TIMESTAMP | デフォルトはNULL | 作成日 |
updated_at | TIMESTAMP | デフォルトはNULL | 更新日 |
deleted_at | TIMESTAMP | デフォルトはNULL | 論理削除フラグ |
調べて実装するもの
カリキュラムでは紹介されていませんが、テストの際には個人で調べて取り入れてもらうものが、以下になります。
- Seeder
ユーザーの情報を最低3人分はSeederで用意してください。 - 論理削除
今回のつぶやき機能の削除には論理削除を採用してもらいます。laravel標準で論理削除の機能があるので調べて実装してください。
レイアウトについて
今回のチェックテストでは、viewに関しての指定は特に設けません。
上記画像はあくまでイメージになりますので、横幅やレイアウトは自由に作成してください。
ただし、cssやbootstrapを使用せず、ただ並べるだけは控えてください。あくまで簡易的なsnsですので雰囲気は作ってください。