laravelの使い方を一通り習ったので、laravelを使って(競プロの勉強の合間に)ちょこちょこミニブログを作っていくことにします。
作成していく過程で最近学習したAWSだったりCircle CIだったりの復習をしていければと考えてます。
(果たして完成するまでに何ヶ月かかるのか)
要件定義
アプリの概要
Markdown記法で記事が書けるミニブログ
主要な機能
- 記事の作成、編集、更新、削除、下書き(ユーザーは複数人登録できる)
- 画像投稿
- タグ付け機能(記事を作成したユーザー以外もタグ付けできる)
- いいね機能
- Markdownエディタ
- レスポンシブデザイン
- 管理人機能(ユーザー一覧、ユーザー詳細表示)
技術要件
- フロント
- Vue.js (いいね機能、タグ付け機能の実装のため)
- Scss
- バックエンド
- php
- laravel
- サーバー
- nginx
- DB
- mysql 5.7(ローカル)
- RDS(AWS)
- インフラ
- AWS
- ECS/ECR
- RDS(mysql)
- EC2
- S3
- VPC
- Route53
- ALB
- ACM
- Terraform(AWSをコード化)
- heroku(多分AWS版のアプリ完成した後、herokuに移行すると思います。お金無いので)
- CircleCI
その他Googleアナリティクスの導入
(非技術要件も定義できれば尚良いんですが...)
作成手順
環境設定(Dockerfile→Circle CI,PHPUnit(テスト),Terraform等)→laravelでアプリの中身を作り上げていく→デプロイ の流れ
laravelのインストール
rootディレクトリに移動してlaravelをインストールします
$ composer create-project laravel/laravel larablog
─── laravel(ルートディレクトリ)
├── larablog ・・・今回のアプリ
├── app
├── bootstrap
.
.
.
次回からDockerfileを書いていきます