
There are at least three other projects called Simple Shop on the Net today. Why on earth does anyone need yet another one?
This one came about through sheer frustration with the complexities of all the "full-featured e-commerce packages" out there. For example, take Interchange. Even its most ardent supporters will quickly tell you that "your modest needs are probably better met by a PHP shopping cart" (said with thinly-veiled disgust). I call it "the 18 wheeler of Open Source shopping."
The "modest PHP shopping cart" they're thinking of would probably be PHPShop, which installs itself as Washupito's Tiendita. It is less daunting than Interchange -- you might class it as a moving van. Still not something you'd drive to the store to pick up a quart of milk.
The issue, as I see it, is that both Interchange and PHPShop assume a fairly hefty SQL database that has been "normalized" -- in other words, it has a number of separate tables and each major "object" within a store is involved with more than one of these tables. PHPShop, for example, does not believe in a product (or display it) until you introduce it to some half-dozen different tables! "It's a tool, it's a shovel, it comes from Diggers Unlimited, it is six feet long and painted red. We'll discount it by sixteen percent if your mother is Australian...."
To continue our silly analogy to its conclusion, a "bicycle" would be a one-item order form, which can be created as a trivial static page (see Poland on the Passaic for a nice one). Do you see the gap we've left?
What is bigger than a bicycle and smaller than a truck? The family car.
Enter SimpleshoPHP. (Pronounce it "Simpleshop PHP" -- or "PHOP" if you're in a hurry.) Rather than try to strip things out of PHPShop, I'm starting with a clean sheet of paper, access to Google, and two or three reference books. I'm adding in just the functions that make sense for a one-vendor, one-category, non-Internationalized webstore. I have nothing against the I18N movement... but if someone wants a site in Spanish or Klingon or even Elbonian, I bet they'll have better luck with my code than PHPShop's.
You want a bookstore? Import a list of books. You want a jewelry store instead? Change the headers and import a different list -- one with your baubles, bangles, and beads. It's still just one file. You'll find it easier to turn the SimpleshoPHP bookstore into a jewelry store than to turn the Washupito hardware store into anything but a hardware store. The only thing you need to set it up is a price list, one line per item.
Okay, time for me to put up or shut up.
Enjoy some screenshots:
The initial database for this bookstore was populated with the help of the shareware program Readerware. It was exported as a tab-delimted file and adjusted, mostly to add a unique SKU to each book, before being imported into MySQL using phpMyAdmin.
Once it's in MySQL, something interesting happens. That list of departments is not hard-coded nor did I have to build a separate table to hold all the possible values; I just let MySQL find them. Add a new category, it appears on the left side of the screen. Sold all the Romances? The Romance category disappears until a new shipment arrives. You want to move all the "General Interest" books to "Non-Fiction" (also just one command in phpMyAdmin)? "poof!" The old category disappears and the new one appears -- automatically. That was my first clue that I was on to something good with a database-driven design.
The front "browse" page provides "browse by category" and "search by title or author." Clicking a title brings up a "flypage" with further item details, and offers to add it to the shopper's "Book Bag" (shopping cart). There is a (dummy) checkout page, but to avoid confusion the demo store simply clears the cart and exits. You can view the work in progress here.
We also have a (short) list of recommended resources for developers, and more step-by-step instructions than you'll ever get from the Interchange or PHPShop guys. ("Oh, yeah?" "Yeah!" Prove me wrong, guys!)
We now have a discussion forum hosted by SourceForge, suitable for bug reports, security fixes, and feature requests. Whether you're a developer or a store owner, there's something in it for you.
|
|
|
You are invited to post comments or questions on the SimpleshoPHP forum at SourceForge.net.