Great question — answering as the UphillTech team:
It is possible to do, and smart contract is not needed. Moreover, one my fried already developed such thing. What is challenge of this project: If you will upload into blockchain info about each item, this will: Be expensive, because of you will need to pay TX fee or gas for each item. Quickly inflates blockchain, and it will contains info about all items, and that will be millions of them. Solution, I think, to develop special service, which does following: Keep all info about items locally (name it as "item file"). Build local Merkle tree of that item files. Upload into blockchain root of the Merkle tree. When user's app requests server, it provides serial ID. Server found item file, and...
Full answer by olegarch: https://stackoverflow.stackexchange.com/a/78452073 (CC BY-SA 4.0).
Need it done for your business? UphillTech.