CSCI 4230 Homework #3 Group Three Samer Al Jefri * Kevin Odom * David Hood * JD Wells * Philippe Gambling.

Slides:



Advertisements
Similar presentations
RP Designs Semi-Custom e-Commerce Package. Overview RP Designs semi- custom e-commerce package is a complete website solution. Visitors can browse a catalog.
Advertisements

Welcome to WebCRD.
Library Online Catalog Tutorial Pentagon Library Last Updated March 2008.
How to get started RMA Portal ZEBRA TECHNOLOGIES March 19, 2015.
New Student Orientation Registration System Stephen Nakamura EE496 Final Presentation Fall 2008.
XP Tutorial 9 New Perspectives on JavaScript, Comprehensive1 Working with Cookies Managing Data in a Web Site Using JavaScript Cookies.
Collaborative Information Systems for Student Projects Chapter Extension 2.
Web-based Document Management System By Group 3 Xinyi Dong Matthew Downs Joshua Ferguson Sriram Gopinath Sayan Kole.
Agenda Overview 2.What is SharePoint? 3.NCDOT Websites 4.Roles 5.Search 6.SharePoint Interface.
Form Handling, Validation and Functions. Form Handling Forms are a graphical user interfaces (GUIs) that enables the interaction between users and servers.
CONFIGURING WINDOWS SERVER MIS 424 Professor Sandvig.
Tutorial: Introduction to ASP.NET Internet Technologies and Web Application 4 th February 2010.
Getting started on informaworld™ How do I register with informaworld™? What do I do if I forget my password? My institution does not subscribe to any journals,
ASP.NET Part 3 Instructor: Charles Moen CSCI/CINF 4230.
CHAPTER 12 COOKIES AND SESSIONS. INTRO HTTP is a stateless technology Each page rendered by a browser is unrelated to other pages – even if they are from.
Getting started on informaworld™ How do I register my institution with informaworld™? How is my institution’s online access activated? What do I do if.
Telerik Software Academy ASP.NET Web Forms Data Validation, Data Validators, Validation Groups Telerik Software Academy
 Basic.  Punch-Out Supplier – The punch-out suppliers are available on the main Home/Shop screen. These are vendors with which RPI has pricing agreements.
ASP.NET Part 4 Instructor: Charles Moen CSCI/CINF 4230.
About Dynamic Sites (Front End / Back End Implementations) by Janssen & Associates Affordable Website Solutions for Individuals and Small Businesses.
Online Shopping JavaScript project for CS 175 JavaScript for Web Development, Spring 2009 By Sita Akella.
Online Music Store MSE Project Presentation I Presented by: Reshma Sawant Major Professor: Dr. Daniel Andresen.
11 Updating a Database Table Textbook Chapter 14.
L/O/G/O. Contents of the project Abstraction Electronic shopping system is a system designed to the benefit of two people at the same time a resource.
SHOPPING CARTS CHAPTER 19. E-COMMERCE Typically, an e-commerce site will have public pages and admin pages.
COMP3121 E-Commerce Technologies Richard Henson University of Worcester November 2011.
GSA Federal Supply Service VITM Virtual IT Marketplace
Chapter 8 Cookies And Security JavaScript, Third Edition.
1 OPOL Training (OrderPro Online) Prepared by Christina Van Metre Independent Educational Consultant CTO, Business Development Team © Training Version.
Web Scripting [PHP] CIS166AE Wednesdays 6:00pm – 9:50pm Rob Loy.
SYST Web Technologies SYST Web Technologies Databases & MySQL.
Retail Training Manuel 2 Overview  One stop, secure, and easy-to-use web-based tool that incorporates rate, quote, and bind functions  Enables agents.
ASP.NET Event Handlers Database -> Browser ->Shopping Basket Validators.
Top Five Web Application Vulnerabilities Vebjørn Moen Selmersenteret/NoWires.org Norsk Kryptoseminar Trondheim
11 Using ADO.NET II Textbook Chapter Getting Started Last class we started a simple example of using ADO.NET operations to access the Addresses.
CSCI 6962: Server-side Design and Programming Database Manipulation in ASP.
Chapter 9 Session Tracking. Session Tracking Basics Accessing the session object associated with the current request: Call request.getSession to get an.
Dynamic Dropdown Lists 1. Objectives You will be able to Use Dropdown Lists to solicit multiple choice user input in an ASPX web page. Populate a Dropdown.
By: Rick Varella, Cuong Nguyen, & Henry Giathi. What is Books Zen Books? Books Zen Books is an e-commerce web application designed to allow students to.
Plan Design Analyze Develop Test Implement Maintain Systems Development Life Cycle eBookSharing.
Mark Lertvat (Speaker) Mike Jurney Andrew Levine Evan Davis.
1 Resperate Order Process Analysis & Recommendations. October 2006 Version 1.
1 CS 3870/CS 5870: Note05 Prog3 Web Application with Database.
Confidential Web Ordering Overview. Confidential LOG ON:   Enter your login name &
CSCI 6962: Server-side Design and Programming JSF DataTables and Shopping Carts.
CSCI 4230 Homework #3 Group Three Samer Al Jefri * Kevin Odom * David Hood * JD * Phil.
Mr. Justin “JET” Turner CSCI 3000 – Fall 2015 CRN Section A – TR 9:30-10:45 CRN – Section B – TR 5:30-6:45.
Post-Newsweek Training: WebScan March Training Agenda Order Entry Best practices New Features Upcoming Features.
Online Catalog Tutorial. Introduction Welcome to the Online Catalog Tutorial. This is the place to find answers to all of your online shopping questions.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 User Input Validating.
 Shopping Basket  Stages to maintain shopping basket in framework  Viewing Shopping Basket.
