I own a small chat based game that allows you to own items, trade them with other people, and use them for various things.
Currently, I have a JSON file storing all the data related to each individual item, like the damage, accuracy, name, description, and then this data is all parsed into constant fields the on startup of my application.
Now to store the actual inventory of the player, I use a MongoDB database, which has a dictionary of the item name, acting as a key, and a integer, acting as the quantity of that item that they own. So that way whenever the item information is needed, it simply gets fetched from the constant data using the key.
The problem is I want to be able to add more user specific things which are variable for each individual item, like degradability, damage increases and other things.
How would I go about handling this? I would also like to know if the way I am currently doing things is on the right track.