2019-11-11に更新

はじめに

PHP & Laravelを使って質問箱のようなTwitterに投稿して遊ぶ質問サービスを作るチュートリアルの連載を書いていきます。実際に僕自身が1から作りながらWeb上に公開するまでのその工程と書いたソースの全てを書いていくことで、簡単なサービスづくりの基礎を誰でも学べるようにできればと考えています。

どのようなものが出来上がるか

こんな感じでOGP付きのツイートが出来るようになります。

届いた質問の管理

(実際に作りながらここに画像などを増やしていきます)

前提

いくつかの前提を説明します。

環境構築について

環境構築については悩みましたが、書かない予定です。色々なやり方があったり、やり方によってはお持ちのPCでできないものだったりする可能性もあるため、環境構築については世の中にある多くの記事を参考にして行っていただければと思います。もしくはDockerが使える方はdocker-composeを使うのが一番簡単かもしれません。一応Dockerによる構築は先日書いた DockerでLaravelのローカル開発環境構築を行う かだいぶ前に書いた Qiitaの様なサービス作成中 ローカル環境構築 連載(1) あたりが参考になるかもしれません。

チュートリアルで使用する言語などは下記になります。

  • PHP 7.3
  • Laravel 6.0
  • MySQL 5.7
  • Node 12.10
  • Vue.js 2.6
  • Yarn

各々連載中に説明をしてはいきますが、最低でも下記は準備して頂く必要があります。もしわからないところがある場合はコメント頂ければ追加で記事を書くか、分かりやすい記事の紹介などさせていただきます。もしくは何か書いていただけたらここからもリンクさせていただきます。

PHPのインストール

コンソールでphp -vを実行した時にPHPのバージョン7.3が表示されるようにしてください。

Laravelのインストール

Laravelの公式マニュアルに従い、インストールを行ってください。

インストール 6.0 Laravel

php artisan serveでサーバーを起動して開発していきます。

MySQLのインストール

MySQLをインストールしてください。バージョンは5.6、5.7、8.0あたりであればどれでも大丈夫です。というか別のPostgresやSQLite等、他のものでも大丈夫かもしれません。

.envを編集し、接続できるようにしてください。最低でも、php artisan migrateで最初から用意されているユーザーテーブルなどが作成されるところまで確認を行ってください。

Nodeのインストール

JavaScriptのビルドに必要です。nvmを利用すると準備は簡単です。

nvm-sh/nvm: Node Version Manager - POSIX-compliant bash script to manage multiple active node.js versions

内容について

作りながら書き進めますので、開発中に間違ったことに気づいた場所などがあれば適宜記事の方も修正していくと思います。そのため書いたばかりの記事には誤りや最適でない内容などが含まれる可能性があります。

ツイッターでシェア
みんなに共有、忘れないようにメモ

view_list [連載] Laravelで質問箱みたいなサービスを作る
第1回 はじめに
第2回 Laravel Socialiteを使ってTwitterアカウントでログイン機能
第3回 質問できるようにする
第4回 Bootstrapでベースデザインを整える
第5回 質問に回答する機能を作る

だら@Crieit開発者

Crieitの開発者です。 Webエンジニアです(在宅)。大体10年ちょい。 記事でわかりにくいところがあればDMで質問していただくか、案件発注してください。 業務依頼、同業種の方からのコンタクトなどお気軽にご連絡ください。 業務経験有:PHP, MySQL, Laravel, React, Flutter, Vue.js, Node, RoR 趣味:Elixir, Phoenix, Nuxt, Express, GCP, AWS等色々 PHPフレームワークちいたんの作者

Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。

また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!

有料記事を販売できるようになりました!

こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?

コメント