Ecommerce Project

Project Description

Your team will develop an online store powered by Apache, MySQL and CGI Perl scripts to sell some type of product. Please note that your project website must adhere to the Seneca Acceptable Use Policy and must be approved by your instructor. The team is to notify the instructor by the end of stage 1 via email what type of a product you are planning to sell (please provide first and second choice). Books, CDs, DVDs, and computer parts will not be approved.

First users will have to register themselves as customers on the site by providing customer information that is pertinent to an online store selling your products.

Second following initial registration users will have to login and then be presented with interface for browsing the store catalog.

Third there must be an administrative form that permits the “Store Manager” to add, change and delete items from the store catalog. Items should include descriptions, price, a picture and any other fields that are relevant for your products.

Fourth the customers must access a form that allows them to select items from the catalog and add them to a “shopping cart”

Finally the user views their “shopping cart”, supplies payment and shipping/delivery information and confirms the order. An email is then sent to the user as a confirmation of their order details.

General Requirements and Suggestions:

* In order to satisfy the promotion requirements you must complete at least four of the five stages of the project. Please note that you are eligible only for a mark of 80% for the project if you choose to leave the last stage out.

* Your online store must be setup as a virtual host in Apache with a separate Document Root and CGI direcory.

* All pages and forms must be generated by CGI scripts. Static HTML pages are not permitted.

* All data is to be stored in a MySQL database. You must choose the layout and design of your tables.

* All catalog images are to be stored as regular image files. (.jpg)


* The project will be completed in stages. With each stage having a deadline. It is strongly suggested that you get each stage working before moving to the next.

* Basic and sensible security measures are required and are worth a significant portion of the grade.

* All code must be formatted neatly with ample comments. If it can't be read easily it won't be marked.

* Remember: first make your website work. Only afterwards work on the visual appearance.

Stage 1: Customer Registraion (due week 6)

Weight: 5% of the course grade.


* Create a script that presents the user with a form to register as a customer.

* Required fields include Login Name, Password, Name, Address fields, Telephone #, and e-mail address. You may have additional required fields that make sense for your store (ie gender) and also some optional fields.

* When the form is completed and the data is sent back to the script, the script must check that all required fields are completed. If data is missing return the form to the user requesting that they complete the missing data. (Entered data should be displayed in the fields, so the user does not have to retype fields already entered)

* If the required data is complete the CGI script will insert customer information to a MySQL table using a unique User ID.

Learning outcomes:

* Ability to create HTML forms dynamically

* Knowledge of differences between GET and POST requests

* Working knowledge of Apache log files

* Understanding of file permissions associated with portions of a web server

* Basic CGI scripting skills with Perl

* Interacting with a MySQL database

* Understanding of subroutines

Stage 2: CGI Script Security (due week 7)

Weight: 5% of the course grade.


* Edit your Stage 1 script so that all mandatory fields have their contents checked against regular expressions so that the data is what is to be expected. If the entered data is not complete the form should be returned to the user for correction.

* Usernames must be unique. Check the submitted username against existing names to ensure this.

* Passwords should be entered twice and checked to see if they are identical.

* Passwords must be encrypted before being stored in the MySQL table.

* Scripts must run within Taint mode. (using the -T option)

Please Note: starting with stage 2, all scripts must run with -T option and verify input.

Learning outcomes:

* Understanding Regular Expressions

* Implement various security measures for both Apache and CGI

* Use perl encryption digests to store encrypted passwords in tables.

Stage 3: Administrative interface (due week 9)

Weight: 5% of the course grade.


* Create a form which will allow adding items to the online catalog

* The online catalog must be stored in a MySQL table and include unique product ID's, Name, Description, Price, and image filename.

* Add to this form the abilty to change and delete individual catalog items

* Place the adminstrative script in a separate directory protected by Apache password protection. (.htaccess)

* Make sure that all image files are located in a separately Aliased directory.

* Images should be uploaded using FTP into the correct directory.

Learning outcomes:

* Ability to display images from CGI scripts using HTML img tag

