Fair Trade Webstores
©1996-2017 Roedy Green of Canadian Mind Products
This essay does not describe an existing computer program, just one that should exist. This essay is about a suggested student project in
Java programming. This essay gives a rough overview of how it might work. I have no source, object, specifications, file layouts or anything
else useful to implementing this project. Everything I have prepared to help you is right here.
This project outline is not like the artificial, tidy little problems you are spoon-fed in school, when all the facts you need are included, nothing extraneous is mentioned, the answer is
fully specified, along with hints to nudge you toward a single expected canonical solution. This project is much more like the real world of messy problems where it is up to you to fully the
define the end point, or a series of ever more difficult versions of this project and research the information yourself to solve them.
Everything I have to say to help you with this project is written below. I am not prepared to help you implement it; or give you any additional materials. I have too many
other projects of my own.
Though I am a programmer by profession, I don’t do people’s homework for them. That just robs them of an education.
You have my full permission to implement this project in any way you please and to keep all the profits from your endeavour.
Please do not email me about this project without reading the disclaimer above.
This project is designed to sell fair trade products such as
coffee, chocolate, cocoa and tea
on the Internet and in home businesses and in small storefronts.
You can think of it as a specialised affiliate program or a specialiased shopping cart program.
How It Works
There are four classes of participants:
Some people may participate in more than one way, perhaps all four.
- People who maintain little websites selling fair trade products. They don’t
need to know anything about HTML or
FTP to do this. The webstore part of
their site is automatically generated and maintained for them. They don’t even
necessarily have to have a website of their own…
- Suppliers. People who roast the coffee or package it in imaginative ways and ship
- People with home businesses who hold Tupperware parties to sell fair trade products
to their friends. They place orders over the Internet at various webstores.
- People with small storefront businesses. They place orders over the Internet at
The Shopping Cart
To build a website, you simply select the products you want to
sell, ticking them off a list. You can add you own commentary and images and some
limited ability to select the colourscheme and theme of the automatically generated
website. You decide how much markup you want on each product you offer.
The webstore is completely vanilla. It would not need Servlet,
JSP (Java Server Pages) or PHP (Pre-Hypertext Processor) hosting. The shopping cart
would be handled by a central server and distributed use of Java Applets, Java Web Start
When customer use a unified electronic shopping cart, creating an order that may be
satisfied by many different suppliers.
The customer pays by credit card or
The money is split three ways:
Somebody may be both a supplier and have a website. He then pays himself a
commission for sales of his own products and also the commission to the computer service
- Mostly to the suppliers.
- A variable commission to the owner of the webstore. The webstore owner sets
whatever markup he wants, just like a regular storefront. If he sets it too high,
people won’t buy products from his webstore. The commission can also vary
depending on quantity.
- A variable commission to the supplier of the computer services that makes this all
happen and who collects and distributes the money. The commission would not include
hosting a website, just the automatic creation of it. Hosting would be a separate flat
The Pieces of Software
What software needs to be written?
This is a project that is nicely suited to be written by a team, each member taking
on one piece of the overall task.
- You need a database of the participants, the products offered, their descriptions,
pictures of them, what each products each participant wants to sell, fair trade
- Online shopping cart program.
- Program to let website owner select what will be for sale on his webstore and his
markups. The let the website owner select products he want to specially feature.
- Program to let a supplier describe his products and prices. Any changes are
reflected within a day at all webstores. Discontinued products disappear, prices and
shipping are automatically recomputed.
- You need a way of securely accepting credit card information over the Internet. I
have already written this. It does not even need SSL (Secure Sockets Layer).
- You need a way of sending credit card information over the Internet to the credit
- You need a way to generate a complete website from the list of product descriptions
and additional commentary.
- You need a way to show prices in the native currency of the buyer, e.g. CurrCon and automatically compute
- You need a way to upload that website to client’s
ISP (Internet Service Provider) host and to efficiently keep that website up to date,
similar to the way the
- You need a way to send the orders to whoever is responsible and track their
status. Customers need to be able to track the status of their orders and contact the
various companies involved by email or phone.
- You need to send out the cheques to everyone, usually by direct deposit into bank
accounts. I have already written this code in Abundance.
The ideas could be developed in phases. Each phase could be a useful
product in itself.
- Simple Applet that collects information about a single
purchase, sends it encrypted to a server, which then relays it still encrypted to the
vendor by Java Web Start or email. The vendor then processes the order as if it were a
mail or phone order credit card. The server is not involved in handling the money. It
just relays messages. Unsigned Applets may not talk to the
central server, but signed ones can. The scheme would have to be implemented with a
combination of unsigned Applets to display prices in the
reader’s home currency as per CurrCon, signed Applets to
make purchases when the user clicks a buy button and Java Web Start to communicate
with vendors. The server does not keep any information about customers on file. The
vendor describes a product to the server and the server show the vendor the
HTML (Hypertext Markup Language) to embed to sell
that product. The server keeps no records of the server’s products. This scheme
could be sold on a gas tank basis for perhaps $0.10 a
- Shopping cart that lets the customer select several items before making the
purchase. All items must be purchased from the website owner. The server is not
involved in handling the money. It just relays encrypted messages to the vendor. The
server keeps a database of the vendor’s products giving price, base currency and
- Shopping cart that automatically computes shipping and handling based on the
location of the customer and the combined weights of the items. All items must be
purchased from the website owner. The server is not involved in handling the money. It
just relays messages. The server keeps a database of the vendor’s products giving
price, base currency, description, handling fee and weight. The server also keeps a
database of shipping rules based on weight and location.
- Fair Trade scheme where you can offer products from many vendors for sale on your
website. There is a common electronic link to the credit card companies and monthly
cheques to all vendors.
Making It Real
It won’t work unless you can get suppliers to sign up. You
will likely have to do all the work for them, starting with their published price lists,
perhaps not even officially having their permission. They just start getting orders.
You also have to get people to create websites. You use existing websites to
automatically explain the plan and sign up more websites. Signing up is free. The user
might even create the website with a random sampling of products, or ones chosen from
nearby suppliers so it takes almost no work to set up.
Getting the right to accept credit cards over the Internet requires some major juice.
You have to put up a large bond or have the backing of a big company. To start, you would
probably have to use PayPal
to avoid this problem.
Using a phased approach lets you build on experience and start with very low
operating cost, low liability, low technology and low capital.