🌷

植物図鑑アプリをLaravel × Vue.js のSPAで作ってみた

2023/10/29に公開

はじめに

独学でプログラムの勉強をして、ある程度の基礎知識はつけました。しかし、自分でオリジナルアプリを作ってこなかったので今回、個人で運用することも視野にアプリを作ることにしました。

アプリの概要

製作したアプリ

https://greenpark.icu/

ソースコード

https://github.com/fujioka8700/greenpark

なぜこのアプリを作ろうと思ったのか

私自身、趣味でよく散歩をします。散歩をしていると、花や植物をたくさん見かけます。その植物たちのことを調べようとする時、植物の名前を知らないと検索しようがありません。そこで、名前がわからなくても、植物が生えている場所から探し出すことができるアプリがあれば、調べやすいのになと思い、今回の植物図鑑のアプリを製作する事にしました。

開発環境

WSL2, docker

使用技術

フロント

JavaScript, Vue.js, Vue Router, Pinia, Vuetify

バックエンド

PHP, Laravel, MySQL

インフラ

さくらVPS

CI/CD

Github Actions

TOP画面


アプリのメインである「生えている場所」から植物を探せます。他の植物を探す方法として、「名前」と「特徴の内容」から検索する方法や、「花の色」や「注目されている植物」など、色々な植物の検索方法を実装しました。

植物詳細画面


植物の特徴を見て興味をもってもらいます。その植物と同じ「花の色」「生えている場所」を検索できるようにして、似た植物に素早くアクセスできるようにしています。

植物登録画面


植物の情報として、植物の画像、よく生えている場所、花の色、特徴の説明を登録できます。

API構成図


Vue Routerで各コンポーネントへのルーティングを行います。5つのコンポーネントを作成しており、それらに対してAPIでデータベースのデータを返却する処理を行います。

ER図


colorsテーブルとplacesテーブルから、plantsテーブル内を検索できるようにしています。

工夫した点


植物を調べることができたら終わり。では、わざわざここにアクセスしてもらったのが、もったいないと思い、各々の植物に「いいね」と「コメント」ができるようにし、簡単なSNS機能を実装しました。

苦労した点

Linuxの知識が皆無であったこと。アプリの開発はWindowsで行っていました。コマンドや権限など、全てが初めて聞く言葉たちで、理解して使いこなせるようになるのに時間がかかりました。最終的にLinux専用のパソコンを1台用意して、触り倒すことによって、Linuxとは何なのか?どうやってアプリの開発を行えばよいのか?を勉強することにより、Linuxの基礎知識を得ることができました。

まとめ

植物を見つけやすいように、TOP画面からすぐに表示できるよう製作しました。その結果、植物を瞬時に表示できるようにできよかったです。今回、運用を考えたアプリを作るとなると、自身の技術がもっと必要だということもよくわかりました。LaravelやVueはできることがたくさんあり、これからもアプリ開発に励み、新しい技術を身に着けていきます。

謝意

写真の素材は以下のサイトから、フリー素材の写真を使用させていただきました。大変感謝しております。
https://www.photo-ac.com/
https://photo-pot.com/
http://www.tousan13.com/
https://flower.yodoyabashift.com/
https://free-materials.com

Discussion