School of Electrical Engineering and Computing
INFT3050 – Web Programming
e-Commerce Shop Front Web Application
Database Design and Implementation; User Layer Analysis, Design and Implementation; Validation; and Session Variables.
Due 11:59pm Friday the 13th of September, Semester 2, 2019.
This assignment is worth 40% of the course assessment.
This assignment can be completed individually or in groups of 2-3.
The INFT3050 course is essentially about Web Applications and their supporting infrastructure and technologies facilitating their operation. Web applications come in many formats but unique to their appeal is the ability to run “anywhere” on “anything” as long as there is an Internet/Intranet connection and some form of web browser on the device being used. Perhaps the two most common web applications are those serving as an online shop (eCommerce functionality), and more recently the increasing variety of social media ‘Apps’ (Facebook, Twitter, Instagram, SnapChat, etc).
In a more generalised employment focus for new graduates, more often than not target skill sets gravitate towards Web Applications of a more business-orientated nature. Therefore, the core practical Assignment for INFT3050 will be the implementation of an eCommerce website with content/context decided by the student. The technological architecture, supporting software development tools and DB storage will be determined for you, consistent with being a first time employee in an organisation.
The Assignment consists of TWO parts, the second building upon the first. The focus of the PART 1 being on the Database to support the application and the User Interface (Layer). Part 2 of Assignment 2 focusses on the Business Logic (Layer) to make the Web Application functional and the Data Access Layer needed to send and retrieve information to the backend Database. The final total Assignment will hopefully be a fully functioning n-tier Web Application representing an Online Shop Front selling products/items determined within ‘reason’ by the student.
II. Part 1 – Overview
Like the assignment that consists of two parts this Part 1 of the assignment has two major components. In suggested order of design and consideration, Component 1 is the User Interface. From the User interface, you should be able to derive most of the data requirements to support the functionality of the web application. As such, you can then design Database that will be the Data Layer component of the final Web Application and represents Component 2 of this Assignment Part 1. PLEASE NOTE, Part 1 of the Assignment is NOT to connect to the Database. Connection to the database will be implemented through the Data Access Layer, which is in Part 2 of the Assignment.
The overall web application will use an n-tier/n-layer architecture. In the Assignments instance, this will involve 3 tiers (the user browser tier, the web server tier, and database server tier) and 4 layers. Part 1 of the assignment is the User Layer (UL) and the Data Layer (DL). Part 2 of the assignment is the Business Layer (BL) and the Data Access Layer (DAL). While some of you may already be familiar with other web application architectures such as MVC, this is assignment is TO BE IMPLEMENTED as an n-tier application. Having all assignments, use the same architecture ensures consistency across the marking guide and natural progression through the different parts of the assignment. The n-tier architecture also lends itself more readily to group work, and allows separation of tasks more readily.
The technologies defined in the next section are provided to you, and are the only ones to be used for this Assignment. As such, your Assignment project should be structured to reflect the n-tier architecture through the correct directory and project format, with each ‘folder’ representing one of the top three layers of the Application. For example, the final solution should at least have a UL, BL, and DAL folder where the respective code files are located. The DL is the actual DB that will be stored in a Relation Data Base Management System (RDBMS) and connected through a connection string in the Application configuration. Note YOU CONNECT TO THE DB system NOT TO A DB FILE.
The IDE (Integrated Development Environment) you will be using is Microsoft Visual Studio. You will need to start by creating an ‘Empty’ web application for the whole Assignment. Do not use the integrated Administration/Security controls option.
The RDMS (Relational Database Management System) will be Microsoft SQL Server. You will need to create a database and the export to a SQL Script file for submission.
You will be coding in the C#.Net language for the code behind, Business Layer, and Data Access Layer files.
You will be using ASP.Net to build the web application user-interface pages. These have an .aspx extension and will be used to populate the User Layer.
The application target is either/both normal large screen devices (such as desktop and laptop computers) and small screen devices (such as Mobile phones and Tablets).
You have the choice over what type of product/items/things you will sell through your web application within reason.
You can emulate Payment methods through a simple Credit Card form or a PayPal process. YOU ARE NOT required to take payments or connect to a payment gateway (bank or PayPal). Just simulate the payment process through use of a shopping cart.
This is to be a 3-tier/4 layer web application using Microsoft Technologies.
You will need both a “User” section for them to purchase items, and an “Administration” section to update product inventory, add/modify/disable products, and other Admin functions needed to support a typical eCommerce shop front web application.
As it is user based, you will be required to maintain user accounts and details.
So a basic and minimum list of ‘pages’ (this does not include all possible pages):
o A registration page
o A login page
o A main page with menu system
o A logout page
o A page to search for products.
o A page to add/buy products by placing them in a shopping cart.
o A shopping cart set of pages.
o A payment page and confirmation of sale.
o A purchase history page.
o A Contact page.
o An About page.
o Admin: A page to manage items (insert, update, select).
o Admin: Note you will also need a field to add or provide multiple postage options.
o Admin: A registration page with higher-level verification (email).
o Admin: A login page.
o Admin: A page to manage user accounts (suspend, view transactions, activate if suspended).
The Business Layer and Logic will be implemented in Assignment 1 – Part 2.
The user interface is to be designed and developed in this assignment along with the database. Images and branding is to be sourced (referenced) or created by the student(s).
As a place to start, reference and review the numerous eCommerce store front web applications on the Internet. For example, the core functionalities of Amazon, Fishpond, Nike.com.au, Eastbay, Tactics, and even online grocery shopping such as Woolworths.
As stated the items/products/things you web application sells is your choice. Along with the design, name, and branding of your application.
III. Assignment 1 – Part 1 Project Requirements
Below are the basic project requirements:
- The design and development of a number of Microsoft ASP.Net pages (*.aspx)
- The design and development of a consistent and intuitive logical layout.
- The design and development of a consistent ‘look and feel’ to the layout.
- A supporting document that provides evidence of your research into the background documents and a detailed explanation to support your design and layout decisions.
- Encode all necessary Validation into the pages.
- Provide in code comments for all pages.
- Design and Implementation of a supporting MS SQL Server Database.
- Use of Session variables to maintain state throughout the application.
IV. Knowledge that you need to have and Preliminary Steps
In order to successfully develop the set of assignments you need to at least have the following knowledge:
Microsoft SQL Server and T-SQL
N-tier web architecture and n-layer web applications.
V. Assignment 1 – Part 1 Tasks, Tables, and Deliverables
The key deliverables for Assignment 1 are:
1) All User Layer pages (.aspx and code behind .c pages) and supporting other technologies (such as style sheets, script files, etc).
2) User Layer supporting documentation that includes a simple storey board of the site, references for any images used not created by yourself, a list of group members, and any other details needed to be able to mark your assignment.
3) An SQL script file that contains the whole database you have designed and created to support your web application (it is expected that the database may evolve and change during Part 2 of the Assignment).
4) The supporting documentation for the Database. This includes at a minimum an ER Diagram (Chen or Crows Foot), a Data Dictionary, and Normalisation diagrams.
THERE IS NO NEED FOR THESE PAGES TO CONNECT TO THE DATABASE. THESE PAGES ARE ONLY THE USER LAYER. NO DYNAMIC DATA INTERATION FROM THE DATABASE IS REQURIED.
THIS IS NOT a graphic and visual design assessment. Marks WILL BE awarded for the logical elements of the design such as functional layout, ease of use, flow and consistency of the menu and page styles, and ease of navigation. Marks will NOT BE awarded for how ‘good it looks’ from a purely graphic design perspective.
VI. Submission Procedures
You will need to deliver the following items for marking:
A. A complete directory and project of all of the User Layer files. This involves finding the correct Visual Studio Solution and Project Directory and all of its associated files.
B. The words documents in which your supporting material for the User Layer and Database design and development are included.
C. You must submit all of your files in a ZIP/RAR file called “CXXXXXXX_Assig1.zip” (or if in a team the student number will be of the person submitting the assignment, only 1 copy per group).
D. A cover page with the name’s and student numbers of all group members.
NOTE: A full marking guide/rubric is also provided to guide you in this Assignment undertaking. It is on Blackboard.