Web Application
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
- 2300 on Lesson 40
- Points
- 125 points
- Submission
- Canvas
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 Canvas:
- 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 |