Laravelでイベントの出席管理システムを作成してみる!①環境構築篇
こんにちは!Keitaです。
今回は、PHPのフレームワーク「Laravel」を使用した複数人体制のプロジェクトがあり、そのアウトプットとして、開発工程を記事にまとめていきたいと思います。
複数の記事にわたると思いますが、お付き合いいただけますと嬉しいです。
本記事では、作成物の紹介と開発環境を構築するところまでまとめていこうと思います。では、始めていきます!
作成物の紹介!
【何を作成するの?】
出席をWEBで管理できるシステム
【なんで作るの?】
私が経験したイベントの中で、出席で名前を一人ひとり読み上げている方法を行っているものがありました。この方法だと時間がかかりすぎるなと感じ、WEBで解決できたら楽だろうな~と感じ、作ることを決めました!
【誰向けのシステム?】
このシステムのペルソナ(ターゲット)はイベントの管理を行う人と受講する人に絞ります。
なので、管理者への配慮として、作業負担を少なくし誰でも使いやすいわかりやすいシステム設計を行う必要があります。受講者の配慮としては、簡潔で短時間の処理で出席登録を行えるようにシステムの設計を行う必要があると考えています。
【どのくらいの期間?】
2、3か月で完成させる予定です。
【どのように開発するの?】
下記のサービスや言語を使用して開発を行う予定です。
- AWS(Cloud9)//開発環境
- AWS(IAM) //メンバーのユーザ管理
- PHP(8.2) //言語
- Laravel(9) //フレームワーク
- Mysql //データベース
- Github //ソースコード管理
- Figma //デザイン
- A5m2 //ER図
※Cloud9を選んだ理由は、複数人で開発する上で優れた環境だと思い選択しました。Docker等の選択も視野に入れましたが、短期間でメンバーと共有しやすい点では、Cloud9が今回のプロジェクトには向いていると感じました!
こんな感じで作成をしていきます。
それではさっそく、環境の構築を行っていきます!
AWSを登録してみる
一応の紹介です。。
下記サイトから登録することができます!
クレジット登録をする必要があるので、情報入力は注意深くおこなった方がいいかもですw
Cloud9起動
AWSの登録が終わったら、Cloud9の作成を行っていきます!
Cloud9で、ブラウザでコードを書いたり、メンバーとリアルタイムで共有できたり、色々な言語に対応しているので様々なプロジェクトを開始する等のことができます。
詳細は下記を見てみてください~
では作成をしていきます!
検索バーに「cloud9」と入力すれば下記が出てくると思います。これを選択します!
そこで、下記の「create enviornment」ボタンを押下することで作成を行うことができます!
そのあと入力を行い、作成完了となります。
私は、ほとんどデフォルトで行いましたが、必要に応じて変えてください!
環境一覧の「My enviornment」に作成した環境があったらOKです!
「open」で環境にアクセスすることができます!
※画像にはモザイクかけときます
これでCloud9の環境は作成できました♪
IAMでユーザを管理してみる
続いて、メンバーがCloud9にアクセスできるようにユーザの作成と権限の追加をIAMというサービスで行っていきます!
詳しくはこちら~
機密情報が多いので手順のみの説明にさせていただきます。
①IAMにアクセス
②ユーザを作成
③グループの作成 //②で作成したユーザと許可する権限を選択する。
④メンバーにログイン情報を共有する
このようにメンバーにCloud9の権限を与えることができます!
環境の構築とユーザの管理をすることができました。
次はPHPの環境を整えます!
PHPの環境を整える!
ここでは、2つのことをやります。
①PHPのversionを8に上げる
②LaravelのVersion9をインストール
それではやっていきましょう。
こちらを参考にさせていただきました!
①PHPのversionを8に上げる
Cloude9の既存PHPVersionが確か7.2あたりだったかと思います。←曖昧ですいません。
このVersionを8に変更するという作業を行っていきます。
このPHPを元にフレームワークのLaravelをインストールしますので、この作業を行うことでVersion9のLaravelをインストールできるようになります!
下記のコードを実行していきます!
//packageの更新
sudo yum update -y
//既存PHPのアンインストール
sudo yum -y remove php-*
//amazon-linux-extrasを更新
sudo yum update -y amazon-linux-extras
//amazon-linux-extras内のPHP7.2を無効化
sudo amazon-linux-extras disable lamp-mariadb10.2-php7.2
//amazon-linux-extras内のPHP8を無効化
sudo amazon-linux-extras enable php8.0
//packageのインストール
sudo yum clean metadata && sudo yum install php-cli php-pdo php-fpm php-mysqlnd
sudo yum install php-cli php-common php-devel php-fpm php-gd
php-mysqlnd php-mbstring php-pdo php-xml
//serverを再起動
sudo systemctl restart httpd.service
sudo systemctl restart php-fpm.service
参考:https://github.com/yamazakidaisuke/GsCodeSample/blob/master/AmazonLinux2_PHP8_Laravel9
ではVersionを確認してみましょう!
PHPのversionが8になってますね♪
次にLaravelのインストールを行いましょう!
②LaravelのVersion9をインストール
では次にLaravelをインストールします。
下記のコマンドを実行していきます!
//composerをインストール
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/bin/composer
//Laravelをインストール
composer create-project laravel/laravel プロジェクト名
参考:
https://github.com/yamazakidaisuke/GsCodeSample/blob/master/AmazonLinux2_PHP8_Laravel9
では、Versionの確認をしてみましょう!
しっかりできてますね!
これでインストール作業が完了です!
とりあえず、環境構築はこんな感じです!
次の記事では、デザイン設計とDB設計と構築についてまとめていく予定です。
↑なるべく期間を空けないで更新する予定です。。
ここまで読んでいただきありがとうございました!