Just to let you know - I'm building a basic shop module, but it's actually more than that. It's just an "iterator". It will let you create any number of "items". When you configure the module you specify how many "fields" each item should have.
For example, in some shops you might have fields for "code", "description", "price", "size", "colour" and "photo".
In other shops it might be something else.
In other websites you might even use this for something that's not a shop.
Anyway - each field becomes a theme variable that you can include in your templates. The shop will give you a couple of new templates to customise: 1 for browsing through sets of items and 1 for viewing a single item in detail.
There's a little more detail involved than that, but when it's up and running I'll post a link.
Note - this does not handle online e-commerce, or linking to paypal or anything like that - but that would be a logical next step. It could also serve as a framework for creating a website dedicated to any sort of "item" - like cataloging your books or dvds.
One thing I have plans for, but won't include in the first release, is the ability to put your items into categories.
Chris.