Laravelでミニブログを作ろう #1


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を書いていきます