You can do all of this within an ICP canister smart contracts. You learn more on how to build them and the capabilities here.
I don’t believe ICStorage is active but:
Other examples include: Docutrack UBin