Inventory management app built with Vue

I was recently hired by a grocery store…(think smaller Whole Foods)…to build a web based app that would help manage their food inventory by sell by dates.

An essential requirement was the ability to read and search by scan codes as a primary means of interfacing with their 7000+ item database. In addition it had to dynamically generate lists of items nearing their sell by dates, lists of items needing restocking, and add/edit/delete new and existing items to their database.

This struck me as a perfect job for a Vue front end, Firebase back end, and Vuetify component library.

Since this was an in house only app I wasn’t required to do much design…but that being said I definitely wanted as clean a look as possible. It didn’t have to be particularly mobile-friendly, but on request, I tweaked a few of the pages to be useful on the store floor with tablet or mobile phone.

The web demo is all the apps functionality working with a smaller but representative database of similar items. There were no requirements having to do with pricing data so none was included.

Web demo
GitHub repository

Looking forward to any comments.


I like it. Only thing is that back button doesn’t seem to work exactly as expected. I cannot go back to form I’m submitting.

Another idea that comes from my experience in eCommerce, you might want to enable users to set default restock level trickers. In the simplest form, this is just: “when this item is below 5 places a backorder”.
Many commercial tools you see a more advanced version where you look at an average number of orders per seasonally adjusted timeframe. For example: “milk sells 700 units on average in normal Saturday, going under 600 in Friday will tricker automatic order”.

Even more advanced versions of this consider different suppliers stock situation & delivery speed to adjust orders dynamically + look things like time of a year for more accurate stock rotation predictions. But then again this mostly happens in backend and once you build this type of features you can just sell it as a SaaS solution.

Thanks for the thoughtful comments and suggestions.

The manner in which the app works was literally tailored to the workflow of the primary user of the application. It was as close to a bespoke piece of software as could be imagined. The client had been using a SaaS software package from a large provider and had requested the addition of a tracking by sell by dates functionality. The SaaS company at first refused, and then quoted an absurdly high price to implement the request.

When the client approached me I was frankly surprised that sell by date incorporation was not a standard part of any food/grocery/inventory management application. In any event, this app was built with all the business logic revolving around the sell by date as the central core.

I appreciate your suggestions, and as a project will implement them as, you rightly suggested, a natural outgrowth of the current app state. I had envisioned refining this app into a slightly more general version easily tailored to other businesses in related fields.


Actually interesting notion that sold by date tracking is not standard. I’m think that must be because most inventory tracking originally build for eCommerce or manufacturing. This brings me rather interesting comment from major retail chain director from Tesco I heard recently. “I know we always have too much bread but not sure how to fix it…” I haven’t ever really looked at retail inventory tracking but maybe there aren’t that many players around. Vendor reaction you are describing would definitely signal lower competition market.

My client has had a great deal of exposure to the grocery industry, and her experiences exactly mirror your Tesco retail chain director’s comment. It would not surprise me if this was an exploitable niche market…!

Anybody want to play…?


I’m gonna start at least a bootstrapped side project this summer. I had little bit different idea in mind, but if no one bites in this hook feel free ping me in month time. Right now I’m drowning to work and then 1 week break beginning next week.

Sounds good…


I have been a huge fun of Vue js for over a year already.

Recently, a close friend of mine asked me the same thing.
If I was able to help him with developing a software to track his apparels(he owns a boutique).

I didn’t want to build a desktop software so I started my Vue project and got half way through it.
Then I run into your post on this forum.
It was incredible to see the demo and say “that is exactly what I would like to build”.

I will only change for my friend’s application to use a custom ID instead of the scan code defaults.
Again, I have in mind few alternatives for the data storage.

Anyways, I wanted to thank you for sharing it.

I will hopefully make mine available in short time.

But generally I think a lot of people in computer science overlook the necessity of inventory applications Maybe everyone assumes it already done! it’s already out there!.


Hi Ftalem,
I’m glad you found this project of mine helpful. The full blown version of this demo has been up and running for a family owned mid sized grocery in my area for the past year with no problems and has significantly helped manage the day to day tracking of their time sensitive inventory.

I absolutely loved developing this is Vue and learned alot while building it.

Good luck with your build…