* Understanding the differences between system root, server root and document root

* Understanding the purpose and properties of the ScriptAlias directive

* Understanding the Alias directive

* Ability to produce HTTP headers other than 200-level from CGI scripts

* Ability to change database records

* Ability to apply restrictions on server to prevent unauthorized access

Stage 4: Shopping interface (due week 11).

Weight: 5% of the course grade.

* Create a form which will allow buying of a single item

* After selecting an item users will be prompted to login and be authenticated against the customers table.

* Cookies should be used for the UserID to maintain state.

* Create a checkout form for entering shipping and payment information

* Write all transaction details to a transactions table with a unique Transaction ID.

* Transactions entries consist of the Transaction ID, UserID (foreign key), ProductID (foreign key), and payment information.

* Once a transaction has been completed send the user an email with their transaction details.

* Checkout and login page must be running on a secure server (SSL)

Learning outcomes:

* Using hidden form fields.

* Authentication against passwords stored in MySQL

* Ability to use SSL to provide a secure connection

* Ability to create and maintain a session using cookies

* Send emails from a CGI script

* Select and show data from multiple relational tables.

Stage 5: Extended shopping interface (due week 13).

Weight: 5% of the course grade.

* Extend your shopping interface to include a shopping cart feature that allows for purchasing multiple items from the catalog.

* Session maintenance using cookies must be implemented, allowing multiple concurrent shoppers.

* Each session must be given its own unique shopping cart in a separate MySQL table.

* Each customer must have the ability to view, add, change and remove shopping cart content

* Each customers shopping cart table must be deleted after a transaction is completed

* Create a checkout form for entering shipping and payment information. This form should correctly calculate the amount owed for all items.

* Completed transaction details, including all items purchased and payment information must be saved in the transactions table

Learning outcomes:

* Manage multiple, temporary shopping carts.

* Ability to use SSL to provide secure connection

* Ability to create and maintain a session using cookies

* Ability to use dynamic shopping carts

Taidot: tietojenkäsittely, Perl, Ostoskärryt, verkkosivujen suunnittelu

Näytä lisää: write scripts online, write name on items online, what is web design course, what is a general manager, website promotion script, web page design ecommerce, web page design course description, web design learning online, web content protection, visual basic 5 online, virtual shopping cart, virtual product design, using regular expressions, using expressions, user interface of online shopping, use regular expressions, table of contents layout design, store computer web design, static interface, starting with visual basic, stage product design, single key encryption, setup ecommerce site, sell your code online, selling your own design products online

Tietoa työnantajasta:
( 7 arvostelua ) Stouffville, Canada

Projektin tunnus: #408225

Myönnetty käyttäjälle:


Hello, We are the well know IT firm from India. We have expertise in php,java,.net,flash,[login to view URL] are professionally managed Corporate Group offering a wide array of expertise to both the corporate and service Lisää

$200 USD 7 päivässä
(1 arvostelu)

7 freelanceria on tarjonnut keskimäärin %project_bid_stats_avg_sub_26% %project_currencyDetails_sign_sub_27% tähän työhön


we offer quality solution,time base completion with support. Check PM Best Regard WorldSoftTech

$250 USD 0 päivässä
(88 arvostelua)

Please see my pm

$250 USD 10 päivässä
(30 arvostelua)

WE are ready,pl check pmb

$250 USD 15 päivässä
(13 arvostelua)

Respected Sir/madam, Thanks for such opportunity. I have read thoroughly your descriptions. I hope we will serve you with a great satisfaction in your projects. Please see PMB to see our work related to your needs, T Lisää

$250 USD 15 päivässä
(7 arvostelua)

Hi I have extensive experience working with FLASH, PHP, JAVA, HTML, AJAX, CSS, MYSQL, XML, JSP, Java Script, SQL,. I also design CMS based, eCommerce, Forum, blog Social Networking and membership sites. I am inter Lisää

$200 USD 5 päivässä
(4 arvostelua)

Hi, will you please check the PM for further details? Thank you!

$200 USD 20 päivässä
(0 arvostelua)