I'm a software developer and while going to a server is a cool idea, I doubt its worth the trip for you and your current needs. If you had an inventory system that had to be accessed by others that's a different story, but as you've described its for you only. I looked closely at the PartKeepr system listed above as well as some of the other inventory manager programs displayed at Github. ou could spend a lifetime trying to find just the right one. Like others here, I strongly recommend Excel. Learn how to use data--> filter--> autofilter.
Without getting into too much detail, database designs are given rules (called "normalization") so they are fast and efficient. With your needs no way can a single storage (DataBase) file do what you want to do. The good news is, Excel will easily let you break the rules for complete functionality.
You have a couple of needs that would be a bit unusual.
--Categories with tree structure. Grab an empty sheet in your XL workbook and create your perfect tree structure. How many branches do you have? Here's an example:
*Barrel Power Connectors
Draw your category tree.. Label your reference sheet so you can refer here when you need to add an item, and can't remember which category it goes in. Then on your data spreadsheet (for this example) you would use three different adjoining columns. Column 1 = level 1, col 2 = level 2, etc... Obviously you would have to duplicate the category 'headers' for each component line,
Column A / Column B / Column C
Connectors / General / ()
Connectors / Wiring / Blade Type
Connectors / Wiring / Banana Pins
Connectors / Coax / ()
Connectors / Terminal Blocks / ()
Resistors / Suface Mount / ()
Remember you can use data filter autofilter on multiple columns.
For finding stuff that links to a special project, you will have to use the "Tag" model. You will have to again create a reference sheet. Why, you ask? Because it is important that each tag be a SINGLE code word. "Accurate voltmeter v2" becomes "AV_V2" . You will have a SINGLE column entry on your spreadsheet called "Project Tags". In this field, you will add nothing, or what ever projects used this component. Each tag MUST be separated by a space. This field can have zero, one, five or fifty entries. When you want to find all components for the project of interest, you just crank up the data-> filter-> autofilter -> contains (codeword) and you are good. (or was that codeword ?) DO NOT CREATE A NEW COLUMN FOR EACH PROJECT. Believe me that will mess you up later. (Note it is this "keep track of which project" requirement from you that messes up database normalization.. look up DB 3rd normal form. And because of that, ACCESS would be sort of confusing to use. You would definitely have to add more tables.)
Ditto for WishList. Create a single column. Insert quantity of parts you want (1, 2, X or blank).
Hint: I've done lots of work on corporate XL database. Although its very tempting to attempt to add unique lines to the database to make it more 'readable' resist that urge at all costs. You database will have a single line header, then one line per component, simple. If you must create a pretty output, learn how to use macros' then copy the lines to another sheet, then print out that sheet. Don't screw with the database master table.
One other idea. XL will store word and images easily. You could also create other sheets in your Excel workbook. One project per sheet. On that sheet is a photo of the complete project and key notes as well as a screen shot of the schematic. Rename the sheet (use keyword project names?) than add that link to the keyword directory system. Might be a nice way to keep stuff organized. Also note. You've put a lot of work into this, best to investigate an automated backup system.
Will that work for you? Apologies for the long winded response, I get paid by the word :^)