[学生時代の作品2]物品管理アプリ

PHP+Laravelの学習のために作成したアプリケーションです。

研究室で使用したいと頼まれたこと、

また、データベース操作や基本的なCRUD機能を学習するには物品管理アプリケーションが最適であると考え、作成いたしました。

ER図

使用した技術

CSSフレームワーク:Bootstrap

言語:PHP

フレームワーク:Laravel

テスト:PHPUnit

データベース:PostgressSQL

インフラ:Heroku

開発環境:Docker, Docker-compose


機能:

部屋→場所→場所詳細→物品

というふうに階層にして物品を登録できるようにしています。


物品登録の際、この数以下になったら警告する、という物品の数を指定することができそれを下回るとトップページに表示されます。

ユーザーを管理者ユーザーと一般ユーザーに分けています。


物品の検索も可能です。


管理者ユーザーができること

物品登録

物品削除

物品情報編集

ユーザー新規追加

物品追加リクエスト承認など


一般ユーザもできること

物品登録リクエスト

物品の数変更

発注

ブックマークなど


物品詳細ページからは物品の数を変更したユーザーの履歴が見ることができ、ユーザー詳細ページからは物品の数を変更した履歴を見ることができます。



工夫した点、こだわった点:

業務で使うことを考慮して、わかりやすくシンプルなUIを心がけました。

自由に物品を登録されると混乱を招く恐れがあると考え、一般ユーザーと管理者ユーザーで分け、一般ユーザーはできることを限定しました。

テストも少しではありますが、練習程度に書きました。


反省点:

一般ユーザーと管理者ユーザーの区別はUserのAdminという項目で区別していますが、より明確に分けるならば管理者用のUserテーブルを作るべきであったかもしれません。

Herokuを使用しているのでかなり重いアプリとなっています。この問題については次の作品でAWSを使用することで解決しています。