infoMore than 1 year has passed since last update.
Laravel(PHP)でCRUDアプリを作成し、AWSにデプロイする
Last updated at Posted at 2022-02-02
Laravelのversionについて
構成
機能要件
- ユーザー登録 && ログイン
- ユーザー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 |
email |
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
を編集する
0Go to list of users who liked
Register as a new user and use Qiita more conveniently
- You get articles that match your needs
- You can efficiently read back useful information
- You can use dark theme
What you can do with signing up