Find Jobs
Hire Freelancers

Perl E Commerce Website

$30-250 USD

Cancelado
Publicado hace casi 15 años

$30-250 USD

Pagado a la entrega
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) * Your code must be ORIGINAL WORK. PLAGIARISM WILL NOT BE TOLERATED!!! * 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. Details: * 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. Details: * 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. Details: * 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 Project must be soley cgi no os commerce or php. Item to be sold at online store are cd keys. Work must be done on my server which has all needed software installed. I will give out the server information when I have chosen the winner. Project is due on Apr 15th with no extension. I will need it done before then or no payment as the code will be useless to me after that date. Look forward to working with someone on this.
ID del proyecto: 415705

Información sobre el proyecto

1 propuesta
Proyecto remoto
Activo hace 15 años

¿Buscas ganar dinero?

Beneficios de presentar ofertas en Freelancer

Fija tu plazo y presupuesto
Cobra por tu trabajo
Describe tu propuesta
Es gratis registrarse y presentar ofertas en los trabajos
1 freelancer está ofertando un promedio de $200 USD por este trabajo
Avatar del usuario
I can do this job for you. See PM for details.
$200 USD en 7 días
5,0 (147 comentarios)
5,9
5,9

Sobre este cliente

Bandera de CANADA
Stouffville, Canada
5,0
7
Miembro desde mar 26, 2009

Verificación del cliente

¡Gracias! Te hemos enviado un enlace para reclamar tu crédito gratuito.
Algo salió mal al enviar tu correo electrónico. Por favor, intenta de nuevo.
Usuarios registrados Total de empleos publicados
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Cargando visualización previa
Permiso concedido para Geolocalización.
Tu sesión de acceso ha expirado y has sido desconectado. Por favor, inica sesión nuevamente.