Modern inventory systems in games are based on "grids" or "slots". Both of these are pretty silly when you think about how badly they emulate real life. Using a "grid" forces you to essentially play tetris with your inventory, and "slots" only make sense if you assume you have a compartment specially-designed for each unique item you have.
Why not instead simply have each item have a single value for how much space it takes up called "volume" and have each compartment (be it a pocket or a backpack or whatever) have a set "maximum volume" for how much you can stuff into it?
Additionally, you could arrange it so that you could fit more into the compartment than its maximum volume by implementing an "overflow" exception to each item. For example, you might want to have a gun in a pocket, but there's not enough room in the pocket to hold the whole gun. You could set a value for how much space you really need to at least keep the gun in the pocket without it falling out (the gun's barrel) and if that much is available, you can store the gun in the pocket. (after doing so, the compartment would be "overflowing" and there'd be no way to fit anything else in)