I want to build an app that catalogs the contents of storage boxes. The idea is to photograph my items, assign them to a box, and print a QR code for each box. Scanning the code should open a fast, compact page showing that box's item list and photos. I know this may involve more than just generating QR codes, but I'm willing to learn. I'm considering starting with a web app, possibly hosted locally, instead of paying for an existing subscription service. Is this a feasible beginner project, and what topics or learning path should I start with?
4 Answers
Think about how often the contents will change. If items are frequently added or removed, requiring a new photo and QR code every time could become inconvenient. It may be better to let the box page support updates, with individual items that can be marked as removed or relocated.
This is essentially an inventory app built around standard CRUD operations: creating, viewing, editing, and deleting boxes and items. You could build the web app first, then add an API that returns the contents of a particular box. Each QR code can contain a URL identifying that box, and scanning it would open the corresponding results page. QR-code libraries already exist, so that part shouldn’t be too difficult. You could host the app on a small computer such as a Raspberry Pi or an older PC. For photos, store the files in server storage and save their paths or URLs in the database rather than putting the image data directly into the database.
A good starting point is The Odin Project. It walks you through the web development basics you’ll need before building something like this.
This is very doable if you start small. A QR code can simply point to a web page for a box, and that page can display the associated photos. You could even include the box’s QR code in each contents photo and use existing image-scanning tools to identify which box the photo belongs to. If you’re new to programming, learn the basics first, then build a minimal version with one box, a few photos, and one QR code before expanding it.

Thanks! I’ll start with the fundamentals and try to build a very small version before worrying about automation or more advanced features.