The web application is the final deliverable for the project. At this point, you’ll populate your database with representative (or real-world) data and integrate your website to create a fully-functional web application.

Although minor deviations from your proposal are expected, significant changes – such as reducing functionality – require review and approval from the instructor.

Expected duration
10 hours
Deadline
2359 on Lesson 40
Points
75 points

Learning Objectives

  • Generate representative data and populate your database
  • Construct a web application that combines your database and website

Help Policy

Authorized Resources
Any, except classmates working on other teams
Notes
Never copy another person’s work and submit it as your own.

You must document all help received from all sources, including the instructor and instructor-provided course materials (such as the textbook).

Assignment

Complete your web application so that it provides the functionality described in your proposal. At this point, your database should be fully populated with representative information with the web application providing a way for users to interact with that database.

You must create a file that contains the SQL commands to create your database (i.e., all the tables) and to populate it with data. Prior to grading, this file will be executed to ensure that the machine used for testing is configured appropriately for your web application – that is, the database exists and contains representative data such as that shown in your project demonstration. This file must have an extension of .sql and be named after your application. For example, if the name of your project is the unimaginative “awesome-project,” then the file name should be awesome-project.sql. See the REST API exercises for an example of such a database script.

Submission

Create an archive of your website and submit that archive using Canvas. In addition, submit a file that contains the SQL commands to (re)create your database; this file may be “hand written” SQL commands or a “dump” created by the database management system (DBMS) as long as that dump is readable by someone who is familiar with SQL. Include your documentation statement with your submission.

You must schedule a half-hour block to demonstrate your website to the instructor within one week of the due date. Please schedule your demonstration as early as possible to facilitate the timely submission of final grades. Expect to exercise all aspects of the application’s functionality during this presentation.

Grading

The following grading rubric will be used for this assignment:

Description Points
In-class demo 5
Database schema 10
Representative data 10
Security 10
Functionality 25
Alignment with proposal 15

Failure to schedule a demonstration with the instructor will incur a 20% penalty!

More detail for each component is as follows:

Criteria Superb (100%) Proficient (90%) Competent (75%) Marginal (50%) Unsatisfactory (25%)
In-class demo Engages audience, provides an overview of key functionality Provides overview of key functionality Provides overview of some, but not all functionality; delivery may be “flat” Limited overview, unenthusiastic  
Database schema Implements schema correctly in SQL Implements schema correctly but with minor deviations Implements schema but with a major deviation Implements schema but with multiple major deviations Implements a portion of the schema
Representative data Substantial amount of representative data for all database tables Sufficient data to demonstrate functionality; includes most, but not necessarily all, of the database tables Sufficient data to demonstrate functionality Data limited to some portions of the database schema Data extremely limited or non-existent
Web security No issues, all inputs handled correctly Minor issues, but no obvious vulnerabilities Major issue, such as an SQL or XSS vulnerability Multiple major issues, including exploitable vulnerabilities No security controls present
Functionality No issues, commensurate with a professional website Minor issue, such as UI challenges Multiple minor issues Major issue, such as an inability to complete CRUD operations for some data Multiple major issues
Alignment with proposal Provides all functionality described in proposal Minor deviation from proposal Multiple minor deviations from proposal Major deviation from proposal Multiple major deviations from proposal