e-Commerce and Web Development Final Project
Deliverables
Scope Document
- Provide a general overview of your site.
- What business requirements does your site support.
- What pages will be on your site and how are they connected (hierarchy
diagram or Microsoft Word Outline). See pages 4,5 and 6 on this document
- How will your site make use of folders. (You don't want all your pages
in the same directory)
- Will you use a third party shopping cart? Which one?
- Specify how you will handle payments
- How will your customers pay for what
you sell to them.
- What is your estimate of how much it will cost you
to collect on a $25 order?
- Will you use PayPal? Will you use a credit card service from a local
bank? Will you use some other payment approach?
- What is your estimate of how much it will
cost your business to collect on a $200 order?
Instructor Review
- Email your design document to me as soon as you finish it. I may be able
to make some suggestions that will save you time and trouble in the rest
of the project. Go ahead and create and populate your database tables.
Database Tables
- Product Table
(priority one - must have)
- Include a column to optionally specify the file name of a picture of
the product
- Include a column to optionally specify the name of a file that contains
further product information
- Customer Table (optional)
- Customer id (sequentially assigned)
- Include Customer Name, Address, City, State, Zip
- Include userid and password
- Will you encrypt the password?
- Shipments Table (do this last)
- Shipment record id (sequentially assigned)
- Customer id
- Product id
- Quantity to be shipped
- Date record added (timestamp)
Home (index) page
- Make it look professional.
- You want to use the same look and the same menu system on all pages
- Include your external style sheet and make use of it.
- Make sure there is a link to your products page
- After the professional looking part of your home page, include links to
all your previous class assignments.
Product listing and selection system
- Build a professional looking page. This must be a php page because it will
access the database
- Show your products (probably in a table).
- At least one product must have
a picture.
- At least one product must have a link to a demonstration - probably
a flash file.
Shopping Cart system
- You could build your own Shopping Cart system or use an open source system.
- It's probably easiest to build your own.
- If you build your own you would need to
- Keep an array with product, quantity, product description and price
- Update this array (new row) each time you receive control from the
product list, the product demo, or the product picture
- Display the contents of the array in a form
- Give the user the option to checkout (go to the payment system).
- Give the user the option to continue shopping (back to product listing)
- Give the user the option to change quantities or delete products (save
this for last. if you don't get to it, you will still have a working
system even though the user cannot make changes after putting something
into the shopping cart.
Checkout and payment system
- You will need
to collect customer and payment information now.
- If you have implemented a customer registration system, ask the customer
to either register or logon and then obtain the information from the customer
database.
- If you have not implemented a customer registration system, get customer
and payment information from a form.
- Pass the invoice total and the payment information to the payment system
(merchant account or paypal).
- Pass the shopping cart details to your fulfillment system so you know
what to ship. This is outside the scope of this project so for now, just
dump the shopping cart details to a shipments table (sxx_shipments) in the
database.
- Customer id (if you have not implemented the customer registration
system, plug this with 999)
- Product id
- Quantity to be shipped.
- Date this record was added to the shipments table
- If you use Paypal, here are some usful references including code exampes:
Customer registration system
- Collect the customer's information and store it in the customer table.
- Use spry to validate the information.
Customer authentication (logon) system
- Get the userid and password and match it to the customer database
- When the information matches, store the customer id in memory for later
use.
- Handle logon errors.
Suggested Project Management Strategy
You want to have a working site even if you are not able to complete all of
the deliverables listed above. The order suggested in this section will allow
for this.
- Create your scope (design) document. Include your shopping cart and payment
design decisions even if you don't get that far in the implementation
- Design the overall look and feel of your site. Implement some of this in
your external style sheet. Create all folders
- Implement your home page including the menu system you will use on other
pages.
- Add new columns to your product table. Populate the product table with
products. (You can leave the optional columns empty for now)
- Build the PHP product listing page. The listing page should give the user
an opportunity to buy any product or add it to the shopping cart.
- Implement a dummy "shop.php" page. This page could display the id of the
product that the user is trying to buy or add to the shopping cart.
- Update your product table to include the name of a picture (jpg) file in
at least one of your products
- Get a picture (take one with a camera, take an image from the web). Upload
the picture to your web site and give it a file name that matches the name
you have placed in your database.
- Update the logic on your PHP product listing page to either display the
picture on the product listing page itself or provide a link to a separate
page with the picture. This separate page could include product details as
well as the picture.This page should allow the user to buy the product or
add it to the shopping cart.
- Update your product to include the name of a product demonstration file.
- Update the logic on your PHP product listing page to support linking to
a product demonstration file for any product where a demonstration file name
is specified.
- Build a "dummy" demonstration page using Flash. This could be a page that
says a demonstration is coming soon.
- Build a more serious Flash demonstration.
- Enhance the shop.php page to implement shopping cart functionality (except
for the ability to change or delete items on the cart).
- Enhance the shop.php page to link to the checkout and payment system.
- Implement a very simple checkout and payment system. (dump the shopping
cart array and exit)
- Enhance the shop.php page to allow for changes and deletes in the shopping
cart.
- Implement a real checkout and payment system.
- Implement customer registration and logon and integrate it with the checkout
and payment system.