8 Chapter Eight Server-side Scripts. 8 Chapter Objectives Create dynamic Web pages that retrieve and display database data using Active Server Pages Process.
 Pages within our Framework  Categories within Framework  Products within Framework  Model-View-Controller description of Page, category and products.
Jadu XForms Training session. Log into Jadu For training purposes, we will use our training server so we don’t break anything on the live site. Go to.
ASSIGNMENT 2 Salim Malakouti. Ticketing Website  User submits tickets  Admins answer tickets or take appropriate actions.
Navigation: If the tutorial opens up in your web browser, simply click your mouse to advance to the next slide. Use the “Backspace”
Complete Ordering System for Promotional Literature and Samples Quick Reference and Training Guide.
Securing Web Applications Lesson 4B / Slide 1 of 34 J2EE Web Components Pre-assessment Questions 1. Identify the correct return type returned by the doStartTag()
“Discovering institutions that work for poor people” APPP Sharepoint training 30 July – 1 August 2008: CDD, Accra, Ghana “Discovering institutions that.
Introduction to Database C# MySQL onnect-C-to-MySQL 1.
Document Module Features Streamlines the control, routing and revision process for critical documents and records Controls documents in any format (Excel,
Fab25 User Training Cerium Labs LabCollector - LIMS Lynette Ballast.
iShop Training Module Secured Browsing
Bulk update E. Camelback Road #559, Phoenix, AZ Phone: Fax:
Checkout and Electronic Payment Processing
Getting started on informaworld™
E-commerce Applications Development
Welcome to WebCRD.
Grocery Store Outline csc242 – web programming.
Presentation transcript:

CSCI 4230 Homework #3 Group Three Samer Al Jefri * Kevin Odom * David Hood * JD Wells * Philippe Gambling

Agenda 1.Site Walkthrough 2.User Interface Design 3.Site Requirements & Code Implementation 4.Collaboration & Development Tools 5.Conclusion – Q&A

Samer Al Jefri User Sign-in Validation Ordering a book Order Lookup Site Demonstration

JD Wells User Interface and Page Styling

Kevin Odom Sign-in Page * Details Page * Shipping Page * Input Validation

Sign-in Page Sign-in Components Use Valid Address Store Info In Session Initiate Shopping Session Return To Previous Page

Input Field Validation Controls <asp:RegularExpressionValidator ID="loginRegExValidator" runat="server" ControlToValidate="txtUserName" ErrorMessage="Please, enter a valid address." /> Submission Button

protected void cmdLogin_Click(object sender, EventArgs e) { //Clear session for new user Session.Clear(); //Save the user id to the Session Session["userID"] = txtUserName.Text; // Goto default page unless a different path is requested string path = "Default.aspx"; if (Request.Params["returnTo"] != null) { path = Request.Params["returnTo"]; } Response.Redirect(path); }

Details Page Detail Components Receive ISBN Display the following: Title Author Price Publication Date Description

Database Connection <asp:SqlDataSource ID="BookDetails" runat="server" ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\db.mdb;Persist Security Info=False" ProviderName="System.Data.OleDb" SelectCommand="SELECT * FROM [Books] WHERE ([ISBN] = ?)">

Shipping Page Shipping Components Remove Leading & Trailing Whitespace Reject Invalid Characters From Input Ensure Input Length is Reasonable Use Server-side Code For Field Validation

Input Field Validation Controls <asp:RequiredFieldValidator ID="nameRequiredFieldValidator" runat="server" ErrorMessage="Required“ ControlToValidate="txtName“ Display="Dynamic"/> <asp:RegularExpressionValidator ID="nameRegExValidator" runat="server" ErrorMessage="Please only enter letters, numbers, spaces, or periods." ControlToValidate="txtName“ ValidationExpression="\s*[a-zA-Z\s\.]+\s*" Display="Dynamic" /> <asp:RegularExpressionValidator ID="nameRegExFirstLast" runat="server" Display="Dynamic" ErrorMessage="Please enter a first and last name, no middle names" ControlToValidate="txtName“ ValidationExpression="\s*[A-Za-z]+\s+[A-Za-z]+\s*" />

<asp:RegularExpressionValidator ID="street1RegExValidator" runat="server" ErrorMessage="Please enter a street number and name“ ControlToValidate="txtStreet1“ ValidationExpression="^\d+\s+[A-Za-z\s\.]+“ Display="Dynamic" /> <asp:RequiredFieldValidator ID="zipRequiredFieldValidator" runat="server“ ErrorMessage="Required“ ControlToValidate="txtZip“ Display="Dynamic" /> <asp:RegularExpressionValidator ID="zipRegExValidator" runat="server" ErrorMessage="Please enter in the form of #####.“ ControlToValidate="txtZip“ ValidationExpression="^\d{5}\s*$“ Display="Dynamic" />

protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { Page.Form.DefaultFocus = txtName.ClientID; Page.Form.DefaultButton = cmdShipFormSubmit.UniqueID; // Populate fields with existing shipping info if (Session["ShippingData"] != null) { ShippingData shipping = (ShippingData)Session["ShippingData"]; txtName.Text = shipping.FullName; txtStreet1.Text = shipping.Street1; txtStreet2.Text = shipping.Street2; txtCity.Text = shipping.City; ddState.SelectedValue = shipping.State; txtZip.Text = shipping.Zip; }}}

protected void cmdShipFormSubmit_Click(object sender, EventArgs e) { //check for valid page if (!Page.IsValid) { return; } ShippingData shipping = new ShippingData(); shipping.FullName = txtName.Text.ToString(); shipping.Street1 = txtStreet1.Text.ToString(); shipping.Street2 = txtStreet2.Text.ToString(); shipping.City = txtCity.Text.ToString(); shipping.State = ddState.SelectedValue.ToString(); shipping.Zip = txtZip.Text.ToString(); Session["ShippingData"] = shipping; Response.Redirect("Checkout.aspx"); }

Invalid Submission

David Hood Default Page * Shopping Cart * CartData class

The CartData Class Static Methods –getCartFromSession() –saveCartToSession() Public Methods –addItem() –removeItem() –reset() –setQuantity() –getTotal() –exists() –getCartTable()

Default Page User Not Logged In User Logged in

Default Page Login Restriction Returns Boolean value indicating if user is logged in.

Default Page Adding an item to the cart

The Shopping Cart

Cart GridView control binding

Philippe Gambling Checkout Page * Collaboration tools

Checkout - Features Ensures user entered shipping information and has items in shopping cart. Creates new order record in the database. Clears shopping cart data. Passes the new order id to the Thank You page.

Checkout - Features A user who tries to checkout with an empty shopping cart only has the options to “Continue Shopping” or “Edit Address”

Checkout - Code Examples from Page_Load function for Checkout.aspx Redirecting user to sign-in page or shipping form: if (!Master.CheckLogin()) { Server.Transfer("Login.aspx?returnTo=Checkout.aspx"); } else if (Session["ShippingData"] == null) { // Get shipping info first if not already in session Server.Transfer("Shipping.aspx"); } Used GridView control to display order contents: <asp:GridView ID="cartGridView" runat="server" AutoGenerateColumns="False" EmptyDataText="Your shopping cart is empty. Please select some items before placing your order." CssClass="table"> –GridView DataSource set in Page_Load: cartGridView.DataSource = this.cart.getCartTable(); Hiding specific checkout elements if the shopping cart is empty: // Allow the user to see total price, edit cart, and place order if the cart isn't empty. bool completeOrder = cartGridView.Rows.Count > 0; lblLabelTotal.Visible = completeOrder; lblTotal.Visible = completeOrder; cmdEditCart.Visible = completeOrder; cmdPlaceOrder.Visible = completeOrder;

Checkout – New Order Record private int createOrderInDB(string userId, ShippingData address) { // Define DB objects string connectionString = ConfigurationManager.ConnectionStrings["BooksDataSet"].ConnectionString; string insertSQL = "INSERT INTO Orders ("; insertSQL += "UserName, FirstName, LastName, Address, Address2,"; insertSQL += "City, State, Zip, TransactionDate)"; insertSQL += "VALUES ("; @TransactionDate)"; OleDbConnection conn = new OleDbConnection(connectionString); OleDbCommand cmd = new OleDbCommand(insertSQL, conn); userId); /* OMIITTED SEVERAL cmd.Parameters.AddWithValue for brevity */ DateTime.Now.Date); int orderId = 0; try { conn.Open(); cmd.ExecuteNonQuery(); cmd.CommandText = "SELECT // Get the new OrderID orderId = (int)cmd.ExecuteScalar(); } catch (Exception err) { lblStatus.Text = "Error creating order record."; lblStatus.Text += err.Message; } finally { conn.Close(); } return orderId; }

Collaboration Tools

Yahoo Discussion Board Created a “CSCI4230_Group3” board on Yahoo groups. Allowed the team to meet virtually outside of class. Tracked team ideas, questions, and concerns.

Google Code Project Hosting Created a project on Google Code. Google provides free hosting for open source projects Services Include: –Version control via Subversion (SVN) –Issue Tracking –Wiki Pages –Source code browsing –Downloads page Our team primarily used the version control and issue tracking features. See for more information.

Team Workflow 1.Discussed tasks on Yahoo board. 2.Used Subversion to share files and updates. –SVN workflow: check out->modify->update->commit –Team can work on all files concurrently. SVN merges all the file updates for you. 3.Published files to DCM server. –SVN always has the latest files, so we could safely overwrite anything on DCM.

Conclusion

Thank you! Questions?