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
125 points
Submission
the Learning Management System (LMS)

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.

Ethics and Social Issues

Reflecting on your project, identify ethical and social issues associated with the application. For example, what privacy concerns exist, what regulations govern the use of the data, and what protection mechanisms should be used to safeguard the data? Discuss these issues, being sure to provide specific policies, data protection mechanisms, etc.

Your response should be 250–500 words total. Note that grading is not based on whether or not you have addressed these issues in your application – e.g., full compliance with the General Data Protection Regulation (GDPR) can be complex and outside the scope of a class project, but you should be able to articulate compliance issues that must be addressed.

Submission

Submit the following using the Learning Management System (LMS):

  • an archive of your website,
  • 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 (DBCS) as long as that dump is readable by someone who is familiar with SQL),
  • any presentation materials used for the in-class demo (e.g., slides), and
  • the analysis of social and ethical issues related to your project.

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 25
Security 20
Functionality 50
Alignment with proposal 20
Ethics and Social Issues 10

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  
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
Ethics and Social Issues Identifies all relevant issues, including specific policies and protection mechanisms Identifies most issues, including specific policies and protections Identifies some issues, including specific policies and protections Identifies some issues, but only at a high level Identifies at least one relevant issue