As of now, most part of my project is done. For the hardware side, the only missing piece is the RFID reader which I have yet to receive due to issues with shipping delays. All the code is working perfectly and interfaced with AWS cloud so I will say it is 90% done for the hardware.
My next plan was to make an Android app which will keep track of all the inventory items in the system. I have had experience coding Android apps before. But for this I decided to try something new and use Flutter which is a new framework which is cross-platform for Android, iOS and web apps.
Today, I finally completed my app and it is looking great. I will describe the features below.
Run-through of the app
This is the run-through of each page of the app. There are 3 major features which I will propose for my project.
The first page will show all the items currently inside the inventory (eg. items inside your smart fridge). When the user clicks on an item, there will be a description of the item and also nutritional values of the food item.
This page will display the settings of temperature control of the storage area. It is useful especially for sensitive food items which need to be stored at a certain temperature.
A breakdown of the category of the items can also be derived via analytics from all the data gathered through this smart inventory system.
Working principles behind the app
The app makes use of AWS API Gateway which serves a HTTP page to retrieve the items from the database dynamically. A lookup table is implemented to provide the item image and description for the user. In practical use, there are also online databases with thousands of food nutritional labels which can be made use by the app.
A possible further improvement will be to host the app on the AWS platform itself, and make it truly a cloud solution. As I mentioned earlier, I used Flutter which allows making Web Apps. Using AWS EC2 or S3 may be a possible service to host it on. But I will focus on getting the final bits of my project working first, and try it out only if I have additional time.
As usual, the source code is posted in my Github repo, feel free to take a look and discuss with me.