The Shopping Suite

This page is full of technical details, that may be of interest about the shopping suite, but have no bearing on the normal use of the suite.

Language and Programs

The suite consists of about 80 perl programs (and growing) and another 23 modules (code which is common to several of these programs). At the time of writing this amounts to about 18K lines.

There is limited use of 3rd party modules. Only where they are doing something complicated, that I don't need to know about do I use other modules. This means that I understand how everything works (I hope).

Linked Operation

The suite is designed to work alone or across a set of linked sites, the shopping suite can run on any site and allow items to be listed on any of the linked sites be bought as one order.

Under linked operation, most of processing is performed by the site you first accessed, that is where your customer and other details are stored.

Your customer information, name, address and preferences is handled by which ever site you started with. ie if you start with Knightwriter press and look at Waveney, the details used when ordering will be those you give Knightwriter press, if you start with Waveney and look at Knightwriter press then the details at Waveney will be used.

Multi Currency / Multi Regional

This suite takes a world view, it can deal in many currencies and work out costs for anywhere in the world.

If you change currency / region it will re-calculate the cost of everything already in the shopping basket.

By simple data changes the currencies and regions can be enhanced.

Design Principles

The Basic Shopping Data

The majority of the data used are simple html pages, there is no complex data base, each page can be formatted in a way that makes sense for the product being sold.

The Programs and Parameters

(Well some of them)

ProgramApplication
Start1The entry point for the suite
Start2A second stage to the initial entry, used sometimes
Search11st stage search (What do you want to search for)
Search22nd stage search (Main search)
Search33rd stage search (Following up a searched for item)
ShopMain shopping program to display goodies
Add1Add One Item to Shopping Basket
Add2Add Many Items to Shopping Basket
Add3Handle "Buy Me"s that are part of linked sites
Add4Handle "Buy Me"s that are on remote /not linked sites
Add0Handle some post Add to basket operations
ViewView a Basket, update basket
CustDataUpdate Customer Data
BuyWPHandles Credit Card Purchases for Waveney through WorldPay
BuyWAVHandles Non Credit Card Purchases for Waveney
BuyWAV2Handles credit card payments for customers who cant use https
RScriptHandle complex cases of linked sites
MerchHandle Merchandise (not currently in use)
RViewHandle simple cases of linked sites
Option1Handle Options
HelpHelp System
CommentHandle Comments
NewZinesSpecial "What's New page"
NZN1New Zines Notification (Tell me About New Zines) - part of normal shop
NZN2New Zines Notification (Tell me About New Zines) - Used to send emails
NZN3New Zines Notification (Tell me About New Zines) - Handles links from the Email sent
SupAdminSupplier Administration
2HandInAdding 2nd hand items to the shop
Admin*A set of programs used to administer the system
BuyMeGenCreate remote "BuyMe" buttons
BuyMeGn2Create linked "BuyMe" buttons
GC1Issue Gift Certificates
GC2Use Gift Certificates
OfflineChHandle change of an order to credit cards
SnailP*A set of programs to handle snail orders
OrderViewAllow a customer to see the state of their order
GoogleRespBe nice to Google...
ModuleApplication
CommonGeneral utilities not particular to the shop
ShopComGeneral Shop utilities
GlobalDataData common to all applications of the suite
Local_DataData that is site specific
BasketManage shopping basket
CustomerCustomer information management
BasketViewViewing Baskets
SearchCommon code across Search programs
CustDDisplay Customer Data
FilterFileGeneral Page Processing
Remote_OpsCommon remote code (RShop/Rscript/RView)
LinkedDataData about linked sites (used by RScript only)
AddItCommon Add type code (Add1/Add2/Add3/Add4/RScript)
BuyComCommon Code across the various "Buy" Programs
NZNcomCode common over all the NZN programs
GCcomCommon code for Gift Certificates
FormFillGeneral form filling handling
H2ComCode for 2nd hand sales
SupComCode common to many supplier and admin administration

Would You To Use The Same Suite?

If you would like me to run a web site for you and to provide e-commerce on the site, then let me know. With a small amount of customisation it should work on any site, it is capable of being remotely hosted from your site, if your web site does not support full cgi.

Email : Richard Proctor rjpweb4@waveney.org.


Last changed 08th of April 2003