Laravelのversionについて
- "8"を使用する
構成
- Laravel
- NGINX
- MYSQL
機能要件
- ユーザー登録 && ログイン
- ユーザーCRUD
- 記事CRUD
- 他ユーザーのフォロー
- フォローユーザー一覧
- フォロワーユーザー一覧
- 記事へのコメントCRUD
- 投稿記事の検索機能
開発環境を構築する
- ymlファイルにDockerの構成を記述
-
build
あとにコンテナ内でLaravel環境を構築 composer create-project --prefer-dist laravel/laravel {$APP_NAME}
Nginxの設定につまずく
- css, js ファイルが上手く読み込めない → docker-compose.ymlのappのvolumesをbuild後に変更したために、ファイルの読み込みがうまくいかなかった
DBの要件定義
Users | |
---|---|
id | UUID |
name | VARCHAR |
VARCHAR | |
email_verified_at | DATETIME |
password | VARCHAR |
remember_token | BOOLEAN |
created_at | TIMESTAMP |
updated_at | TIMESTAMP |
Articles | |
---|---|
id | UUID |
user_id | UUID |
title | VARCHAR |
category | VARCHAR |
content | VARCHAR |
created_at | TIMESTAMP |
updated_at | TIMESTAMP |
Comments | |
---|---|
id | UUID |
user_id | UUID |
article_id | UUID |
content | VARCHAR |
created_at | TIMESTAMP |
updated_at | TIMESTAMP |
Likes | |
---|---|
id | UUID |
user_id | UUID |
article_id | UUID |
created_at | TIMESTAMP |
updated_at | TIMESTAMP |
Follow_Users | |
---|---|
id | UUID |
user_id | UUID |
following_user_id | UUID |
created_at | TIMESTAMP |
updated_at | TIMESTAMP |
- UUID使用のため
composer require goldspecdigital/laravel-eloquent-uuid:^8.0
を追加する
機能を実装する
- livewireを使ってみる
- SPAのような動きができる(bladeテンプレートが使える)
- 日本語化する
-
resource/lang/
内に日本語化のファイルを配置する
error: Property ['{取得したい値}'] does not exist on this collection instance.
- DBからのデータは、取得の方法に応じて、toArrayメソッド等を使用し変換する必要がある
AWSにデプロイする
- Light Sailを使用する
- インスタンス作成(LANP構成)
- DNS作成
- ディストリビューション作成
- HTTPS化する
- インスタンスに
git clone
する -
/opt/bitnami/apache2/htdocs/
配下にディレクトリを配置する -
/opt/bitnami/apache2/conf/bitnami/bitnami.conf
を編集し、ディレクトリの階層を上記に修正する - bootstrapファイル等をbuildするためにnode.jsをinstallする
-
.env
を編集する(ASSET_URL
を追加し、https化したドメインを入力しasettsファイルが上手く読み込めるようにする)
POST時にブラウザで”保護されていない通信~”が表示されてしまう
-
app/app/Providers/AppServiceProvider.php
を編集する