I've seen it done before, and I know you have to serialize each part and it's property, and upload it to the datastore.
HOW
There's two ways you can approach. The first way (I'm not 100% It'll work) is looking up DataPersistance. It's the old version of DataStore, but I'm sure ROBLOX Still supports it. Last I remember, you could save physical object with DataPersistance. If that doesn't work, see way two.
For way two, you'd need to create a table for the part, and fill in every property in that table. Then when you're loading it, loop through it to create the exact same part, in the exact same position.
Any questions? Comment!