見出し画像

【Djangoでアプリ作成】スーパーの賞味期限チェックアプリ作ってみた

初めまして。この記事を読んでくださってありがとうございます!現在大学生で、某スーパーでアルバイトをしています。あるきっかけでスーパーで使えるような見切りチェックアプリを作りました!

アプリを作った理由

簡単に言うとスーパーのアルバイト中にやる業務の一つである見切りチェックや賞味期限チェックが非常に面倒だったからです。めんどくさいなら何かアプリでも作ってみようかという軽い考えがおおもとの理由です。
オープニングスタッフとしてアルバイトをしていたのですが、2月ぐらい働いている中である問題が生じました。それは賞味期限チェック漏れ、見切りチェック漏れが起きたことです。
見切りというのはスーパーで働いたことのない人には少し聞きなれない単語だと思いますが、要は賞味期限の近くなった商品を値下げするという意味です。
賞味期限チェック漏れがあるとお客様に賞味期限の過ぎたものを買わせてしまう恐れがあるし、見切りチェック漏れがあると賞味期限が近いのに売れずに廃棄になってしまいます。私が働いているスーパーではそのようなチェックを手書きで表に賞味期限などを書き込みながらチェックしていました。なんとも漏れが生じそうなやり方ですよね。
面倒だし、商品名で検索したり賞味期限の近い物を表示させたりということができません。このような問題をアプリを作ることで解決できないかなと思いました。

アプリに持たせたい機能

1. ユーザー登録機能
 店員の誰が商品を登録したかわかるようにしたい(ダブルチェックにもなる)
2. 商品名と賞味期限を登録する機能
3. 賞味期限から見切り日を自動で表示する機能
 商品の部門(菓子、食品など)ごとに見切り日が決まっている。
 例)菓子は賞味期限の3週間前に10%値引き
4. 商品の状態を表示する機能
 商品が何%見切りされた状態なのか一目でわかるようにしたい。
5. 商品名、商品の状態、賞味期限、見切り日の表示
6. 賞味期限、状態によるフィルター機能
7. 商品名による検索機能

アプリ作成

アプリはDjangoを用いて作りました。私のレベルはpythonは少し触ったり動かしたりしたことあるけどアプリ製作は初めてという感じです。参考にしたサイトは以下です。
1. DjangoサイトのDocumentation、「はじめてのDjangoアプリ作成」
ほぼこのサイトを見て少し応用したという感じです。ほかにもClassや Tableのことだったり、Fieldのことも勉強しました。
2. Django Girlsのデプロイについて書かれた記事「デプロイ!」
作成したアプリケーションを公開して誰でも使うことができるようにするために参考にしました。「デプロイ」という単語を知らなかったので探すのに苦労しました。開発サーバや運用サーバのことを調べていたら運よく見つけられました。

実際に作ってみたアプリ

画像1

Djangoに備わっている管理サイトをカスタマイズして作りました。初めからユーザー登録の機能が備わっているからです。お菓子A、B、Cはお店の棚を表していています。お菓子は特に数が多いので棚ごとに分けたほうが便利なのでこのようにしました。

機能1ユーザー登録
初めから備わっているのでそのまま使いました。お店の中だけで使うことを想定しているのでグループ機能はあまり考えなかったです。グループ機能があれば同じアプリを複数の店舗がつかえるようになるかもしれません。

機能2商品名、賞味期限登録

画像2

このようにお菓子Aに商品を追加する場合、「追加」をクリックすると商品名と賞味期限の入力を求められます。

画像3

保存をクリックすると写真のように商品が登録されていることが分かります。見切り1、2、3というのは見切りの段階です。賞味期限から自動的に計算され、表示されます。機能3賞味期限から見切り日を自動で表示する機能ができています。

機能4商品の状態を表示する
上の画面の商品名のすぐ右にカテゴリーという欄があります。これが商品の状態を表しています。

画像4

カテゴリーは編集可能で先ほどのお菓子を登録した時と同じように登録できます。これは場合によっては80%引きなどイレギュラーな値引きの仕方をすることがあるからです。また、カテゴリーは商品一覧のページで変更することができます。

画像5

このように商品一覧のカテゴリーの項目を変更し保存することでその商品のカテゴリーを変更することができます。ビスケットを20%見切りしたらカテゴリーを「通常」から「見切り20%」に変更するといった感じです。これをすることで見切りをしたかどうか確認することができ見切り漏れ防止になります。
機能5商品名、商品の状態、賞味期限、見切り日の表示

画像6

商品の一覧はこのようになっています。賞味期限の早い商品が上に来るように表示されます。
機能6賞味期限、カテゴリーによるフィルター

画像7

このように賞味期限が今月のものを表示することもできますし、

画像8

何%見切りされてるかでフィルターをかけることもできます。

機能7商品名検索

画像9

このように商品名で検索できます。なんかビスケット系のお菓子の賞味期限が近かったような…と思ったら検索をかければいいということです。

まとめ、課題

初めてにしては意外とスムーズにできたと思います。めんどくさいことや課題を解決するのにアプリを作れたことはいい経験でした。課題としては商品一覧が見にくいということが挙げられます。スマホなどで使用した場合、商品一覧の画面が見にくくなってしまいます。
今後は、このアプリを作るために書いたコードの紹介(簡単なものしか使ってないですが…)や使用してみて起きた問題点や感想などを書いていこうかなと思います。
読んでくださりありがとうございました!

この記事が気に入ったらサポートをしてみませんか?