Next Broadcast

Home Pantry System

Trget Code and Eng DK30 Fall 2020 1 1

Description

A small little application to keep track of all the household food products. This is intended to help with meal planning, for both shopping and cooking, as well as reminders about how old certain things are, yes that has been in the freezer for that long, and when things expire.

Recent Updates

Trget 5 years ago

So, I’m more or less finished with this aspect of the project. It is deployed and working and in active use.

I did do a little update today, as demanded for usability by my sister. That is to say I added some alternating colouring to the lines of items so that it’s easier to read. Colouring for reading lines

Otherwise, I plan to keep refining the system as I use it, however, that is ongoing and possibly for another DK30.

Trget 5 years ago

As I promised yesterday, here are pictures. However, let me restate my warning. These will not be pretty, I’m a backend engineer, not frontend. It is functional. You have been warned.


A simple Login Screen A simple Login Screen

The Pantry Listing The Pantry Listing

An Empty Pantry An Empty Pantry

The Create Item Page The Create Item Page

A Pantry With Items A Pantry With Items

Shortcuts To Change State (on right) Shortcuts To Change State (on right)

Finished Items are hidden Finished Items are hidden

Finished Items can be seen Finished Items can be seen

Shortcuts can also be used to copy items Shortcuts can also be used to copy items

Trget 5 years ago

So, big update, lots of progress.

A load of QoL improvements have been deployed:

  1. Quick item duplication
  2. Quick state change
  3. Smart copy
  4. List unfinished items by default

So, I’m down to 2 QoL improvements remaining.

  1. Highlights things close to (or past) expiration
  2. Sorting, searching and filtering

Will provide some picture tomorrow. These will not be pretty, I’m a backend engineer, not frontend. It is functional. You have been warned.

Trget 5 years ago

So after a day of painful manual data entry, yesterday, the system is mostly functional. I did discover a minor bug where you can’t edit items with an expiration date.

That bug was resolved this morning. Now I just need to improve the quality of life using the system. This is mostly minor improvements:

  1. List unfinished items by default
  2. Highlight things that are close to or past their expiration dates
  3. Sorting, searching and or filtering.
  4. Quick item duplication (multiple purchases)
  5. Quick state change (freeze,unfreeze,open etc)
  6. Smart copy (purchase of an existing item needing new details (expiration/purchase date)

But the system is in use, so improvements are being driven by actual use instead of wishful planning.

Trget 5 years ago

Project is now deployed and running. Though installation took longer because I had to first install Java 11 before it would run.

So, now I’m doing pantry stock counting for the entire house, and tomorrow is grocery day.

Trget 5 years ago

All automated tests for editing are in place.

The database has also been deployed to the live node, however, the application itself is not. This is mostly due to adventures in database management.

The short of the story is I have no idea what I set as the master password for the database deployment, even though I have a number of applications running on it. Consequently I spent most of the morning digging through everywhere I store my passwords, in the hopes that it was stored somewhere and I wouldn’t need to reset it. Having spent longer than needed not finding the password, I then did the 5 step/2 minute process of resetting the master password.

So tomorrow I deploy the current version onto the node, and then I start my initial stock counting.

Trget 5 years ago

Editing logic is now in place. I’m in the process of adding automated tests to ensure that all possible use cases are covered.

I may do a bigger update once I figure those out.

Plan is then to deploy the system live tomorrow and spend some time on Wednesday adding things to the pantry catalogue. Yay!

Trget 5 years ago

No real progress made, still just catching up.

Editing is mostly in place. Everything except the actual controller logic is done. This is the last bit of large logic, everything else is (comparatively) simpler copy/modifications of components so it should go a bit faster.

QoL improvements should be easy enough to implement once the system is live and in use. Though I’d like to put copy/duplicate buttons into place before it goes live, just because it makes everything easier to catalogue.

But it’s the weekend, and I need to run a number of raids. So no more progress until Monday.

Trget 5 years ago

So I’m a little behind, but I gave generous estimates in the first place.

Yesterday I did some prep work for the logic to correctly insert items. Most of this is also applicable to editing, as the same verifications need to be added.

Today I didn’t do anything as I was not feeling well.

The plan for tomorrow is to insert the expiration smart management logic, and hopefully also implement the edit logic.

Trget 5 years ago

Almost forgot to post an update for today.

Updated the database schema, as well as all the template pages to fully support branding and purchase/expiration dates. Some additional logic is needed to correctly insert the data, but that will come as part of tomorrow’s update where editing support is added.

Trget 5 years ago

Added initial support for purchased and expiration dates as well as attaching branding information. This was largely an expansion of the internal data type objects and their associated relationships, as well as laying out the initial UI elements to match these. I have yet to expand the database schema to also support these items.

Trget 5 years ago

Spent the weekend thinking about improving the project description and goals a little. These have been elaborated in a cleaner and more goal oriented manner. Granted, the later weeks are a little bit more fuzzy, but overall the project isn’t that complicated so that is okay. It also helps that most of the planning, at least in terms of system design has already been taken care of, as has the initial configuration and setup. Otherwise that would likely have occupied most of the first week as well.

Estimated Timeframe

Oct 19th - Nov 13th

Week 1 Goal

The initial system already exists, however some functionality is missing. The aim is to have a basic working system. In part, that already exists. Basic pantries can be created, and items can be added to it. These can also be viewed (as a list). However, this is only a starting point. The first week is to focus on adding all basic functionality to the system.

Features to be added during the week include:

  • Purchased date for items
  • Support for expiration dates
  • Ability to edit items
  • Recording basic branding info

Week 2 Goal

Will focus on improving some Quality of Life features. The basic system exists, but manual data entry is boring and error prone.

Main features to be improved are:

  • Copying existing items
  • Smart management of expiration dates and freezing interactions
  • Better listing - “at risk” and low quantity

Week 3 Goal

Should focus on polishing the systems a little.

This will be achieved in a two-fold manner. First, the system should go into a live state, by being deployed onto the local Raspberry Pi server running in-home services. Second, the contents of the home food stores, the pantry, will be added to the system.

Week 4 Goal

Will focus on continuing to use the system and making live adjustments as it becomes more used.

Improvements to be determined. Maybe publish to GitHub.

Tags

  • Software
  • Home Improvement
  • Tools